From 7433bc2714ee97d97a4de5702bf99a055c464cef Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Thu, 9 Feb 2017 10:56:59 -0500 Subject: [PATCH] Update to CLDR v30.0.3 - Regenerated locale data from v30.0.3 CLDR data - Added negative year check for FmtDataXXX functions with 4 digit years - update ru_RU test to handle change of short date format from v29 dd.MM.yy to v30 dd.MM.y --- README.md | 80 +-- af/af.go | 94 +-- af_NA/af_NA.go | 94 +-- af_ZA/af_ZA.go | 94 +-- agq/agq.go | 32 +- agq_CM/agq_CM.go | 32 +- ak/ak.go | 26 +- ak_GH/ak_GH.go | 26 +- am/am.go | 34 +- am_ET/am_ET.go | 34 +- ar/ar.go | 95 +-- ar_001/ar_001.go | 95 +-- ar_AE/ar_AE.go | 95 +-- ar_BH/ar_BH.go | 95 +-- ar_DJ/ar_DJ.go | 95 +-- ar_DZ/ar_DZ.go | 95 +-- ar_EG/ar_EG.go | 95 +-- ar_EH/ar_EH.go | 95 +-- ar_ER/ar_ER.go | 95 +-- ar_IL/ar_IL.go | 95 +-- ar_IQ/ar_IQ.go | 95 +-- ar_JO/ar_JO.go | 95 +-- ar_KM/ar_KM.go | 95 +-- ar_KW/ar_KW.go | 95 +-- ar_LB/ar_LB.go | 95 +-- ar_LY/ar_LY.go | 99 +-- ar_MA/ar_MA.go | 95 +-- ar_MR/ar_MR.go | 95 +-- ar_OM/ar_OM.go | 95 +-- ar_PS/ar_PS.go | 95 +-- ar_QA/ar_QA.go | 95 +-- ar_SA/ar_SA.go | 97 +-- ar_SD/ar_SD.go | 95 +-- ar_SO/ar_SO.go | 93 +-- ar_SS/ar_SS.go | 95 +-- ar_SY/ar_SY.go | 95 +-- ar_TD/ar_TD.go | 95 +-- ar_TN/ar_TN.go | 95 +-- ar_YE/ar_YE.go | 95 +-- as/as.go | 32 +- as_IN/as_IN.go | 32 +- asa/asa.go | 32 +- asa_TZ/asa_TZ.go | 32 +- ast/ast.go | 33 +- ast_ES/ast_ES.go | 33 +- az/az.go | 32 +- az_Cyrl/az_Cyrl.go | 54 +- az_Cyrl_AZ/az_Cyrl_AZ.go | 30 +- az_Latn/az_Latn.go | 30 +- az_Latn_AZ/az_Latn_AZ.go | 32 +- bas/bas.go | 32 +- bas_CM/bas_CM.go | 32 +- be/be.go | 143 ++-- be_BY/be_BY.go | 143 ++-- bem/bem.go | 32 +- bem_ZM/bem_ZM.go | 32 +- bez/bez.go | 32 +- bez_TZ/bez_TZ.go | 32 +- bg/bg.go | 66 +- bg_BG/bg_BG.go | 66 +- bm/bm.go | 32 +- bm_ML/bm_ML.go | 32 +- bn/bn.go | 134 ++-- bn_BD/bn_BD.go | 134 ++-- bn_IN/bn_IN.go | 134 ++-- bo/bo.go | 33 +- bo_CN/bo_CN.go | 33 +- bo_IN/bo_IN.go | 33 +- br/br.go | 150 +++- br_FR/br_FR.go | 148 +++- brx/brx.go | 25 +- brx_IN/brx_IN.go | 25 +- bs/bs.go | 67 +- bs_Cyrl/bs_Cyrl.go | 28 +- bs_Cyrl_BA/bs_Cyrl_BA.go | 65 +- bs_Latn/bs_Latn.go | 67 +- bs_Latn_BA/bs_Latn_BA.go | 65 +- ca/ca.go | 27 +- ca_AD/ca_AD.go | 27 +- ca_ES/ca_ES.go | 27 +- ca_ES_VALENCIA/ca_ES_VALENCIA.go | 27 +- ca_FR/ca_FR.go | 27 +- ca_IT/ca_IT.go | 27 +- ce/ce.go | 4 +- ce_RU/ce_RU.go | 4 +- cgg/cgg.go | 32 +- cgg_UG/cgg_UG.go | 32 +- chr/chr.go | 31 +- chr_US/chr_US.go | 31 +- ckb/ckb.go | 347 +++++++-- ckb_IQ/ckb_IQ.go | 347 +++++++-- ckb_IR/ckb_IR.go | 347 +++++++-- cmd/generate_resources.go | 10 +- cs/cs.go | 25 +- cs_CZ/cs_CZ.go | 25 +- cu/cu.go | 35 +- cu_RU/cu_RU.go | 35 +- currency/currency.go | 1 + cy/cy.go | 31 +- cy_GB/cy_GB.go | 31 +- da/da.go | 32 +- da_DK/da_DK.go | 32 +- da_GL/da_GL.go | 32 +- dav/dav.go | 32 +- dav_KE/dav_KE.go | 32 +- de/de.go | 25 +- de_AT/de_AT.go | 25 +- de_BE/de_BE.go | 25 +- de_CH/de_CH.go | 25 +- de_DE/de_DE.go | 25 +- de_IT/de_IT.go | 614 ++++++++++++++++ de_IT/de_IT_test.go | 1120 ++++++++++++++++++++++++++++++ de_LI/de_LI.go | 25 +- de_LU/de_LU.go | 27 +- dje/dje.go | 32 +- dje_NE/dje_NE.go | 32 +- dsb/dsb.go | 25 +- dsb_DE/dsb_DE.go | 25 +- dua/dua.go | 32 +- dua_CM/dua_CM.go | 32 +- dyo/dyo.go | 32 +- dyo_SN/dyo_SN.go | 32 +- dz/dz.go | 35 +- dz_BT/dz_BT.go | 35 +- ebu/ebu.go | 32 +- ebu_KE/ebu_KE.go | 32 +- ee/ee.go | 25 +- ee_GH/ee_GH.go | 25 +- ee_TG/ee_TG.go | 25 +- el/el.go | 25 +- el_CY/el_CY.go | 25 +- el_GR/el_GR.go | 25 +- en/en.go | 27 +- en_001/en_001.go | 32 +- en_150/en_150.go | 27 +- en_AG/en_AG.go | 27 +- en_AI/en_AI.go | 27 +- en_AS/en_AS.go | 25 +- en_AT/en_AT.go | 25 +- en_AU/en_AU.go | 29 +- en_BB/en_BB.go | 25 +- en_BE/en_BE.go | 25 +- en_BI/en_BI.go | 27 +- en_BM/en_BM.go | 25 +- en_BS/en_BS.go | 25 +- en_BW/en_BW.go | 87 +-- en_BZ/en_BZ.go | 25 +- en_CA/en_CA.go | 32 +- en_CC/en_CC.go | 25 +- en_CH/en_CH.go | 25 +- en_CK/en_CK.go | 25 +- en_CM/en_CM.go | 25 +- en_CX/en_CX.go | 27 +- en_CY/en_CY.go | 25 +- en_DE/en_DE.go | 25 +- en_DG/en_DG.go | 25 +- en_DK/en_DK.go | 25 +- en_DM/en_DM.go | 25 +- en_ER/en_ER.go | 25 +- en_FI/en_FI.go | 25 +- en_FJ/en_FJ.go | 25 +- en_FK/en_FK.go | 27 +- en_FM/en_FM.go | 25 +- en_GB/en_GB.go | 27 +- en_GD/en_GD.go | 25 +- en_GG/en_GG.go | 27 +- en_GH/en_GH.go | 27 +- en_GI/en_GI.go | 27 +- en_GM/en_GM.go | 25 +- en_GU/en_GU.go | 25 +- en_GY/en_GY.go | 25 +- en_HK/en_HK.go | 34 +- en_IE/en_IE.go | 27 +- en_IL/en_IL.go | 27 +- en_IM/en_IM.go | 25 +- en_IN/en_IN.go | 25 +- en_IO/en_IO.go | 27 +- en_JE/en_JE.go | 25 +- en_JM/en_JM.go | 25 +- en_KE/en_KE.go | 27 +- en_KI/en_KI.go | 25 +- en_KN/en_KN.go | 25 +- en_KY/en_KY.go | 25 +- en_LC/en_LC.go | 25 +- en_LR/en_LR.go | 25 +- en_LS/en_LS.go | 25 +- en_MG/en_MG.go | 25 +- en_MH/en_MH.go | 25 +- en_MO/en_MO.go | 25 +- en_MP/en_MP.go | 25 +- en_MS/en_MS.go | 25 +- en_MT/en_MT.go | 27 +- en_MU/en_MU.go | 25 +- en_MW/en_MW.go | 25 +- en_MY/en_MY.go | 25 +- en_NA/en_NA.go | 25 +- en_NF/en_NF.go | 25 +- en_NG/en_NG.go | 25 +- en_NL/en_NL.go | 25 +- en_NR/en_NR.go | 25 +- en_NU/en_NU.go | 25 +- en_NZ/en_NZ.go | 25 +- en_PG/en_PG.go | 25 +- en_PH/en_PH.go | 27 +- en_PK/en_PK.go | 27 +- en_PN/en_PN.go | 25 +- en_PR/en_PR.go | 25 +- en_PW/en_PW.go | 25 +- en_RW/en_RW.go | 25 +- en_SB/en_SB.go | 25 +- en_SC/en_SC.go | 25 +- en_SD/en_SD.go | 25 +- en_SE/en_SE.go | 32 +- en_SG/en_SG.go | 27 +- en_SH/en_SH.go | 25 +- en_SI/en_SI.go | 25 +- en_SL/en_SL.go | 25 +- en_SS/en_SS.go | 25 +- en_SX/en_SX.go | 25 +- en_SZ/en_SZ.go | 25 +- en_TC/en_TC.go | 25 +- en_TK/en_TK.go | 25 +- en_TO/en_TO.go | 25 +- en_TT/en_TT.go | 25 +- en_TV/en_TV.go | 25 +- en_TZ/en_TZ.go | 25 +- en_UG/en_UG.go | 25 +- en_UM/en_UM.go | 25 +- en_US/en_US.go | 25 +- en_US_POSIX/en_US_POSIX.go | 27 +- en_VC/en_VC.go | 25 +- en_VG/en_VG.go | 25 +- en_VI/en_VI.go | 27 +- en_VU/en_VU.go | 27 +- en_WS/en_WS.go | 27 +- en_ZA/en_ZA.go | 94 +-- en_ZM/en_ZM.go | 25 +- en_ZW/en_ZW.go | 94 +-- eo/eo.go | 25 +- eo_001/eo_001.go | 25 +- es/es.go | 25 +- es_419/es_419.go | 27 +- es_AR/es_AR.go | 33 +- es_BO/es_BO.go | 26 +- es_BR/es_BR.go | 25 +- es_CL/es_CL.go | 25 +- es_CO/es_CO.go | 27 +- es_CR/es_CR.go | 25 +- es_CU/es_CU.go | 25 +- es_DO/es_DO.go | 27 +- es_EA/es_EA.go | 25 +- es_EC/es_EC.go | 25 +- es_ES/es_ES.go | 25 +- es_GQ/es_GQ.go | 25 +- es_GT/es_GT.go | 25 +- es_HN/es_HN.go | 25 +- es_IC/es_IC.go | 25 +- es_MX/es_MX.go | 27 +- es_NI/es_NI.go | 25 +- es_PA/es_PA.go | 29 +- es_PE/es_PE.go | 25 +- es_PH/es_PH.go | 25 +- es_PR/es_PR.go | 25 +- es_PY/es_PY.go | 27 +- es_SV/es_SV.go | 25 +- es_US/es_US.go | 29 +- es_UY/es_UY.go | 25 +- es_VE/es_VE.go | 27 +- et/et.go | 49 +- et_EE/et_EE.go | 49 +- eu/eu.go | 45 +- eu_ES/eu_ES.go | 45 +- ewo/ewo.go | 32 +- ewo_CM/ewo_CM.go | 32 +- fa/fa.go | 36 +- fa_AF/fa_AF.go | 50 +- fa_IR/fa_IR.go | 36 +- ff/ff.go | 32 +- ff_CM/ff_CM.go | 32 +- ff_GN/ff_GN.go | 32 +- ff_MR/ff_MR.go | 32 +- ff_SN/ff_SN.go | 32 +- fi/fi.go | 36 +- fi_FI/fi_FI.go | 36 +- fil/fil.go | 25 +- fil_PH/fil_PH.go | 25 +- fo/fo.go | 25 +- fo_DK/fo_DK.go | 25 +- fo_FO/fo_FO.go | 25 +- fr/fr.go | 32 +- fr_BE/fr_BE.go | 45 +- fr_BF/fr_BF.go | 32 +- fr_BI/fr_BI.go | 32 +- fr_BJ/fr_BJ.go | 32 +- fr_BL/fr_BL.go | 32 +- fr_CA/fr_CA.go | 40 +- fr_CD/fr_CD.go | 34 +- fr_CF/fr_CF.go | 32 +- fr_CG/fr_CG.go | 32 +- fr_CH/fr_CH.go | 31 +- fr_CI/fr_CI.go | 32 +- fr_CM/fr_CM.go | 38 +- fr_DJ/fr_DJ.go | 32 +- fr_DZ/fr_DZ.go | 32 +- fr_FR/fr_FR.go | 32 +- fr_GA/fr_GA.go | 32 +- fr_GF/fr_GF.go | 32 +- fr_GN/fr_GN.go | 32 +- fr_GP/fr_GP.go | 32 +- fr_GQ/fr_GQ.go | 32 +- fr_HT/fr_HT.go | 34 +- fr_KM/fr_KM.go | 32 +- fr_LU/fr_LU.go | 32 +- fr_MA/fr_MA.go | 32 +- fr_MC/fr_MC.go | 32 +- fr_MF/fr_MF.go | 32 +- fr_MG/fr_MG.go | 32 +- fr_ML/fr_ML.go | 32 +- fr_MQ/fr_MQ.go | 32 +- fr_MR/fr_MR.go | 32 +- fr_MU/fr_MU.go | 32 +- fr_NC/fr_NC.go | 32 +- fr_NE/fr_NE.go | 32 +- fr_PF/fr_PF.go | 32 +- fr_PM/fr_PM.go | 32 +- fr_RE/fr_RE.go | 36 +- fr_RW/fr_RW.go | 32 +- fr_SC/fr_SC.go | 32 +- fr_SN/fr_SN.go | 36 +- fr_SY/fr_SY.go | 32 +- fr_TD/fr_TD.go | 32 +- fr_TG/fr_TG.go | 32 +- fr_TN/fr_TN.go | 32 +- fr_VU/fr_VU.go | 32 +- fr_WF/fr_WF.go | 32 +- fr_YT/fr_YT.go | 32 +- fur/fur.go | 25 +- fur_IT/fur_IT.go | 25 +- fy/fy.go | 31 +- fy_NL/fy_NL.go | 31 +- ga/ga.go | 75 +- ga_IE/ga_IE.go | 75 +- gd/gd.go | 32 +- gd_GB/gd_GB.go | 32 +- gl/gl.go | 60 +- gl_ES/gl_ES.go | 60 +- gsw/gsw.go | 25 +- gsw_CH/gsw_CH.go | 25 +- gsw_FR/gsw_FR.go | 25 +- gsw_LI/gsw_LI.go | 25 +- gu/gu.go | 161 ++--- gu_IN/gu_IN.go | 161 ++--- guz/guz.go | 32 +- guz_KE/guz_KE.go | 32 +- gv/gv.go | 25 +- gv_IM/gv_IM.go | 25 +- ha/ha.go | 93 +-- ha_GH/ha_GH.go | 93 +-- ha_NE/ha_NE.go | 31 +- ha_NG/ha_NG.go | 93 +-- haw/haw.go | 110 ++- haw_US/haw_US.go | 110 ++- he/he.go | 33 +- he_IL/he_IL.go | 33 +- hi/hi.go | 27 +- hi_IN/hi_IN.go | 27 +- hr/hr.go | 46 +- hr_BA/hr_BA.go | 52 +- hr_HR/hr_HR.go | 46 +- hsb/hsb.go | 25 +- hsb_DE/hsb_DE.go | 25 +- hu/hu.go | 32 +- hu_HU/hu_HU.go | 32 +- hy/hy.go | 94 ++- hy_AM/hy_AM.go | 94 ++- id/id.go | 27 +- id_ID/id_ID.go | 27 +- ig/ig.go | 290 +++++--- ig_NG/ig_NG.go | 290 +++++--- ii/ii.go | 189 ++++- ii_CN/ii_CN.go | 189 ++++- is/is.go | 32 +- is_IS/is_IS.go | 32 +- it/it.go | 27 +- it_CH/it_CH.go | 27 +- it_IT/it_IT.go | 27 +- it_SM/it_SM.go | 27 +- ja/ja.go | 32 +- ja_JP/ja_JP.go | 32 +- jgo/jgo.go | 33 +- jgo_CM/jgo_CM.go | 33 +- jmc/jmc.go | 32 +- jmc_TZ/jmc_TZ.go | 32 +- ka/ka.go | 25 +- ka_GE/ka_GE.go | 25 +- kab/kab.go | 32 +- kab_DZ/kab_DZ.go | 32 +- kam/kam.go | 32 +- kam_KE/kam_KE.go | 32 +- kde/kde.go | 32 +- kde_TZ/kde_TZ.go | 32 +- kea/kea.go | 32 +- kea_CV/kea_CV.go | 32 +- khq/khq.go | 32 +- khq_ML/khq_ML.go | 32 +- ki/ki.go | 32 +- ki_KE/ki_KE.go | 32 +- kk/kk.go | 31 +- kk_KZ/kk_KZ.go | 31 +- kkj/kkj.go | 32 +- kkj_CM/kkj_CM.go | 32 +- kl/kl.go | 58 +- kl_GL/kl_GL.go | 58 +- kln/kln.go | 32 +- kln_KE/kln_KE.go | 32 +- km/km.go | 57 +- km_KH/km_KH.go | 57 +- kn/kn.go | 139 ++-- kn_IN/kn_IN.go | 139 ++-- ko/ko.go | 25 +- ko_KP/ko_KP.go | 25 +- ko_KR/ko_KR.go | 25 +- kok/kok.go | 25 +- kok_IN/kok_IN.go | 25 +- ks/ks.go | 27 +- ks_IN/ks_IN.go | 27 +- ksb/ksb.go | 32 +- ksb_TZ/ksb_TZ.go | 32 +- ksf/ksf.go | 32 +- ksf_CM/ksf_CM.go | 32 +- ksh/ksh.go | 44 +- ksh_DE/ksh_DE.go | 44 +- kw/kw.go | 32 +- kw_GB/kw_GB.go | 32 +- ky/ky.go | 62 +- ky_KG/ky_KG.go | 62 +- lag/lag.go | 32 +- lag_TZ/lag_TZ.go | 32 +- lb/lb.go | 25 +- lb_LU/lb_LU.go | 25 +- lg/lg.go | 32 +- lg_UG/lg_UG.go | 32 +- lkt/lkt.go | 25 +- lkt_US/lkt_US.go | 25 +- ln/ln.go | 32 +- ln_AO/ln_AO.go | 32 +- ln_CD/ln_CD.go | 32 +- ln_CF/ln_CF.go | 32 +- ln_CG/ln_CG.go | 32 +- lo/lo.go | 38 +- lo_LA/lo_LA.go | 38 +- lrc/lrc.go | 32 +- lrc_IQ/lrc_IQ.go | 32 +- lrc_IR/lrc_IR.go | 32 +- lt/lt.go | 32 +- lt_LT/lt_LT.go | 32 +- lu/lu.go | 32 +- lu_CD/lu_CD.go | 32 +- luo/luo.go | 32 +- luo_KE/luo_KE.go | 32 +- luy/luy.go | 32 +- luy_KE/luy_KE.go | 32 +- lv/lv.go | 64 +- lv_LV/lv_LV.go | 62 +- mas/mas.go | 32 +- mas_KE/mas_KE.go | 32 +- mas_TZ/mas_TZ.go | 32 +- mer/mer.go | 32 +- mer_KE/mer_KE.go | 32 +- mfe/mfe.go | 32 +- mfe_MU/mfe_MU.go | 32 +- mg/mg.go | 159 ++++- mg_MG/mg_MG.go | 159 ++++- mgh/mgh.go | 32 +- mgh_MZ/mgh_MZ.go | 32 +- mgo/mgo.go | 33 +- mgo_CM/mgo_CM.go | 33 +- mk/mk.go | 80 +-- mk_MK/mk_MK.go | 78 ++- ml/ml.go | 27 +- ml_IN/ml_IN.go | 27 +- mn/mn.go | 48 +- mn_MN/mn_MN.go | 48 +- mr/mr.go | 25 +- mr_IN/mr_IN.go | 25 +- ms/ms.go | 25 +- ms_BN/ms_BN.go | 25 +- ms_MY/ms_MY.go | 25 +- ms_SG/ms_SG.go | 25 +- mt/mt.go | 36 +- mt_MT/mt_MT.go | 36 +- mua/mua.go | 32 +- mua_CM/mua_CM.go | 32 +- my/my.go | 69 +- my_MM/my_MM.go | 69 +- mzn/mzn.go | 4 +- mzn_IR/mzn_IR.go | 4 +- naq/naq.go | 32 +- naq_NA/naq_NA.go | 32 +- nb/nb.go | 48 +- nb_NO/nb_NO.go | 48 +- nb_SJ/nb_SJ.go | 48 +- nd/nd.go | 94 +-- nd_ZW/nd_ZW.go | 94 +-- nds/nds.go | 576 +++++++++++++++ nds/nds_test.go | 1120 ++++++++++++++++++++++++++++++ nds_DE/nds_DE.go | 576 +++++++++++++++ nds_DE/nds_DE_test.go | 1120 ++++++++++++++++++++++++++++++ nds_NL/nds_NL.go | 576 +++++++++++++++ nds_NL/nds_NL_test.go | 1120 ++++++++++++++++++++++++++++++ ne/ne.go | 40 +- ne_IN/ne_IN.go | 40 +- ne_NP/ne_NP.go | 40 +- nl/nl.go | 76 +- nl_AW/nl_AW.go | 76 +- nl_BE/nl_BE.go | 31 +- nl_BQ/nl_BQ.go | 76 +- nl_CW/nl_CW.go | 76 +- nl_NL/nl_NL.go | 76 +- nl_SR/nl_SR.go | 76 +- nl_SX/nl_SX.go | 76 +- nmg/nmg.go | 32 +- nmg_CM/nmg_CM.go | 32 +- nn/nn.go | 49 +- nn_NO/nn_NO.go | 49 +- nnh/nnh.go | 25 +- nnh_CM/nnh_CM.go | 25 +- nus/nus.go | 32 +- nus_SS/nus_SS.go | 32 +- nyn/nyn.go | 32 +- nyn_UG/nyn_UG.go | 32 +- om/om.go | 103 ++- om_ET/om_ET.go | 103 ++- om_KE/om_KE.go | 107 ++- or/or.go | 25 +- or_IN/or_IN.go | 25 +- os/os.go | 28 +- os_GE/os_GE.go | 28 +- os_RU/os_RU.go | 28 +- pa/pa.go | 29 +- pa_Arab/pa_Arab.go | 34 +- pa_Arab_PK/pa_Arab_PK.go | 29 +- pa_Guru/pa_Guru.go | 29 +- pa_Guru_IN/pa_Guru_IN.go | 29 +- pl/pl.go | 48 +- pl_PL/pl_PL.go | 50 +- prg/prg.go | 28 +- prg_001/prg_001.go | 26 +- ps/ps.go | 140 +++- ps_AF/ps_AF.go | 140 +++- pt/pt.go | 37 +- pt_AO/pt_AO.go | 37 +- pt_BR/pt_BR.go | 37 +- pt_CH/pt_CH.go | 37 +- pt_CV/pt_CV.go | 37 +- pt_GQ/pt_GQ.go | 37 +- pt_GW/pt_GW.go | 37 +- pt_LU/pt_LU.go | 37 +- pt_MO/pt_MO.go | 37 +- pt_MZ/pt_MZ.go | 37 +- pt_PT/pt_PT.go | 29 +- pt_ST/pt_ST.go | 37 +- pt_TL/pt_TL.go | 37 +- qu/qu.go | 45 +- qu_BO/qu_BO.go | 45 +- qu_EC/qu_EC.go | 45 +- qu_PE/qu_PE.go | 45 +- rm/rm.go | 31 +- rm_CH/rm_CH.go | 31 +- rn/rn.go | 32 +- rn_BI/rn_BI.go | 32 +- ro/ro.go | 34 +- ro_MD/ro_MD.go | 32 +- ro_RO/ro_RO.go | 34 +- rof/rof.go | 32 +- rof_TZ/rof_TZ.go | 32 +- root/root.go | 32 +- ru/ru.go | 34 +- ru_BY/ru_BY.go | 34 +- ru_KG/ru_KG.go | 34 +- ru_KZ/ru_KZ.go | 34 +- ru_MD/ru_MD.go | 36 +- ru_RU/ru_RU.go | 36 +- ru_RU/ru_RU_test.go | 2 +- ru_UA/ru_UA.go | 40 +- rules.go | 16 +- rw/rw.go | 180 ++++- rw_RW/rw_RW.go | 180 ++++- rwk/rwk.go | 32 +- rwk_TZ/rwk_TZ.go | 32 +- sah/sah.go | 247 +++++-- sah_RU/sah_RU.go | 247 +++++-- saq/saq.go | 32 +- saq_KE/saq_KE.go | 32 +- sbp/sbp.go | 32 +- sbp_TZ/sbp_TZ.go | 32 +- se/se.go | 151 +++- se_FI/se_FI.go | 155 ++++- se_NO/se_NO.go | 151 +++- se_SE/se_SE.go | 151 +++- seh/seh.go | 32 +- seh_MZ/seh_MZ.go | 32 +- ses/ses.go | 32 +- ses_ML/ses_ML.go | 32 +- sg/sg.go | 32 +- sg_CF/sg_CF.go | 32 +- shi/shi.go | 32 +- shi_Latn/shi_Latn.go | 32 +- shi_Latn_MA/shi_Latn_MA.go | 32 +- shi_Tfng/shi_Tfng.go | 32 +- shi_Tfng_MA/shi_Tfng_MA.go | 32 +- si/si.go | 32 +- si_LK/si_LK.go | 32 +- sk/sk.go | 35 +- sk_SK/sk_SK.go | 35 +- sl/sl.go | 55 +- sl_SI/sl_SI.go | 55 +- smn/smn.go | 308 ++++++-- smn_FI/smn_FI.go | 308 ++++++-- sn/sn.go | 199 ++++-- sn_ZW/sn_ZW.go | 199 ++++-- so/so.go | 31 +- so_DJ/so_DJ.go | 31 +- so_ET/so_ET.go | 31 +- so_KE/so_KE.go | 31 +- so_SO/so_SO.go | 31 +- sq/sq.go | 35 +- sq_AL/sq_AL.go | 35 +- sq_MK/sq_MK.go | 35 +- sq_XK/sq_XK.go | 35 +- sr/sr.go | 44 +- sr_Cyrl/sr_Cyrl.go | 44 +- sr_Cyrl_BA/sr_Cyrl_BA.go | 50 +- sr_Cyrl_ME/sr_Cyrl_ME.go | 62 +- sr_Cyrl_RS/sr_Cyrl_RS.go | 48 +- sr_Cyrl_XK/sr_Cyrl_XK.go | 52 +- sr_Latn/sr_Latn.go | 44 +- sr_Latn_BA/sr_Latn_BA.go | 48 +- sr_Latn_ME/sr_Latn_ME.go | 62 +- sr_Latn_RS/sr_Latn_RS.go | 48 +- sr_Latn_XK/sr_Latn_XK.go | 52 +- sv/sv.go | 34 +- sv_AX/sv_AX.go | 34 +- sv_FI/sv_FI.go | 32 +- sv_SE/sv_SE.go | 32 +- sw/sw.go | 36 +- sw_CD/sw_CD.go | 60 +- sw_KE/sw_KE.go | 36 +- sw_TZ/sw_TZ.go | 36 +- sw_UG/sw_UG.go | 36 +- ta/ta.go | 25 +- ta_IN/ta_IN.go | 25 +- ta_LK/ta_LK.go | 25 +- ta_MY/ta_MY.go | 25 +- ta_SG/ta_SG.go | 25 +- te/te.go | 28 +- te_IN/te_IN.go | 28 +- teo/teo.go | 32 +- teo_KE/teo_KE.go | 32 +- teo_UG/teo_UG.go | 32 +- th/th.go | 25 +- th_TH/th_TH.go | 25 +- ti/ti.go | 112 ++- ti_ER/ti_ER.go | 114 ++- ti_ET/ti_ET.go | 112 ++- tk/tk.go | 33 +- tk_TM/tk_TM.go | 33 +- to/to.go | 27 +- to_TO/to_TO.go | 27 +- tr/tr.go | 64 +- tr_CY/tr_CY.go | 64 +- tr_TR/tr_TR.go | 64 +- twq/twq.go | 32 +- twq_NE/twq_NE.go | 32 +- tzm/tzm.go | 32 +- tzm_MA/tzm_MA.go | 32 +- ug/ug.go | 68 +- ug_CN/ug_CN.go | 68 +- uk/uk.go | 36 +- uk_UA/uk_UA.go | 34 +- ur/ur.go | 173 ++--- ur_IN/ur_IN.go | 37 +- ur_PK/ur_PK.go | 173 ++--- uz/uz.go | 85 ++- uz_Arab/uz_Arab.go | 32 +- uz_Arab_AF/uz_Arab_AF.go | 85 ++- uz_Cyrl/uz_Cyrl.go | 110 +-- uz_Cyrl_UZ/uz_Cyrl_UZ.go | 85 ++- uz_Latn/uz_Latn.go | 85 ++- uz_Latn_UZ/uz_Latn_UZ.go | 85 ++- vai/vai.go | 32 +- vai_Latn/vai_Latn.go | 32 +- vai_Latn_LR/vai_Latn_LR.go | 32 +- vai_Vaii/vai_Vaii.go | 32 +- vai_Vaii_LR/vai_Vaii_LR.go | 32 +- vi/vi.go | 62 +- vi_VN/vi_VN.go | 62 +- vo/vo.go | 32 +- vo_001/vo_001.go | 32 +- vun/vun.go | 32 +- vun_TZ/vun_TZ.go | 32 +- wae/wae.go | 25 +- wae_CH/wae_CH.go | 25 +- xog/xog.go | 32 +- xog_UG/xog_UG.go | 32 +- yav/yav.go | 32 +- yav_CM/yav_CM.go | 32 +- yi/yi.go | 25 +- yi_001/yi_001.go | 25 +- yo/yo.go | 175 +++-- yo_BJ/yo_BJ.go | 175 +++-- yo_NG/yo_NG.go | 175 +++-- yue/yue.go | 152 ++-- yue_HK/yue_HK.go | 152 ++-- zgh/zgh.go | 170 ++++- zgh_MA/zgh_MA.go | 170 ++++- zh/zh.go | 146 ++-- zh_Hans/zh_Hans.go | 146 ++-- zh_Hans_CN/zh_Hans_CN.go | 146 ++-- zh_Hans_HK/zh_Hans_HK.go | 139 ++-- zh_Hans_MO/zh_Hans_MO.go | 139 ++-- zh_Hans_SG/zh_Hans_SG.go | 139 ++-- zh_Hant/zh_Hant.go | 146 ++-- zh_Hant_HK/zh_Hant_HK.go | 38 +- zh_Hant_MO/zh_Hant_MO.go | 146 ++-- zh_Hant_TW/zh_Hant_TW.go | 146 ++-- zu/zu.go | 89 +-- zu_ZA/zu_ZA.go | 89 +-- 728 files changed, 32157 insertions(+), 9774 deletions(-) create mode 100644 de_IT/de_IT.go create mode 100644 de_IT/de_IT_test.go create mode 100644 nds/nds.go create mode 100644 nds/nds_test.go create mode 100644 nds_DE/nds_DE.go create mode 100644 nds_DE/nds_DE_test.go create mode 100644 nds_NL/nds_NL.go create mode 100644 nds_NL/nds_NL_test.go diff --git a/README.md b/README.md index 31deca51e..c2fb25b79 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## locales -![Project status](https://img.shields.io/badge/version-0.10.3-green.svg) +![Project status](https://img.shields.io/badge/version-0.11.0-green.svg) [![Build Status](https://semaphoreci.com/api/v1/joeybloggs/locales/branches/master/badge.svg)](https://semaphoreci.com/joeybloggs/locales) [![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/locales)](https://goreportcard.com/report/github.com/go-playground/locales) [![GoDoc](https://godoc.org/github.com/go-playground/locales?status.svg)](https://godoc.org/github.com/go-playground/locales) @@ -12,7 +12,7 @@ an i18n package; these were built for use with, but not exclusive to, [Universal Features -------- -- [x] Rules generated from the latest [CLDR](http://cldr.unicode.org/index/downloads) data, v29 +- [x] Rules generated from the latest [CLDR](http://cldr.unicode.org/index/downloads) data, v30.0.3 - [x] Contains Cardinal, Ordinal and Range Plural Rules - [x] Contains Month, Weekday and Timezone translations built in - [x] Contains Date & Time formatting functions @@ -29,7 +29,7 @@ Installation Use go get -```go +```shell go get github.com/go-playground/locales ``` @@ -51,10 +51,6 @@ import ( "github.com/go-playground/locales/en_CA" ) -const ( - dateTimeString = "Jan 2, 2006 at 3:04:05pm" -) - func main() { loc, _ := time.LoadLocation("America/Toronto") @@ -63,57 +59,57 @@ func main() { l := en_CA.New() // Dates - fmt.Println(string(l.FmtDateFull(datetime))) - fmt.Println(string(l.FmtDateLong(datetime))) - fmt.Println(string(l.FmtDateMedium(datetime))) - fmt.Println(string(l.FmtDateShort(datetime))) + fmt.Println(l.FmtDateFull(datetime)) + fmt.Println(l.FmtDateLong(datetime)) + fmt.Println(l.FmtDateMedium(datetime)) + fmt.Println(l.FmtDateShort(datetime)) // Times - fmt.Println(string(l.FmtTimeFull(datetime))) - fmt.Println(string(l.FmtTimeLong(datetime))) - fmt.Println(string(l.FmtTimeMedium(datetime))) - fmt.Println(string(l.FmtTimeShort(datetime))) + fmt.Println(l.FmtTimeFull(datetime)) + fmt.Println(l.FmtTimeLong(datetime)) + fmt.Println(l.FmtTimeMedium(datetime)) + fmt.Println(l.FmtTimeShort(datetime)) // Months Wide - fmt.Println(string(l.MonthWide(time.January))) - fmt.Println(string(l.MonthWide(time.February))) - fmt.Println(string(l.MonthWide(time.March))) + fmt.Println(l.MonthWide(time.January)) + fmt.Println(l.MonthWide(time.February)) + fmt.Println(l.MonthWide(time.March)) // ... // Months Abbreviated - fmt.Println(string(l.MonthAbbreviated(time.January))) - fmt.Println(string(l.MonthAbbreviated(time.February))) - fmt.Println(string(l.MonthAbbreviated(time.March))) + fmt.Println(l.MonthAbbreviated(time.January)) + fmt.Println(l.MonthAbbreviated(time.February)) + fmt.Println(l.MonthAbbreviated(time.March)) // ... // Months Narrow - fmt.Println(string(l.MonthNarrow(time.January))) - fmt.Println(string(l.MonthNarrow(time.February))) - fmt.Println(string(l.MonthNarrow(time.March))) + fmt.Println(l.MonthNarrow(time.January)) + fmt.Println(l.MonthNarrow(time.February)) + fmt.Println(l.MonthNarrow(time.March)) // ... // Weekdays Wide - fmt.Println(string(l.WeekdayWide(time.Sunday))) - fmt.Println(string(l.WeekdayWide(time.Monday))) - fmt.Println(string(l.WeekdayWide(time.Tuesday))) + fmt.Println(l.WeekdayWide(time.Sunday)) + fmt.Println(l.WeekdayWide(time.Monday)) + fmt.Println(l.WeekdayWide(time.Tuesday)) // ... // Weekdays Abbreviated - fmt.Println(string(l.WeekdayAbbreviated(time.Sunday))) - fmt.Println(string(l.WeekdayAbbreviated(time.Monday))) - fmt.Println(string(l.WeekdayAbbreviated(time.Tuesday))) + fmt.Println(l.WeekdayAbbreviated(time.Sunday)) + fmt.Println(l.WeekdayAbbreviated(time.Monday)) + fmt.Println(l.WeekdayAbbreviated(time.Tuesday)) // ... // Weekdays Short - fmt.Println(string(l.WeekdayShort(time.Sunday))) - fmt.Println(string(l.WeekdayShort(time.Monday))) - fmt.Println(string(l.WeekdayShort(time.Tuesday))) + fmt.Println(l.WeekdayShort(time.Sunday)) + fmt.Println(l.WeekdayShort(time.Monday)) + fmt.Println(l.WeekdayShort(time.Tuesday)) // ... // Weekdays Narrow - fmt.Println(string(l.WeekdayNarrow(time.Sunday))) - fmt.Println(string(l.WeekdayNarrow(time.Monday))) - fmt.Println(string(l.WeekdayNarrow(time.Tuesday))) + fmt.Println(l.WeekdayNarrow(time.Sunday)) + fmt.Println(l.WeekdayNarrow(time.Monday)) + fmt.Println(l.WeekdayNarrow(time.Tuesday)) // ... var f64 float64 @@ -121,20 +117,20 @@ func main() { f64 = -10356.4523 // Number - fmt.Println(string(l.FmtNumber(f64, 2))) + fmt.Println(l.FmtNumber(f64, 2)) // Currency - fmt.Println(string(l.FmtCurrency(f64, 2, currency.CAD))) - fmt.Println(string(l.FmtCurrency(f64, 2, currency.USD))) + fmt.Println(l.FmtCurrency(f64, 2, currency.CAD)) + fmt.Println(l.FmtCurrency(f64, 2, currency.USD)) // Accounting - fmt.Println(string(l.FmtAccounting(f64, 2, currency.CAD))) - fmt.Println(string(l.FmtAccounting(f64, 2, currency.USD))) + fmt.Println(l.FmtAccounting(f64, 2, currency.CAD)) + fmt.Println(l.FmtAccounting(f64, 2, currency.USD)) f64 = 78.12 // Percent - fmt.Println(string(l.FmtPercent(f64, 0))) + fmt.Println(l.FmtPercent(f64, 0)) // Plural Rules for locale, so you know what rules you must cover fmt.Println(l.PluralsCardinal()) diff --git a/af/af.go b/af/af.go index 61c3b829c..a76aa2332 100644 --- a/af/af.go +++ b/af/af.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan.", "Feb.", "Mrt.", "Apr.", "Mei", "Jun.", "Jul.", "Aug.", "Sep.", "Okt.", "Nov.", "Des."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.C.", "n.C."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"CLST": "Chili-somertyd", "MEZ": "Sentraal-Europese standaardtyd", "SGT": "Singapoer-standaardtyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "ADT": "Atlantiese dagligtyd", "AKST": "Alaska-standaardtyd", "WIB": "Wes-Indonesië-tyd", "WAST": "Wes-Afrika-somertyd", "ChST": "Chamorro-standaardtyd", "WIT": "Oos-Indonesië-tyd", "UYT": "Uruguay-standaardtyd", "OESZ": "Oos-Europese somertyd", "ECT": "Ecuador-tyd", "EDT": "Oostelike dagligtyd", "AST": "Atlantiese standaardtyd", "EAT": "Oos-Afrika-tyd", "AKDT": "Alaska-dagligtyd", "NZST": "Nieu-Seeland-standaardtyd", "SRT": "Suriname-tyd", "WEZ": "Wes-Europese standaardtyd", "AWST": "Australiese Westelike standaardtyd", "AWDT": "Australiese Westelike dagligtyd", "JDT": "Japan-dagligtyd", "GFT": "Frans-Guiana-tyd", "HKT": "Hongkong-standaardtyd", "CAT": "Sentraal-Afrika-tyd", "MESZ": "Sentraal-Europese somertyd", "MST": "Berg-standaardtyd", "IST": "Indië-standaardtyd", "WITA": "Sentraal Indonesië-tyd", "GYT": "Guyana-tyd", "WESZ": "Wes-Europese somertyd", "CHADT": "Chatham-dagligtyd", "HADT": "Hawaii-Aleusiër-dagligtyd", "ACWDT": "Australiese sentraal-Westelike dagligtyd", "WART": "Wes-Argentinië-standaardtyd", "ART": "Argentinië-standaardtyd", "ARST": "Argentinië-somertyd", "TMT": "Turkmenistan-standaardtyd", "BT": "Bhoetan-tyd", "HNT": "Newfoundland-standaardtyd", "TMST": "Turkmenistan-somertyd", "CST": "Sentrale standaardtyd", "∅∅∅": "Amasone-somertyd", "AEST": "Australiese Oostelike standaardtyd", "WARST": "Wes-Argentinië-somertyd", "PST": "Pasifiese standaardtyd", "WAT": "Wes-Afrika-standaardtyd", "VET": "Venezuela-tyd", "PDT": "Pasifiese dagligtyd", "CDT": "Sentrale dagligtyd", "BOT": "Bolivia-tyd", "SAST": "Suid-Afrika-standaardtyd", "MDT": "Berg-dagligtyd", "GMT": "Greenwich-mediaantyd", "CHAST": "Chatham-standaardtyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "AEDT": "Australiese Oostelike dagligtyd", "EST": "Oostelike standaardtyd", "MYT": "Maleisië-tyd", "LHST": "Lord Howe-standaardtyd", "LHDT": "Lord Howe-dagligtyd", "UYST": "Uruguay-somertyd", "OEZ": "Oos-Europese standaardtyd", "ACDT": "Australiese sentrale dagligtyd", "COST": "Colombië-somertyd", "HAT": "Newfoundland-dagligtyd", "CLT": "Chili-standaardtyd", "JST": "Japan-standaardtyd", "HKST": "Hongkong-somertyd", "ACST": "Australiese sentraal-standaardtyd", "COT": "Colombië-standaardtyd", "NZDT": "Nieu-Seeland-dagligtyd"}, + timezones: map[string]string{"UYT": "Uruguay-standaardtyd", "MST": "MST", "CDT": "Sentrale dagligtyd", "HEPM": "Sint-Pierre en Miquelon-dagligtyd", "MEZ": "Sentraal-Europese standaardtyd", "TMST": "Turkmenistan-somertyd", "WART": "Wes-Argentinië-standaardtyd", "UYST": "Uruguay-somertyd", "VET": "Venezuela-tyd", "IST": "Indië-standaardtyd", "JDT": "Japan-dagligtyd", "HEPMX": "Meksikaanse Pasifiese dagligtyd", "WAT": "Wes-Afrika-standaardtyd", "HECU": "Kuba-dagligtyd", "GYT": "Guyana-tyd", "HNPM": "Sint-Pierre en Miquelon-standaardtyd", "ChST": "Chamorro-standaardtyd", "CAT": "Sentraal-Afrika-tyd", "WIB": "Wes-Indonesië-tyd", "HAT": "Newfoundland-dagligtyd", "HNOG": "Wes-Groenland-standaardtyd", "AEDT": "Australiese Oostelike dagligtyd", "AWDT": "Australiese Westelike dagligtyd", "LHST": "Lord Howe-standaardtyd", "GFT": "Frans-Guiana-tyd", "HNCU": "Kuba-standaardtyd", "HEEG": "Oos-Groenland-somertyd", "CHADT": "Chatham-dagligtyd", "JST": "Japan-standaardtyd", "HNEG": "Oos-Groenland-standaardtyd", "ACDT": "Australiese sentrale dagligtyd", "AEST": "Australiese Oostelike standaardtyd", "COST": "Colombië-somertyd", "SGT": "Singapoer-standaardtyd", "CST": "Sentrale standaardtyd", "ADT": "Atlantiese dagligtyd", "HADT": "Hawaii-Aleusiër-dagligtyd", "LHDT": "Lord Howe-dagligtyd", "WAST": "Wes-Afrika-somertyd", "GMT": "Greenwich-mediaantyd", "MDT": "MDT", "HNPMX": "Meksikaanse Pasifiese standaardtyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "AWST": "Australiese Westelike standaardtyd", "WARST": "Wes-Argentinië-somertyd", "ECT": "Ecuador-tyd", "∅∅∅": "Peru-somertyd", "EDT": "Oostelike dagligtyd", "NZST": "Nieu-Seeland-standaardtyd", "OESZ": "Oos-Europese somertyd", "HENOMX": "Noordwes-Meksiko-dagligtyd", "AKDT": "Alaska-dagligtyd", "HEOG": "Wes-Groenland-somertyd", "WESZ": "Wes-Europese somertyd", "HKST": "Hongkong-somertyd", "EAT": "Oos-Afrika-tyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "PDT": "Pasifiese dagligtyd", "WITA": "Sentraal Indonesië-tyd", "BOT": "Bolivia-tyd", "MYT": "Maleisië-tyd", "AKST": "Alaska-standaardtyd", "BT": "Bhoetan-tyd", "SRT": "Suriname-tyd", "HNT": "Newfoundland-standaardtyd", "SAST": "Suid-Afrika-standaardtyd", "CLT": "Chili-standaardtyd", "OEZ": "Oos-Europese standaardtyd", "ART": "Argentinië-standaardtyd", "WEZ": "Wes-Europese standaardtyd", "ACWDT": "Australiese sentraal-Westelike dagligtyd", "CHAST": "Chatham-standaardtyd", "AST": "Atlantiese standaardtyd", "ARST": "Argentinië-somertyd", "PST": "Pasifiese standaardtyd", "MESZ": "Sentraal-Europese somertyd", "CLST": "Chili-somertyd", "COT": "Colombië-standaardtyd", "NZDT": "Nieu-Seeland-dagligtyd", "TMT": "Turkmenistan-standaardtyd", "ACST": "Australiese sentraal-standaardtyd", "EST": "Oostelike standaardtyd", "WIT": "Oos-Indonesië-tyd", "HKT": "Hongkong-standaardtyd", "HNNOMX": "Noordwes-Meksiko-standaardtyd"}, } } @@ -397,7 +397,12 @@ func (af *af) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -430,7 +435,12 @@ func (af *af) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +458,12 @@ func (af *af) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +484,12 @@ func (af *af) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -479,13 +499,11 @@ func (af *af) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -493,13 +511,6 @@ func (af *af) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -509,13 +520,11 @@ func (af *af) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -530,13 +539,6 @@ func (af *af) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -546,13 +548,11 @@ func (af *af) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -569,14 +569,6 @@ func (af *af) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -588,13 +580,11 @@ func (af *af) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -611,14 +601,6 @@ func (af *af) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := af.timezones[tz]; ok { diff --git a/af_NA/af_NA.go b/af_NA/af_NA.go index 90b98833f..fd4af7205 100644 --- a/af_NA/af_NA.go +++ b/af_NA/af_NA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan.", "Feb.", "Mrt.", "Apr.", "Mei", "Jun.", "Jul.", "Aug.", "Sep.", "Okt.", "Nov.", "Des."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.C.", "n.C."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"ACWDT": "Australiese sentraal-Westelike dagligtyd", "GYT": "Guyana-tyd", "CLST": "Chili-somertyd", "ECT": "Ecuador-tyd", "ACST": "Australiese sentraal-standaardtyd", "WAT": "Wes-Afrika-standaardtyd", "ARST": "Argentinië-somertyd", "SAST": "Suid-Afrika-standaardtyd", "MDT": "Berg-dagligtyd", "HKT": "Hongkong-standaardtyd", "ACDT": "Australiese sentrale dagligtyd", "MST": "Berg-standaardtyd", "WIT": "Oos-Indonesië-tyd", "AWDT": "Australiese Westelike dagligtyd", "HADT": "Hawaii-Aleusiër-dagligtyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "AWST": "Australiese Westelike standaardtyd", "TMT": "Turkmenistan-standaardtyd", "ChST": "Chamorro-standaardtyd", "BOT": "Bolivia-tyd", "BT": "Bhoetan-tyd", "HNT": "Newfoundland-standaardtyd", "MEZ": "Sentraal-Europese standaardtyd", "MESZ": "Sentraal-Europese somertyd", "VET": "Venezuela-tyd", "WART": "Wes-Argentinië-standaardtyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "AEST": "Australiese Oostelike standaardtyd", "PST": "Pasifiese standaardtyd", "∅∅∅": "Brasilië somertyd", "HKST": "Hongkong-somertyd", "WESZ": "Wes-Europese somertyd", "CST": "Sentrale standaardtyd", "EAT": "Oos-Afrika-tyd", "IST": "Indië-standaardtyd", "TMST": "Turkmenistan-somertyd", "GMT": "Greenwich-mediaantyd", "AKST": "Alaska-standaardtyd", "ADT": "Atlantiese dagligtyd", "MYT": "Maleisië-tyd", "LHST": "Lord Howe-standaardtyd", "UYT": "Uruguay-standaardtyd", "COST": "Colombië-somertyd", "AST": "Atlantiese standaardtyd", "NZDT": "Nieu-Seeland-dagligtyd", "LHDT": "Lord Howe-dagligtyd", "SRT": "Suriname-tyd", "COT": "Colombië-standaardtyd", "AEDT": "Australiese Oostelike dagligtyd", "EDT": "Oostelike dagligtyd", "NZST": "Nieu-Seeland-standaardtyd", "JST": "Japan-standaardtyd", "GFT": "Frans-Guiana-tyd", "WARST": "Wes-Argentinië-somertyd", "WITA": "Sentraal Indonesië-tyd", "CDT": "Sentrale dagligtyd", "CLT": "Chili-standaardtyd", "WIB": "Wes-Indonesië-tyd", "SGT": "Singapoer-standaardtyd", "OEZ": "Oos-Europese standaardtyd", "OESZ": "Oos-Europese somertyd", "CHADT": "Chatham-dagligtyd", "AKDT": "Alaska-dagligtyd", "CAT": "Sentraal-Afrika-tyd", "HAT": "Newfoundland-dagligtyd", "UYST": "Uruguay-somertyd", "JDT": "Japan-dagligtyd", "ART": "Argentinië-standaardtyd", "EST": "Oostelike standaardtyd", "PDT": "Pasifiese dagligtyd", "WAST": "Wes-Afrika-somertyd", "WEZ": "Wes-Europese standaardtyd", "CHAST": "Chatham-standaardtyd"}, + timezones: map[string]string{"HEEG": "Oos-Groenland-somertyd", "HNNOMX": "Noordwes-Meksiko-standaardtyd", "HECU": "Kuba-dagligtyd", "AEDT": "Australiese Oostelike dagligtyd", "JDT": "Japan-dagligtyd", "ChST": "Chamorro-standaardtyd", "AKST": "Alaska-standaardtyd", "CDT": "Sentrale dagligtyd", "AST": "Atlantiese standaardtyd", "ACWDT": "Australiese sentraal-Westelike dagligtyd", "NZDT": "Nieu-Seeland-dagligtyd", "AWST": "Australiese Westelike standaardtyd", "GFT": "Frans-Guiana-tyd", "ECT": "Ecuador-tyd", "MST": "MST", "HEPMX": "Meksikaanse Pasifiese dagligtyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "AEST": "Australiese Oostelike standaardtyd", "AWDT": "Australiese Westelike dagligtyd", "CLST": "Chili-somertyd", "∅∅∅": "Peru-somertyd", "EST": "Oostelike standaardtyd", "GYT": "Guyana-tyd", "MYT": "Maleisië-tyd", "WIT": "Oos-Indonesië-tyd", "WITA": "Sentraal Indonesië-tyd", "HNPM": "Sint-Pierre en Miquelon-standaardtyd", "CLT": "Chili-standaardtyd", "WAST": "Wes-Afrika-somertyd", "OESZ": "Oos-Europese somertyd", "WARST": "Wes-Argentinië-somertyd", "GMT": "Greenwich-mediaantyd", "HNPMX": "Meksikaanse Pasifiese standaardtyd", "EDT": "Oostelike dagligtyd", "BT": "Bhoetan-tyd", "ARST": "Argentinië-somertyd", "HKST": "Hongkong-somertyd", "HNEG": "Oos-Groenland-standaardtyd", "CAT": "Sentraal-Afrika-tyd", "WART": "Wes-Argentinië-standaardtyd", "COST": "Colombië-somertyd", "CST": "Sentrale standaardtyd", "HEOG": "Wes-Groenland-somertyd", "HKT": "Hongkong-standaardtyd", "BOT": "Bolivia-tyd", "SAST": "Suid-Afrika-standaardtyd", "EAT": "Oos-Afrika-tyd", "VET": "Venezuela-tyd", "ART": "Argentinië-standaardtyd", "LHDT": "Lord Howe-dagligtyd", "NZST": "Nieu-Seeland-standaardtyd", "HNT": "Newfoundland-standaardtyd", "MEZ": "Sentraal-Europese standaardtyd", "MESZ": "Sentraal-Europese somertyd", "ACST": "Australiese sentraal-standaardtyd", "IST": "Indië-standaardtyd", "WAT": "Wes-Afrika-standaardtyd", "MDT": "MDT", "ADT": "Atlantiese dagligtyd", "HEPM": "Sint-Pierre en Miquelon-dagligtyd", "LHST": "Lord Howe-standaardtyd", "CHADT": "Chatham-dagligtyd", "OEZ": "Oos-Europese standaardtyd", "SGT": "Singapoer-standaardtyd", "HADT": "Hawaii-Aleusiër-dagligtyd", "WEZ": "Wes-Europese standaardtyd", "CHAST": "Chatham-standaardtyd", "HNCU": "Kuba-standaardtyd", "AKDT": "Alaska-dagligtyd", "PST": "Pasifiese standaardtyd", "HAT": "Newfoundland-dagligtyd", "TMT": "Turkmenistan-standaardtyd", "TMST": "Turkmenistan-somertyd", "COT": "Colombië-standaardtyd", "HENOMX": "Noordwes-Meksiko-dagligtyd", "PDT": "Pasifiese dagligtyd", "WESZ": "Wes-Europese somertyd", "JST": "Japan-standaardtyd", "HNOG": "Wes-Groenland-standaardtyd", "ACDT": "Australiese sentrale dagligtyd", "UYT": "Uruguay-standaardtyd", "UYST": "Uruguay-somertyd", "WIB": "Wes-Indonesië-tyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "SRT": "Suriname-tyd"}, } } @@ -397,7 +397,12 @@ func (af *af_NA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -426,7 +431,12 @@ func (af *af_NA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -440,7 +450,12 @@ func (af *af_NA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +471,12 @@ func (af *af_NA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,13 +486,11 @@ func (af *af_NA) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -480,13 +498,6 @@ func (af *af_NA) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -496,13 +507,11 @@ func (af *af_NA) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -517,13 +526,6 @@ func (af *af_NA) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -533,13 +535,11 @@ func (af *af_NA) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -556,14 +556,6 @@ func (af *af_NA) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -575,13 +567,11 @@ func (af *af_NA) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -598,14 +588,6 @@ func (af *af_NA) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := af.timezones[tz]; ok { diff --git a/af_ZA/af_ZA.go b/af_ZA/af_ZA.go index e6d7a3d6d..4e99fc4ba 100644 --- a/af_ZA/af_ZA.go +++ b/af_ZA/af_ZA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan.", "Feb.", "Mrt.", "Apr.", "Mei", "Jun.", "Jul.", "Aug.", "Sep.", "Okt.", "Nov.", "Des."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.C.", "n.C."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"LHST": "Lord Howe-standaardtyd", "MEZ": "Sentraal-Europese standaardtyd", "EDT": "Oostelike dagligtyd", "PST": "Pasifiese standaardtyd", "JDT": "Japan-dagligtyd", "HKT": "Hongkong-standaardtyd", "MESZ": "Sentraal-Europese somertyd", "CST": "Sentrale standaardtyd", "NZDT": "Nieu-Seeland-dagligtyd", "BT": "Bhoetan-tyd", "AWST": "Australiese Westelike standaardtyd", "HNT": "Newfoundland-standaardtyd", "HADT": "Hawaii-Aleusiër-dagligtyd", "ART": "Argentinië-standaardtyd", "SAST": "Suid-Afrika-standaardtyd", "∅∅∅": "Peru-somertyd", "UYT": "Uruguay-standaardtyd", "WART": "Wes-Argentinië-standaardtyd", "EST": "Oostelike standaardtyd", "CDT": "Sentrale dagligtyd", "ChST": "Chamorro-standaardtyd", "ACST": "Australiese sentraal-standaardtyd", "COT": "Colombië-standaardtyd", "EAT": "Oos-Afrika-tyd", "CLT": "Chili-standaardtyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "ADT": "Atlantiese dagligtyd", "AKDT": "Alaska-dagligtyd", "OEZ": "Oos-Europese standaardtyd", "WITA": "Sentraal Indonesië-tyd", "CAT": "Sentraal-Afrika-tyd", "SGT": "Singapoer-standaardtyd", "WARST": "Wes-Argentinië-somertyd", "WAST": "Wes-Afrika-somertyd", "GYT": "Guyana-tyd", "MST": "Berg-standaardtyd", "ACDT": "Australiese sentrale dagligtyd", "PDT": "Pasifiese dagligtyd", "TMST": "Turkmenistan-somertyd", "WIT": "Oos-Indonesië-tyd", "ECT": "Ecuador-tyd", "AEDT": "Australiese Oostelike dagligtyd", "WAT": "Wes-Afrika-standaardtyd", "IST": "Indië-standaardtyd", "ACWDT": "Australiese sentraal-Westelike dagligtyd", "ARST": "Argentinië-somertyd", "BOT": "Bolivia-tyd", "GMT": "Greenwich-mediaantyd", "GFT": "Frans-Guiana-tyd", "WEZ": "Wes-Europese standaardtyd", "WIB": "Wes-Indonesië-tyd", "HKST": "Hongkong-somertyd", "CHADT": "Chatham-dagligtyd", "AST": "Atlantiese standaardtyd", "AKST": "Alaska-standaardtyd", "CLST": "Chili-somertyd", "CHAST": "Chatham-standaardtyd", "VET": "Venezuela-tyd", "AEST": "Australiese Oostelike standaardtyd", "AWDT": "Australiese Westelike dagligtyd", "HAT": "Newfoundland-dagligtyd", "SRT": "Suriname-tyd", "OESZ": "Oos-Europese somertyd", "WESZ": "Wes-Europese somertyd", "TMT": "Turkmenistan-standaardtyd", "JST": "Japan-standaardtyd", "COST": "Colombië-somertyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "MDT": "Berg-dagligtyd", "MYT": "Maleisië-tyd", "NZST": "Nieu-Seeland-standaardtyd", "LHDT": "Lord Howe-dagligtyd", "UYST": "Uruguay-somertyd"}, + timezones: map[string]string{"∅∅∅": "Amasone-somertyd", "OEZ": "Oos-Europese standaardtyd", "WIB": "Wes-Indonesië-tyd", "AWST": "Australiese Westelike standaardtyd", "CHAST": "Chatham-standaardtyd", "JST": "Japan-standaardtyd", "WARST": "Wes-Argentinië-somertyd", "EDT": "Oostelike dagligtyd", "ARST": "Argentinië-somertyd", "WITA": "Sentraal Indonesië-tyd", "MESZ": "Sentraal-Europese somertyd", "TMT": "Turkmenistan-standaardtyd", "HAST": "Hawaii-Aleusiër-standaardtyd", "ART": "Argentinië-standaardtyd", "HNPM": "Sint-Pierre en Miquelon-standaardtyd", "MEZ": "Sentraal-Europese standaardtyd", "SAST": "Suid-Afrika-standaardtyd", "CLST": "Chili-somertyd", "TMST": "Turkmenistan-somertyd", "EAT": "Oos-Afrika-tyd", "HENOMX": "Noordwes-Meksiko-dagligtyd", "HNPMX": "Meksikaanse Pasifiese standaardtyd", "UYST": "Uruguay-somertyd", "IST": "Indië-standaardtyd", "WAT": "Wes-Afrika-standaardtyd", "WAST": "Wes-Afrika-somertyd", "ECT": "Ecuador-tyd", "GYT": "Guyana-tyd", "VET": "Venezuela-tyd", "HKST": "Hongkong-somertyd", "LHDT": "Lord Howe-dagligtyd", "NZDT": "Nieu-Seeland-dagligtyd", "ChST": "Chamorro-standaardtyd", "HEEG": "Oos-Groenland-somertyd", "COT": "Colombië-standaardtyd", "HEPMX": "Meksikaanse Pasifiese dagligtyd", "WESZ": "Wes-Europese somertyd", "ACDT": "Australiese sentrale dagligtyd", "CAT": "Sentraal-Afrika-tyd", "UYT": "Uruguay-standaardtyd", "CST": "Sentrale standaardtyd", "HEPM": "Sint-Pierre en Miquelon-dagligtyd", "LHST": "Lord Howe-standaardtyd", "CHADT": "Chatham-dagligtyd", "CLT": "Chili-standaardtyd", "JDT": "Japan-dagligtyd", "WART": "Wes-Argentinië-standaardtyd", "HNCU": "Kuba-standaardtyd", "HEOG": "Wes-Groenland-somertyd", "ACWST": "Australiese sentraal-Westelike standaard-tyd", "AEST": "Australiese Oostelike standaardtyd", "HNEG": "Oos-Groenland-standaardtyd", "AKST": "Alaska-standaardtyd", "BT": "Bhoetan-tyd", "PDT": "Pasifiese dagligtyd", "COST": "Colombië-somertyd", "GMT": "Greenwich-mediaantyd", "AKDT": "Alaska-dagligtyd", "PST": "Pasifiese standaardtyd", "AEDT": "Australiese Oostelike dagligtyd", "AWDT": "Australiese Westelike dagligtyd", "HKT": "Hongkong-standaardtyd", "AST": "Atlantiese standaardtyd", "ADT": "Atlantiese dagligtyd", "GFT": "Frans-Guiana-tyd", "HNNOMX": "Noordwes-Meksiko-standaardtyd", "WIT": "Oos-Indonesië-tyd", "HNT": "Newfoundland-standaardtyd", "SGT": "Singapoer-standaardtyd", "CDT": "Sentrale dagligtyd", "WEZ": "Wes-Europese standaardtyd", "ACWDT": "Australiese sentraal-Westelike dagligtyd", "HAT": "Newfoundland-dagligtyd", "NZST": "Nieu-Seeland-standaardtyd", "ACST": "Australiese sentraal-standaardtyd", "OESZ": "Oos-Europese somertyd", "HECU": "Kuba-dagligtyd", "EST": "Oostelike standaardtyd", "MST": "MST", "MDT": "MDT", "MYT": "Maleisië-tyd", "SRT": "Suriname-tyd", "HNOG": "Wes-Groenland-standaardtyd", "BOT": "Bolivia-tyd", "HADT": "Hawaii-Aleusiër-dagligtyd"}, } } @@ -397,7 +397,12 @@ func (af *af_ZA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -430,7 +435,12 @@ func (af *af_ZA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +458,12 @@ func (af *af_ZA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +484,12 @@ func (af *af_ZA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, af.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -479,13 +499,11 @@ func (af *af_ZA) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -493,13 +511,6 @@ func (af *af_ZA) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -509,13 +520,11 @@ func (af *af_ZA) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -530,13 +539,6 @@ func (af *af_ZA) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } return string(b) } @@ -546,13 +548,11 @@ func (af *af_ZA) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -569,14 +569,6 @@ func (af *af_ZA) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -588,13 +580,11 @@ func (af *af_ZA) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, af.timeSeparator...) if t.Minute() < 10 { @@ -611,14 +601,6 @@ func (af *af_ZA) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, af.periodsAbbreviated[0]...) - } else { - b = append(b, af.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := af.timezones[tz]; ok { diff --git a/agq/agq.go b/agq/agq.go index 037d2a78a..430aa6b19 100644 --- a/agq/agq.go +++ b/agq/agq.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "nùm", "kɨz", "tɨd", "taa", "see", "nzu", "dum", "fɔe", "dzu", "lɔm", "kaa", "fwo"}, monthsNarrow: []string{"", "n", "k", "t", "t", "s", "z", "k", "f", "d", "l", "c", "f"}, monthsWide: []string{"", "ndzɔ̀ŋɔ̀nùm", "ndzɔ̀ŋɔ̀kƗ̀zùʔ", "ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà", "ndzɔ̀ŋɔ̀tǎafʉ̄ghā", "ndzɔ̀ŋèsèe", "ndzɔ̀ŋɔ̀nzùghò", "ndzɔ̀ŋɔ̀dùmlo", "ndzɔ̀ŋɔ̀kwîfɔ̀e", "ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù", "ndzɔ̀ŋɔ̀ghǔuwelɔ̀m", "ndzɔ̀ŋɔ̀chwaʔàkaa wo", "ndzɔ̀ŋèfwòo"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"SK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Sěe Kɨ̀lesto", "Bǎa Kɨ̀lesto"}, - timezones: map[string]string{"ChST": "ChST", "BOT": "BOT", "CAT": "CAT", "GFT": "GFT", "MEZ": "MEZ", "JDT": "JDT", "WART": "WART", "EST": "EST", "EDT": "EDT", "IST": "IST", "∅∅∅": "∅∅∅", "LHST": "LHST", "OEZ": "OEZ", "WESZ": "WESZ", "CHAST": "CHAST", "ACWDT": "ACWDT", "AEDT": "AEDT", "CLST": "CLST", "BT": "BT", "PDT": "PDT", "MYT": "MYT", "AWST": "AWST", "ACDT": "ACDT", "HADT": "HADT", "NZDT": "NZDT", "AWDT": "AWDT", "AKST": "AKST", "EAT": "EAT", "CST": "CST", "CDT": "CDT", "OESZ": "OESZ", "HKST": "HKST", "ADT": "ADT", "GYT": "GYT", "NZST": "NZST", "CLT": "CLT", "SRT": "SRT", "MESZ": "MESZ", "SGT": "SGT", "TMT": "TMT", "UYST": "UYST", "WITA": "WITA", "HNT": "HNT", "HAT": "HAT", "GMT": "GMT", "ECT": "ECT", "VET": "VET", "ACWST": "ACWST", "PST": "PST", "UYT": "UYT", "WIB": "WIB", "JST": "JST", "HKT": "HKT", "WARST": "WARST", "AEST": "AEST", "ART": "ART", "AKDT": "AKDT", "WEZ": "WEZ", "ACST": "ACST", "COST": "COST", "SAST": "SAST", "TMST": "TMST", "MST": "MST", "HAST": "HAST", "ARST": "ARST", "AST": "AST", "WAST": "WAST", "LHDT": "LHDT", "CHADT": "CHADT", "COT": "COT", "WAT": "WAT", "MDT": "MDT", "WIT": "WIT"}, + timezones: map[string]string{"BOT": "BOT", "TMT": "TMT", "WAST": "WAST", "MDT": "MDT", "HNPMX": "HNPMX", "AST": "AST", "AEDT": "AEDT", "HKST": "HKST", "CLST": "CLST", "ACST": "ACST", "OESZ": "OESZ", "WIT": "WIT", "PDT": "PDT", "ACWST": "ACWST", "HEPM": "HEPM", "MEZ": "MEZ", "NZST": "NZST", "NZDT": "NZDT", "IST": "IST", "EDT": "EDT", "ACWDT": "ACWDT", "HNOG": "HNOG", "JDT": "JDT", "WIB": "WIB", "SRT": "SRT", "HEOG": "HEOG", "LHDT": "LHDT", "ECT": "ECT", "WARST": "WARST", "COT": "COT", "COST": "COST", "GMT": "GMT", "BT": "BT", "ART": "ART", "WAT": "WAT", "OEZ": "OEZ", "HNCU": "HNCU", "EST": "EST", "PST": "PST", "AEST": "AEST", "AWDT": "AWDT", "WITA": "WITA", "CHAST": "CHAST", "HEPMX": "HEPMX", "UYT": "UYT", "HADT": "HADT", "HAT": "HAT", "HNPM": "HNPM", "MESZ": "MESZ", "ChST": "ChST", "HEEG": "HEEG", "EAT": "EAT", "HECU": "HECU", "MST": "MST", "WESZ": "WESZ", "CHADT": "CHADT", "GFT": "GFT", "TMST": "TMST", "ADT": "ADT", "VET": "VET", "SAST": "SAST", "MYT": "MYT", "WEZ": "WEZ", "AWST": "AWST", "JST": "JST", "HENOMX": "HENOMX", "UYST": "UYST", "HKT": "HKT", "CAT": "CAT", "SGT": "SGT", "GYT": "GYT", "HNT": "HNT", "∅∅∅": "∅∅∅", "CDT": "CDT", "LHST": "LHST", "CLT": "CLT", "ACDT": "ACDT", "AKDT": "AKDT", "HAST": "HAST", "HNEG": "HNEG", "WART": "WART", "HNNOMX": "HNNOMX", "AKST": "AKST", "CST": "CST", "ARST": "ARST"}, } } @@ -375,7 +375,12 @@ func (agq *agq) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (agq *agq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (agq *agq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (agq *agq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/agq_CM/agq_CM.go b/agq_CM/agq_CM.go index a5dc6e11b..33225f3df 100644 --- a/agq_CM/agq_CM.go +++ b/agq_CM/agq_CM.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "nùm", "kɨz", "tɨd", "taa", "see", "nzu", "dum", "fɔe", "dzu", "lɔm", "kaa", "fwo"}, monthsNarrow: []string{"", "n", "k", "t", "t", "s", "z", "k", "f", "d", "l", "c", "f"}, monthsWide: []string{"", "ndzɔ̀ŋɔ̀nùm", "ndzɔ̀ŋɔ̀kƗ̀zùʔ", "ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà", "ndzɔ̀ŋɔ̀tǎafʉ̄ghā", "ndzɔ̀ŋèsèe", "ndzɔ̀ŋɔ̀nzùghò", "ndzɔ̀ŋɔ̀dùmlo", "ndzɔ̀ŋɔ̀kwîfɔ̀e", "ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù", "ndzɔ̀ŋɔ̀ghǔuwelɔ̀m", "ndzɔ̀ŋɔ̀chwaʔàkaa wo", "ndzɔ̀ŋèfwòo"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"SK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Sěe Kɨ̀lesto", "Bǎa Kɨ̀lesto"}, - timezones: map[string]string{"WIB": "WIB", "NZST": "NZST", "AWST": "AWST", "CLST": "CLST", "JST": "JST", "MST": "MST", "MDT": "MDT", "LHDT": "LHDT", "CHAST": "CHAST", "CST": "CST", "NZDT": "NZDT", "CAT": "CAT", "COST": "COST", "ECT": "ECT", "ART": "ART", "PST": "PST", "MYT": "MYT", "WIT": "WIT", "WEZ": "WEZ", "PDT": "PDT", "AST": "AST", "GMT": "GMT", "ACST": "ACST", "TMST": "TMST", "UYT": "UYT", "∅∅∅": "∅∅∅", "SGT": "SGT", "SAST": "SAST", "JDT": "JDT", "EDT": "EDT", "OESZ": "OESZ", "IST": "IST", "AKST": "AKST", "ADT": "ADT", "GYT": "GYT", "HNT": "HNT", "UYST": "UYST", "TMT": "TMT", "HKT": "HKT", "HADT": "HADT", "WAT": "WAT", "WAST": "WAST", "BT": "BT", "VET": "VET", "HAST": "HAST", "WITA": "WITA", "CDT": "CDT", "LHST": "LHST", "MEZ": "MEZ", "ACWDT": "ACWDT", "EST": "EST", "EAT": "EAT", "BOT": "BOT", "HAT": "HAT", "MESZ": "MESZ", "AEDT": "AEDT", "WART": "WART", "AKDT": "AKDT", "AWDT": "AWDT", "WESZ": "WESZ", "SRT": "SRT", "OEZ": "OEZ", "ACDT": "ACDT", "ARST": "ARST", "ChST": "ChST", "HKST": "HKST", "CHADT": "CHADT", "GFT": "GFT", "COT": "COT", "ACWST": "ACWST", "AEST": "AEST", "WARST": "WARST", "CLT": "CLT"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "WAT": "WAT", "HAT": "HAT", "ChST": "ChST", "HNEG": "HNEG", "AKST": "AKST", "AKDT": "AKDT", "WIT": "WIT", "BT": "BT", "LHDT": "LHDT", "CLT": "CLT", "COST": "COST", "HNCU": "HNCU", "EDT": "EDT", "VET": "VET", "SRT": "SRT", "AEST": "AEST", "AEDT": "AEDT", "JDT": "JDT", "GFT": "GFT", "GYT": "GYT", "HADT": "HADT", "HNOG": "HNOG", "PDT": "PDT", "AWST": "AWST", "AWDT": "AWDT", "CLST": "CLST", "TMT": "TMT", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "WESZ": "WESZ", "HKT": "HKT", "MEZ": "MEZ", "CHAST": "CHAST", "ACDT": "ACDT", "WAST": "WAST", "OEZ": "OEZ", "COT": "COT", "ART": "ART", "ECT": "ECT", "WARST": "WARST", "HNNOMX": "HNNOMX", "SGT": "SGT", "EST": "EST", "PST": "PST", "HNT": "HNT", "NZST": "NZST", "HEEG": "HEEG", "CAT": "CAT", "OESZ": "OESZ", "MDT": "MDT", "UYT": "UYT", "EAT": "EAT", "HECU": "HECU", "HNPMX": "HNPMX", "CST": "CST", "HEPM": "HEPM", "NZDT": "NZDT", "IST": "IST", "JST": "JST", "ADT": "ADT", "HEOG": "HEOG", "ACWST": "ACWST", "HKST": "HKST", "HNPM": "HNPM", "SAST": "SAST", "TMST": "TMST", "WART": "WART", "ARST": "ARST", "WEZ": "WEZ", "WITA": "WITA", "MESZ": "MESZ", "BOT": "BOT", "CDT": "CDT", "ACWDT": "ACWDT", "CHADT": "CHADT", "GMT": "GMT", "AST": "AST", "UYST": "UYST", "MST": "MST", "MYT": "MYT", "WIB": "WIB", "HAST": "HAST", "LHST": "LHST", "ACST": "ACST"}, } } @@ -375,7 +375,12 @@ func (agq *agq_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (agq *agq_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (agq *agq_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (agq *agq_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, agq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ak/ak.go b/ak/ak.go index b398d87dd..17425f4a0 100644 --- a/ak/ak.go +++ b/ak/ak.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "S-Ɔ", "K-Ɔ", "E-Ɔ", "E-O", "E-K", "O-A", "A-K", "D-Ɔ", "F-Ɛ", "Ɔ-A", "Ɔ-O", "M-Ɔ"}, monthsWide: []string{"", "Sanda-Ɔpɛpɔn", "Kwakwar-Ɔgyefuo", "Ebɔw-Ɔbenem", "Ebɔbira-Oforisuo", "Esusow Aketseaba-Kɔtɔnimba", "Obirade-Ayɛwohomumu", "Ayɛwoho-Kitawonsa", "Difuu-Ɔsandaa", "Fankwa-Ɛbɔ", "Ɔbɛsɛ-Ahinime", "Ɔberɛfɛw-Obubuo", "Mumu-Ɔpɛnimba"}, daysAbbreviated: []string{"Kwe", "Dwo", "Ben", "Wuk", "Yaw", "Fia", "Mem"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "KE"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ansa Kristo", "Kristo Ekyiri"}, - timezones: map[string]string{"SAST": "SAST", "GYT": "GYT", "AWDT": "AWDT", "WEZ": "WEZ", "ACDT": "ACDT", "ACWDT": "ACWDT", "PDT": "PDT", "CAT": "CAT", "ACST": "ACST", "ARST": "ARST", "AEDT": "AEDT", "GMT": "GMT", "CHADT": "CHADT", "HAST": "HAST", "AST": "AST", "ACWST": "ACWST", "AEST": "AEST", "NZST": "NZST", "CLT": "CLT", "LHST": "LHST", "OEZ": "OEZ", "HADT": "HADT", "IST": "IST", "CST": "CST", "ChST": "ChST", "AKST": "AKST", "AKDT": "AKDT", "WAST": "WAST", "HAT": "HAT", "BT": "BT", "LHDT": "LHDT", "SGT": "SGT", "WARST": "WARST", "VET": "VET", "UYST": "UYST", "WESZ": "WESZ", "HKT": "HKT", "PST": "PST", "TMT": "TMT", "TMST": "TMST", "HNT": "HNT", "HKST": "HKST", "COT": "COT", "WART": "WART", "EAT": "EAT", "WIT": "WIT", "ART": "ART", "WITA": "WITA", "MYT": "MYT", "BOT": "BOT", "NZDT": "NZDT", "JST": "JST", "SRT": "SRT", "ECT": "ECT", "MEZ": "MEZ", "AWST": "AWST", "CHAST": "CHAST", "GFT": "GFT", "OESZ": "OESZ", "COST": "COST", "MST": "MST", "MDT": "MDT", "CLST": "CLST", "UYT": "UYT", "MESZ": "MESZ", "WAT": "WAT", "CDT": "CDT", "ADT": "ADT", "JDT": "JDT", "∅∅∅": "∅∅∅", "WIB": "WIB", "EST": "EST", "EDT": "EDT"}, + timezones: map[string]string{"ACST": "ACST", "MST": "MST", "HNT": "HNT", "ART": "ART", "WIB": "WIB", "ACWST": "ACWST", "MEZ": "MEZ", "MESZ": "MESZ", "JDT": "JDT", "HNCU": "HNCU", "AKST": "AKST", "AST": "AST", "AWST": "AWST", "CHADT": "CHADT", "JST": "JST", "OEZ": "OEZ", "EDT": "EDT", "HAT": "HAT", "LHST": "LHST", "ChST": "ChST", "BOT": "BOT", "COT": "COT", "CDT": "CDT", "HAST": "HAST", "WESZ": "WESZ", "SAST": "SAST", "∅∅∅": "∅∅∅", "WAST": "WAST", "WARST": "WARST", "WIT": "WIT", "BT": "BT", "ACWDT": "ACWDT", "WITA": "WITA", "NZDT": "NZDT", "CLST": "CLST", "WAT": "WAT", "WART": "WART", "GMT": "GMT", "MYT": "MYT", "HNNOMX": "HNNOMX", "EST": "EST", "WEZ": "WEZ", "AEDT": "AEDT", "TMT": "TMT", "CST": "CST", "CHAST": "CHAST", "HENOMX": "HENOMX", "MDT": "MDT", "HADT": "HADT", "VET": "VET", "PST": "PST", "HEEG": "HEEG", "ECT": "ECT", "ADT": "ADT", "ARST": "ARST", "HNPM": "HNPM", "GFT": "GFT", "ACDT": "ACDT", "COST": "COST", "SGT": "SGT", "HEPMX": "HEPMX", "AKDT": "AKDT", "SRT": "SRT", "LHDT": "LHDT", "IST": "IST", "TMST": "TMST", "OESZ": "OESZ", "HECU": "HECU", "UYT": "UYT", "AWDT": "AWDT", "HKST": "HKST", "HEPM": "HEPM", "HKT": "HKT", "NZST": "NZST", "HNEG": "HNEG", "EAT": "EAT", "UYST": "UYST", "AEST": "AEST", "CLT": "CLT", "HNPMX": "HNPMX", "HEOG": "HEOG", "CAT": "CAT", "GYT": "GYT", "PDT": "PDT", "HNOG": "HNOG"}, } } @@ -346,7 +346,12 @@ func (ak *ak) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -360,7 +365,12 @@ func (ak *ak) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -376,7 +386,13 @@ func (ak *ak) FmtDateFull(t time.Time) string { b = append(b, ak.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ak_GH/ak_GH.go b/ak_GH/ak_GH.go index c8a944f28..c07c545b6 100644 --- a/ak_GH/ak_GH.go +++ b/ak_GH/ak_GH.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "S-Ɔ", "K-Ɔ", "E-Ɔ", "E-O", "E-K", "O-A", "A-K", "D-Ɔ", "F-Ɛ", "Ɔ-A", "Ɔ-O", "M-Ɔ"}, monthsWide: []string{"", "Sanda-Ɔpɛpɔn", "Kwakwar-Ɔgyefuo", "Ebɔw-Ɔbenem", "Ebɔbira-Oforisuo", "Esusow Aketseaba-Kɔtɔnimba", "Obirade-Ayɛwohomumu", "Ayɛwoho-Kitawonsa", "Difuu-Ɔsandaa", "Fankwa-Ɛbɔ", "Ɔbɛsɛ-Ahinime", "Ɔberɛfɛw-Obubuo", "Mumu-Ɔpɛnimba"}, daysAbbreviated: []string{"Kwe", "Dwo", "Ben", "Wuk", "Yaw", "Fia", "Mem"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "KE"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ansa Kristo", "Kristo Ekyiri"}, - timezones: map[string]string{"MDT": "MDT", "JST": "JST", "AEDT": "AEDT", "HAT": "HAT", "VET": "VET", "ECT": "ECT", "EST": "EST", "PDT": "PDT", "WITA": "WITA", "OEZ": "OEZ", "CHADT": "CHADT", "WAST": "WAST", "AKDT": "AKDT", "CAT": "CAT", "MEZ": "MEZ", "NZST": "NZST", "LHST": "LHST", "EAT": "EAT", "TMST": "TMST", "WIB": "WIB", "AEST": "AEST", "ACWDT": "ACWDT", "PST": "PST", "TMT": "TMT", "OESZ": "OESZ", "HKT": "HKT", "COT": "COT", "COST": "COST", "HADT": "HADT", "WARST": "WARST", "SAST": "SAST", "∅∅∅": "∅∅∅", "MST": "MST", "GMT": "GMT", "CHAST": "CHAST", "AKST": "AKST", "ARST": "ARST", "NZDT": "NZDT", "UYT": "UYT", "ACWST": "ACWST", "WAT": "WAT", "AWDT": "AWDT", "SGT": "SGT", "UYST": "UYST", "SRT": "SRT", "WEZ": "WEZ", "AST": "AST", "CDT": "CDT", "BT": "BT", "CLT": "CLT", "CLST": "CLST", "HKST": "HKST", "WART": "WART", "ART": "ART", "ADT": "ADT", "GYT": "GYT", "MYT": "MYT", "BOT": "BOT", "WIT": "WIT", "IST": "IST", "AWST": "AWST", "LHDT": "LHDT", "WESZ": "WESZ", "ACST": "ACST", "EDT": "EDT", "CST": "CST", "MESZ": "MESZ", "HAST": "HAST", "ChST": "ChST", "HNT": "HNT", "JDT": "JDT", "GFT": "GFT", "ACDT": "ACDT"}, + timezones: map[string]string{"ACDT": "ACDT", "HNT": "HNT", "NZDT": "NZDT", "MESZ": "MESZ", "SAST": "SAST", "ACWST": "ACWST", "ChST": "ChST", "MDT": "MDT", "UYT": "UYT", "WIB": "WIB", "ARST": "ARST", "COT": "COT", "COST": "COST", "HNCU": "HNCU", "HEPMX": "HEPMX", "CLST": "CLST", "ACST": "ACST", "PDT": "PDT", "JDT": "JDT", "OESZ": "OESZ", "∅∅∅": "∅∅∅", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "AWDT": "AWDT", "EAT": "EAT", "AKDT": "AKDT", "UYST": "UYST", "HKT": "HKT", "EST": "EST", "CHAST": "CHAST", "CHADT": "CHADT", "HEOG": "HEOG", "IST": "IST", "GFT": "GFT", "ECT": "ECT", "MST": "MST", "CST": "CST", "SRT": "SRT", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "WARST": "WARST", "HAST": "HAST", "HEPM": "HEPM", "WART": "WART", "HKST": "HKST", "WITA": "WITA", "AEDT": "AEDT", "MYT": "MYT", "JST": "JST", "WAST": "WAST", "HNOG": "HNOG", "PST": "PST", "WEZ": "WEZ", "HEEG": "HEEG", "TMT": "TMT", "HECU": "HECU", "SGT": "SGT", "AKST": "AKST", "CLT": "CLT", "TMST": "TMST", "BOT": "BOT", "ADT": "ADT", "HADT": "HADT", "WESZ": "WESZ", "MEZ": "MEZ", "AST": "AST", "GYT": "GYT", "VET": "VET", "ART": "ART", "CAT": "CAT", "GMT": "GMT", "EDT": "EDT", "CDT": "CDT", "AWST": "AWST", "NZST": "NZST", "LHDT": "LHDT", "HNEG": "HNEG", "WAT": "WAT", "HENOMX": "HENOMX", "BT": "BT", "AEST": "AEST", "WIT": "WIT", "HAT": "HAT", "HNPM": "HNPM", "LHST": "LHST"}, } } @@ -346,7 +346,12 @@ func (ak *ak_GH) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -360,7 +365,12 @@ func (ak *ak_GH) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -376,7 +386,13 @@ func (ak *ak_GH) FmtDateFull(t time.Time) string { b = append(b, ak.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ak.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/am/am.go b/am/am.go index 43e89cd59..4ae553c54 100644 --- a/am/am.go +++ b/am/am.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ብር", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ብር", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ጃንዩ", "ፌብሩ", "ማርች", "ኤፕሪ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክቶ", "ኖቬም", "ዲሴም"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"ጥዋት", "ከሰዓት"}, periodsNarrow: []string{"ጠ", "ከ"}, periodsWide: []string{"ጥዋት", "ከሰዓት"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"ዓ/ዓ", "ዓ/ም"}, erasNarrow: []string{"ዓ/ዓ", "ዓ/ም"}, erasWide: []string{"ዓመተ ዓለም", "ዓመተ ምሕረት"}, - timezones: map[string]string{"WAST": "የምዕራብ አፍሪካ ክረምት ሰዓት", "EDT": "የምዕራባዊ የቀን ሰዓት አቆጣጠር", "GYT": "የጉያና ሰዓት", "NZDT": "የኒው ዚላንድ የቀን ብርሃን ሰዓት", "LHST": "የሎርድ ሆዌ መደበኛ የሰዓት አቆጣጠር", "MESZ": "የመካከለኛው አውሮፓ ክረምት ሰዓት", "CHAST": "የቻታም መደበኛ ሰዓት", "TMST": "የቱርክመኒስታን ክረምት ሰዓት", "HADT": "የሃዋይ አሌኡት የቀን ሰዓት አቆጣጠር", "AST": "የአትላንቲክ መደበኛ የሰዓት አቆጣጠር", "WITA": "የመካከለኛው ኢንዶኔዢያ ሰዓት", "CLST": "የቺሊ ክረምት ሰዓት", "CAT": "የመካከለኛው አፍሪካ ሰዓት", "HKST": "የሆንግ ኮንግ ክረምት ሰዓት", "WART": "የምዕራባዊ አርጀንቲና መደበኛ ሰዓት አቆጣጠር", "AKDT": "የአላስካ የቀን ሰዓት አቆጣጠር", "PDT": "የፓስፊክ የቀን ሰዓት አቆጣጠር", "MDT": "የተራራ የቀንሰዓት አቆጣጠር", "GFT": "የፈረንሳይ ጉያና ሰዓት", "COST": "የኮሎምቢያ ክረምት ሰዓት", "MEZ": "የመካከለኛው አውሮፓ መደበኛ ሰዓት", "AEDT": "የአውስትራሊያ ምዕራባዊ የቀን ሰዓት አቆጣጠር", "AKST": "የአላስካ መደበኛ የሰዓት አቆጣጠር", "EST": "የምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "MYT": "የማሌይዢያ ሰዓት", "BT": "የቡታን ሰዓት", "CLT": "የቺሊ መደበኛ ሰዓት", "WIB": "የምዕራባዊ ኢንዶኔዢያ ሰዓት", "OEZ": "የምስራቃዊ አውሮፓ መደበኛ ሰዓት", "HAST": "የሃዋይ አሌኡት መደበኛ ሰዓት አቆጣጠር", "MST": "የተራራ መደበኛ የሰዓት አቆጣጠር", "∅∅∅": "የአዞረስ ክረምት ሰዓት", "CDT": "የመካከለኛ የቀን ሰዓት አቆጣጠር", "BOT": "የቦሊቪያ ሰዓት", "LHDT": "የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር", "ACDT": "የአውስትራሊያ መካከለኛ የቀን ሰዓት አቆጣጠር", "ARST": "የአርጀንቲና የበጋ ሰዓት አቆጣጠር", "ADT": "የአትላንቲክ የቀን ሰዓት አቆጣጠር", "ChST": "የቻሞሮ መደበኛ ሰዓት", "ACST": "የአውስትራሊያ መካከለኛ መደበኛ የሰዓት አቆጣጠር", "UYT": "የኡራጓይ መደበኛ ሰዓት", "WEZ": "የምዕራባዊ አውሮፓ መደበኛ ሰዓት", "SRT": "የሱሪናም ሰዓት", "NZST": "የኒው ዚላንድ መደበኛ ሰዓት", "ART": "የአርጀንቲና መደበኛ ጊዜ", "EAT": "የምስራቅ አፍሪካ ሰዓት", "AWST": "የአውስትራሊያ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "AWDT": "የአውስትራሊያ ምስራቃዊ የቀን ሰዓት አቆጣጠር", "ACWST": "የአውስትራሊያ መካከለኛ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "JST": "የጃፓን መደበኛ ሰዓት", "CHADT": "የቻታም የቀን ብርሃን ሰዓት", "UYST": "የኡራጓይ ክረምት ሰዓት", "WAT": "የምዕራብ አፍሪካ መደበኛ ሰዓት", "JDT": "የጃፓን የቀን ብርሃን ሰዓት", "SGT": "የሲንጋፒር መደበኛ ሰዓት", "AEST": "የአውስትራሊያ ምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "PST": "የፓስፊክ መደበኛ ሰዓት አቆጣጠር", "TMT": "የቱርክመኒስታን መደበኛ ሰዓት", "COT": "የኮሎምቢያ መደበኛ ሰዓት", "HNT": "የኒውፋውንድላንድ መደበኛ የሰዓት አቆጣጠር", "GMT": "ግሪንዊች ማዕከላዊ ሰዓት", "WESZ": "የምዕራባዊ አውሮፓ ክረምት ሰዓት", "HKT": "የሆንግ ኮንግ መደበኛ ሰዓት", "VET": "የቬኔዝዌላ ሰዓት", "HAT": "የኒውፋውንድላንድ የቀን የሰዓት አቆጣጠር", "ACWDT": "የአውስትራሊያ መካከለኛው ምስራቅ የቀን ሰዓት አቆጣጠር", "WARST": "የአርጀንቲና ምስራቃዊ በጋ ሰዓት አቆጣጠር", "SAST": "የደቡብ አፍሪካ መደበኛ ሰዓት", "IST": "የህንድ መደበኛ ሰዓት", "CST": "የመካከለኛ መደበኛ ሰዓት አቆጣጠር", "WIT": "የምስራቃዊ ኢንዶኔዢያ ሰዓት", "OESZ": "የምስራቃዊ አውሮፓ ክረምት ሰዓት", "ECT": "የኢኳዶር ሰዓት"}, + timezones: map[string]string{"EST": "የምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "MDT": "MDT", "UYT": "የኡራጓይ መደበኛ ሰዓት", "LHST": "የሎርድ ሆዌ መደበኛ የሰዓት አቆጣጠር", "HEEG": "የምስራቅ ግሪንላንድ ክረምት ሰዓት", "OEZ": "የምስራቃዊ አውሮፓ መደበኛ ሰዓት", "WIB": "የምዕራባዊ ኢንዶኔዢያ ሰዓት", "HEPM": "ቅዱስ የፒዬር እና ሚኴሎን የቀን ብርሃን ሰዓት", "JST": "የጃፓን መደበኛ ሰዓት", "WAST": "የምዕራብ አፍሪካ ክረምት ሰዓት", "AKDT": "የአላስካ የቀን ሰዓት አቆጣጠር", "WIT": "የምስራቃዊ ኢንዶኔዢያ ሰዓት", "ART": "የአርጀንቲና መደበኛ ሰዓት አቆጣጠር", "AWDT": "የአውስትራሊያ ምስራቃዊ የቀን ሰዓት አቆጣጠር", "CHADT": "የቻታም የቀን ብርሃን ሰዓት", "HNEG": "የምስራቅ ግሪንላንድ መደበኛ ሰዓት", "COST": "የኮሎምቢያ ክረምት ሰዓት", "HEPMX": "የሜክሲኮ ፓሲፊክ የቀን ሰዓት አቆጣጠር", "PDT": "የፓስፊክ የቀን ሰዓት አቆጣጠር", "HKT": "የሆንግ ኮንግ መደበኛ ሰዓት", "MESZ": "የመካከለኛው አውሮፓ ክረምት ሰዓት", "IST": "የህንድ መደበኛ ሰዓት", "TMT": "የቱርክመኒስታን መደበኛ ሰዓት", "TMST": "የቱርክመኒስታን ክረምት ሰዓት", "EAT": "የምስራቅ አፍሪካ ሰዓት", "CDT": "የመካከለኛ የቀን ሰዓት አቆጣጠር", "HNOG": "የምዕራብ ግሪንላንድ መደበኛ ሰዓት", "CHAST": "የቻታም መደበኛ ሰዓት", "GFT": "የፈረንሳይ ጉያና ሰዓት", "HECU": "የኩባ የቀን ብርሃን ሰዓት", "HENOMX": "ሰሜናዊ ምእራብ የሜክሲኮ የቀን ሰዓት አቆጣጠር", "SGT": "የሲንጋፒር መደበኛ ሰዓት", "PST": "የፓስፊክ መደበኛ ሰዓት አቆጣጠር", "HEOG": "የምዕራብ ግሪንላንድ ክረምት ሰዓት", "AEST": "የአውስትራሊያ ምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "JDT": "የጃፓን የቀን ብርሃን ሰዓት", "ACDT": "የአውስትራሊያ መካከለኛ የቀን ሰዓት አቆጣጠር", "HNPM": "ቅዱስ የፒዬር እና ሚኴሎን መደበኛ ሰዓት", "HNCU": "የኩባ መደበኛ ሰዓት", "AST": "የአትላንቲክ መደበኛ የሰዓት አቆጣጠር", "UYST": "የኡራጓይ ክረምት ሰዓት", "HAST": "የሃዋይ አሌኡት መደበኛ ሰዓት አቆጣጠር", "LHDT": "የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር", "CLT": "የቺሊ መደበኛ ሰዓት", "∅∅∅": "የፔሩ ክረምት ሰዓት", "NZST": "የኒው ዚላንድ መደበኛ ሰዓት", "ChST": "የቻሞሮ መደበኛ ሰዓት", "SRT": "የሱሪናም ሰዓት", "GMT": "ግሪንዊች ማዕከላዊ ሰዓት", "HAT": "የኒውፋውንድላንድ የቀን የሰዓት አቆጣጠር", "HNNOMX": "ሰሜናዊ ምእራብ የሜክሲኮ መደበኛ ሰዓት አቆጣጠር", "WARST": "የአርጀንቲና ምስራቃዊ በጋ ሰዓት አቆጣጠር", "HNPMX": "የሜክሲኮ ፓሲፊክ መደበኛ ሰዓት አቆጣጠር", "AWST": "የአውስትራሊያ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "WITA": "የመካከለኛው ኢንዶኔዢያ ሰዓት", "NZDT": "የኒው ዚላንድ የቀን ብርሃን ሰዓት", "WAT": "የምዕራብ አፍሪካ መደበኛ ሰዓት", "HADT": "የሃዋይ አሌኡት የቀን ሰዓት አቆጣጠር", "ACWDT": "የአውስትራሊያ መካከለኛው ምስራቅ የቀን ሰዓት አቆጣጠር", "MST": "MST", "CAT": "የመካከለኛው አፍሪካ ሰዓት", "ECT": "የኢኳዶር ሰዓት", "COT": "የኮሎምቢያ መደበኛ ሰዓት", "ADT": "የአትላንቲክ የቀን ሰዓት አቆጣጠር", "MYT": "የማሌይዢያ ሰዓት", "VET": "የቬኔዝዌላ ሰዓት", "WESZ": "የምዕራባዊ አውሮፓ ክረምት ሰዓት", "ACST": "የአውስትራሊያ መካከለኛ መደበኛ የሰዓት አቆጣጠር", "AEDT": "የአውስትራሊያ ምዕራባዊ የቀን ሰዓት አቆጣጠር", "HNT": "የኒውፋውንድላንድ መደበኛ የሰዓት አቆጣጠር", "BT": "የቡታን ሰዓት", "HKST": "የሆንግ ኮንግ ክረምት ሰዓት", "EDT": "የምዕራባዊ የቀን ሰዓት አቆጣጠር", "AKST": "የአላስካ መደበኛ የሰዓት አቆጣጠር", "GYT": "የጉያና ሰዓት", "WEZ": "የምዕራባዊ አውሮፓ መደበኛ ሰዓት", "ACWST": "የአውስትራሊያ መካከለኛ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "OESZ": "የምስራቃዊ አውሮፓ ክረምት ሰዓት", "CST": "የመካከለኛ መደበኛ ሰዓት አቆጣጠር", "ARST": "የአርጀንቲና የበጋ ሰዓት አቆጣጠር", "MEZ": "የመካከለኛው አውሮፓ መደበኛ ሰዓት", "SAST": "የደቡብ አፍሪካ መደበኛ ሰዓት", "CLST": "የቺሊ ክረምት ሰዓት", "BOT": "የቦሊቪያ ሰዓት", "WART": "የምዕራባዊ አርጀንቲና መደበኛ ሰዓት አቆጣጠር"}, } } @@ -417,7 +417,12 @@ func (am *am) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (am *am) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (am *am) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (am *am) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/am_ET/am_ET.go b/am_ET/am_ET.go index cf452ef9e..0ab31dfdd 100644 --- a/am_ET/am_ET.go +++ b/am_ET/am_ET.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ጃንዩ", "ፌብሩ", "ማርች", "ኤፕሪ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክቶ", "ኖቬም", "ዲሴም"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"ጥዋት", "ከሰዓት"}, periodsNarrow: []string{"ጠ", "ከ"}, periodsWide: []string{"ጥዋት", "ከሰዓት"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"ዓ/ዓ", "ዓ/ም"}, erasNarrow: []string{"ዓ/ዓ", "ዓ/ም"}, erasWide: []string{"ዓመተ ዓለም", "ዓመተ ምሕረት"}, - timezones: map[string]string{"JST": "የጃፓን መደበኛ ሰዓት", "OESZ": "የምስራቃዊ አውሮፓ ክረምት ሰዓት", "ACWST": "የአውስትራሊያ መካከለኛ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "IST": "የህንድ መደበኛ ሰዓት", "OEZ": "የምስራቃዊ አውሮፓ መደበኛ ሰዓት", "CHADT": "የቻታም የቀን ብርሃን ሰዓት", "COST": "የኮሎምቢያ ክረምት ሰዓት", "WART": "የምዕራባዊ አርጀንቲና መደበኛ ሰዓት አቆጣጠር", "TMT": "የቱርክመኒስታን መደበኛ ሰዓት", "GMT": "ግሪንዊች ማዕከላዊ ሰዓት", "∅∅∅": "የአማዞን የቀን ሰዓት አቆጣጠር", "ADT": "የአትላንቲክ የቀን ሰዓት አቆጣጠር", "HNT": "የኒውፋውንድላንድ መደበኛ የሰዓት አቆጣጠር", "SGT": "የሲንጋፒር መደበኛ ሰዓት", "MDT": "የተራራ የቀንሰዓት አቆጣጠር", "UYST": "የኡራጓይ ክረምት ሰዓት", "VET": "የቬኔዝዌላ ሰዓት", "WIB": "የምዕራባዊ ኢንዶኔዢያ ሰዓት", "EST": "የምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "GYT": "የጉያና ሰዓት", "HKST": "የሆንግ ኮንግ ክረምት ሰዓት", "MEZ": "የመካከለኛው አውሮፓ መደበኛ ሰዓት", "PDT": "የፓስፊክ የቀን ሰዓት አቆጣጠር", "SAST": "የደቡብ አፍሪካ መደበኛ ሰዓት", "ACDT": "የአውስትራሊያ መካከለኛ የቀን ሰዓት አቆጣጠር", "ARST": "የአርጀንቲና የበጋ ሰዓት አቆጣጠር", "CST": "የመካከለኛ መደበኛ ሰዓት አቆጣጠር", "BT": "የቡታን ሰዓት", "CLST": "የቺሊ ክረምት ሰዓት", "HKT": "የሆንግ ኮንግ መደበኛ ሰዓት", "ACST": "የአውስትራሊያ መካከለኛ መደበኛ የሰዓት አቆጣጠር", "AKDT": "የአላስካ የቀን ሰዓት አቆጣጠር", "MST": "የተራራ መደበኛ የሰዓት አቆጣጠር", "EDT": "የምዕራባዊ የቀን ሰዓት አቆጣጠር", "TMST": "የቱርክመኒስታን ክረምት ሰዓት", "MYT": "የማሌይዢያ ሰዓት", "GFT": "የፈረንሳይ ጉያና ሰዓት", "CHAST": "የቻታም መደበኛ ሰዓት", "ECT": "የኢኳዶር ሰዓት", "HADT": "የሃዋይ አሌኡት የቀን ሰዓት አቆጣጠር", "ART": "የአርጀንቲና መደበኛ ጊዜ", "NZST": "የኒው ዚላንድ መደበኛ ሰዓት", "NZDT": "የኒው ዚላንድ የቀን ብርሃን ሰዓት", "WIT": "የምስራቃዊ ኢንዶኔዢያ ሰዓት", "WESZ": "የምዕራባዊ አውሮፓ ክረምት ሰዓት", "MESZ": "የመካከለኛው አውሮፓ ክረምት ሰዓት", "AEDT": "የአውስትራሊያ ምዕራባዊ የቀን ሰዓት አቆጣጠር", "SRT": "የሱሪናም ሰዓት", "LHDT": "የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር", "ACWDT": "የአውስትራሊያ መካከለኛው ምስራቅ የቀን ሰዓት አቆጣጠር", "EAT": "የምስራቅ አፍሪካ ሰዓት", "HAT": "የኒውፋውንድላንድ የቀን የሰዓት አቆጣጠር", "BOT": "የቦሊቪያ ሰዓት", "AWST": "የአውስትራሊያ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "LHST": "የሎርድ ሆዌ መደበኛ የሰዓት አቆጣጠር", "AST": "የአትላንቲክ መደበኛ የሰዓት አቆጣጠር", "WAT": "የምዕራብ አፍሪካ መደበኛ ሰዓት", "WAST": "የምዕራብ አፍሪካ ክረምት ሰዓት", "WITA": "የመካከለኛው ኢንዶኔዢያ ሰዓት", "CLT": "የቺሊ መደበኛ ሰዓት", "JDT": "የጃፓን የቀን ብርሃን ሰዓት", "COT": "የኮሎምቢያ መደበኛ ሰዓት", "WARST": "የአርጀንቲና ምስራቃዊ በጋ ሰዓት አቆጣጠር", "ChST": "የቻሞሮ መደበኛ ሰዓት", "CAT": "የመካከለኛው አፍሪካ ሰዓት", "HAST": "የሃዋይ አሌኡት መደበኛ ሰዓት አቆጣጠር", "AEST": "የአውስትራሊያ ምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "AKST": "የአላስካ መደበኛ የሰዓት አቆጣጠር", "AWDT": "የአውስትራሊያ ምስራቃዊ የቀን ሰዓት አቆጣጠር", "UYT": "የኡራጓይ መደበኛ ሰዓት", "WEZ": "የምዕራባዊ አውሮፓ መደበኛ ሰዓት", "PST": "የፓስፊክ መደበኛ ሰዓት አቆጣጠር", "CDT": "የመካከለኛ የቀን ሰዓት አቆጣጠር"}, + timezones: map[string]string{"UYST": "የኡራጓይ ክረምት ሰዓት", "WIT": "የምስራቃዊ ኢንዶኔዢያ ሰዓት", "AWST": "የአውስትራሊያ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "OEZ": "የምስራቃዊ አውሮፓ መደበኛ ሰዓት", "HNEG": "የምስራቅ ግሪንላንድ መደበኛ ሰዓት", "GMT": "ግሪንዊች ማዕከላዊ ሰዓት", "WIB": "የምዕራባዊ ኢንዶኔዢያ ሰዓት", "ACWST": "የአውስትራሊያ መካከለኛ ምስራቃዊ መደበኛ ሰዓት አቆጣጠር", "CLT": "የቺሊ መደበኛ ሰዓት", "HEPM": "ቅዱስ የፒዬር እና ሚኴሎን የቀን ብርሃን ሰዓት", "PDT": "የፓስፊክ የቀን ሰዓት አቆጣጠር", "CHADT": "የቻታም የቀን ብርሃን ሰዓት", "IST": "የህንድ መደበኛ ሰዓት", "∅∅∅": "የአማዞን የቀን ሰዓት አቆጣጠር", "JDT": "የጃፓን የቀን ብርሃን ሰዓት", "VET": "የቬኔዝዌላ ሰዓት", "WESZ": "የምዕራባዊ አውሮፓ ክረምት ሰዓት", "HAT": "የኒውፋውንድላንድ የቀን የሰዓት አቆጣጠር", "EST": "የምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "MYT": "የማሌይዢያ ሰዓት", "ADT": "የአትላንቲክ የቀን ሰዓት አቆጣጠር", "AEST": "የአውስትራሊያ ምዕራባዊ መደበኛ የሰዓት አቆጣጠር", "JST": "የጃፓን መደበኛ ሰዓት", "AST": "የአትላንቲክ መደበኛ የሰዓት አቆጣጠር", "BOT": "የቦሊቪያ ሰዓት", "MDT": "የተራራ የቀንሰዓት አቆጣጠር", "PST": "የፓስፊክ መደበኛ ሰዓት አቆጣጠር", "SAST": "የደቡብ አፍሪካ መደበኛ ሰዓት", "HNPMX": "የሜክሲኮ ፓሲፊክ መደበኛ ሰዓት አቆጣጠር", "UYT": "የኡራጓይ መደበኛ ሰዓት", "HAST": "የሃዋይ አሌኡት መደበኛ ሰዓት አቆጣጠር", "ACWDT": "የአውስትራሊያ መካከለኛው ምስራቅ የቀን ሰዓት አቆጣጠር", "MEZ": "የመካከለኛው አውሮፓ መደበኛ ሰዓት", "TMT": "የቱርክመኒስታን መደበኛ ሰዓት", "ACDT": "የአውስትራሊያ መካከለኛ የቀን ሰዓት አቆጣጠር", "SGT": "የሲንጋፒር መደበኛ ሰዓት", "HNCU": "የኩባ መደበኛ ሰዓት", "AKDT": "የአላስካ የቀን ሰዓት አቆጣጠር", "NZDT": "የኒው ዚላንድ የቀን ብርሃን ሰዓት", "CLST": "የቺሊ ክረምት ሰዓት", "HEEG": "የምስራቅ ግሪንላንድ ክረምት ሰዓት", "CHAST": "የቻታም መደበኛ ሰዓት", "MESZ": "የመካከለኛው አውሮፓ ክረምት ሰዓት", "WARST": "የአርጀንቲና ምስራቃዊ በጋ ሰዓት አቆጣጠር", "HECU": "የኩባ የቀን ብርሃን ሰዓት", "HNOG": "የምዕራብ ግሪንላንድ መደበኛ ሰዓት", "HKST": "የሆንግ ኮንግ ክረምት ሰዓት", "NZST": "የኒው ዚላንድ መደበኛ ሰዓት", "OESZ": "የምስራቃዊ አውሮፓ ክረምት ሰዓት", "CST": "የመካከለኛ መደበኛ ሰዓት አቆጣጠር", "SRT": "የሱሪናም ሰዓት", "HNPM": "ቅዱስ የፒዬር እና ሚኴሎን መደበኛ ሰዓት", "ChST": "የቻሞሮ መደበኛ ሰዓት", "WAST": "የምዕራብ አፍሪካ ክረምት ሰዓት", "EDT": "የምዕራባዊ የቀን ሰዓት አቆጣጠር", "CDT": "የመካከለኛ የቀን ሰዓት አቆጣጠር", "HADT": "የሃዋይ አሌኡት የቀን ሰዓት አቆጣጠር", "LHDT": "የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር", "WAT": "የምዕራብ አፍሪካ መደበኛ ሰዓት", "AEDT": "የአውስትራሊያ ምዕራባዊ የቀን ሰዓት አቆጣጠር", "ACST": "የአውስትራሊያ መካከለኛ መደበኛ የሰዓት አቆጣጠር", "EAT": "የምስራቅ አፍሪካ ሰዓት", "BT": "የቡታን ሰዓት", "ART": "የአርጀንቲና መደበኛ ሰዓት አቆጣጠር", "ARST": "የአርጀንቲና የበጋ ሰዓት አቆጣጠር", "MST": "የተራራ መደበኛ የሰዓት አቆጣጠር", "TMST": "የቱርክመኒስታን ክረምት ሰዓት", "WART": "የምዕራባዊ አርጀንቲና መደበኛ ሰዓት አቆጣጠር", "HKT": "የሆንግ ኮንግ መደበኛ ሰዓት", "ECT": "የኢኳዶር ሰዓት", "COT": "የኮሎምቢያ መደበኛ ሰዓት", "HEPMX": "የሜክሲኮ ፓሲፊክ የቀን ሰዓት አቆጣጠር", "GYT": "የጉያና ሰዓት", "WEZ": "የምዕራባዊ አውሮፓ መደበኛ ሰዓት", "HNT": "የኒውፋውንድላንድ መደበኛ የሰዓት አቆጣጠር", "HEOG": "የምዕራብ ግሪንላንድ ክረምት ሰዓት", "AWDT": "የአውስትራሊያ ምስራቃዊ የቀን ሰዓት አቆጣጠር", "HENOMX": "ሰሜናዊ ምእራብ የሜክሲኮ የቀን ሰዓት አቆጣጠር", "CAT": "የመካከለኛው አፍሪካ ሰዓት", "COST": "የኮሎምቢያ ክረምት ሰዓት", "HNNOMX": "ሰሜናዊ ምእራብ የሜክሲኮ መደበኛ ሰዓት አቆጣጠር", "AKST": "የአላስካ መደበኛ የሰዓት አቆጣጠር", "WITA": "የመካከለኛው ኢንዶኔዢያ ሰዓት", "LHST": "የሎርድ ሆዌ መደበኛ የሰዓት አቆጣጠር", "GFT": "የፈረንሳይ ጉያና ሰዓት"}, } } @@ -417,7 +417,12 @@ func (am *am_ET) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (am *am_ET) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (am *am_ET) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (am *am_ET) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, am.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar/ar.go b/ar/ar.go index a2c455fdd..05ebd8ff7 100644 --- a/ar/ar.go +++ b/ar/ar.go @@ -18,12 +18,13 @@ type ar struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "د.إ.\u200f", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "د.ب.\u200f", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "د.ج.\u200f", "ECS", "ECV", "EEK", "ج.م.\u200f", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "ر.إن.", "IEP", "ILP", "ILR", "₪", "₹", "د.ع.\u200f", "ر.إ.", "ISJ", "ISK", "ITL", "JMD", "د.أ.\u200f", "JP¥", "KES", "KGS", "KHR", "ف.ج.ق.\u200f", "KPW", "KRH", "KRO", "₩", "د.ك.\u200f", "KYD", "KZT", "LAK", "ل.ل.\u200f", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "د.ل.\u200f", "د.م.\u200f", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "أ.م.\u200f", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "ر.ع.\u200f", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "ر.ب.", "PLN", "PLZ", "PTE", "PYG", "ر.ق.\u200f", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "ر.س.\u200f", "SBD", "SCR", "د.س.\u200f", "ج.س.", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "ج.ج.س.", "STD", "SUR", "SVC", "ل.س.\u200f", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "د.ت.\u200f", "TOP", "TPE", "TRL", "ل.ت.", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "***", "YDD", "ر.ي.\u200f", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "د.إ.\u200f", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "د.ب.\u200f", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "د.ج.\u200f", "ECS", "ECV", "EEK", "ج.م.\u200f", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "د.ع.\u200f", "ر.إ.", "ISJ", "ISK", "ITL", "JMD", "د.أ.\u200f", "JP¥", "KES", "KGS", "KHR", "ف.ج.ق.\u200f", "KPW", "KRH", "KRO", "₩", "د.ك.\u200f", "KYD", "KZT", "LAK", "ل.ل.\u200f", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "د.ل.\u200f", "د.م.\u200f", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "أ.م.\u200f", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "ر.ع.\u200f", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "ر.ق.\u200f", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "ر.س.\u200f", "SBD", "SCR", "د.س.\u200f", "ج.س.", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "ل.س.\u200f", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "د.ت.\u200f", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "***", "YDD", "ر.ي.\u200f", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "CLT": "توقيت شيلي الرسمي", "WIT": "توقيت شرق إندونيسيا", "COT": "توقيت كولومبيا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "SAST": "توقيت جنوب أفريقيا", "GMT": "توقيت غرينتش", "CHAST": "توقيت تشاتام الرسمي", "CHADT": "توقيت تشاتام الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "ECT": "توقيت الإكوادور", "ARST": "توقيت الأرجنتين الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "VET": "توقيت فنزويلا", "TMT": "توقيت تركمانستان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "∅∅∅": "توقيت برازيليا الصيفي", "UYST": "توقيت أورغواي الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "WITA": "توقيت وسط إندونيسيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "JDT": "توقيت اليابان الصيفي", "LHST": "توقيت لورد هاو الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "COST": "توقيت كولومبيا الصيفي", "IST": "توقيت الهند", "TMST": "توقيت تركمانستان الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "SGT": "توقيت سنغافورة", "MYT": "توقيت ماليزيا", "AWDT": "توقيت غرب أستراليا الصيفي", "JST": "توقيت اليابان الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "CLST": "توقيت شيلي الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "WEZ": "توقيت غرب أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "ACDT": "توقيت وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "BT": "توقيت بوتان", "WARST": "توقيت غرب الأرجنتين الصيفي", "ChST": "توقيت تشامورو", "WIB": "توقيت غرب إندونيسيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "AWST": "توقيت غرب أستراليا الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "BOT": "توقيت بوليفيا", "GYT": "توقيت غيانا", "OEZ": "توقيت شرق أوروبا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "UYT": "توقيت أورغواي الرسمي", "SRT": "توقيت سورينام", "ART": "توقيت الأرجنتين الرسمي", "GFT": "توقيت غايانا الفرنسية", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKST": "التوقيت الرسمي لألاسكا"}, + timezones: map[string]string{"VET": "توقيت فنزويلا", "PDT": "توقيت المحيط الهادي الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "CAT": "توقيت وسط أفريقيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "WIT": "توقيت شرق إندونيسيا", "WESZ": "توقيت غرب أوروبا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "GFT": "توقيت غايانا الفرنسية", "ADT": "التوقيت الصيفي الأطلسي", "∅∅∅": "توقيت الأمازون الصيفي", "HNCU": "توقيت كوبا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "WITA": "توقيت وسط إندونيسيا", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "NZST": "توقيت نيوزيلندا الرسمي", "BT": "توقيت بوتان", "AWST": "توقيت غرب أستراليا الرسمي", "GMT": "توقيت غرينتش", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "OEZ": "توقيت شرق أوروبا الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "GYT": "توقيت غيانا", "ARST": "توقيت الأرجنتين الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "TMT": "توقيت تركمانستان الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "ECT": "توقيت الإكوادور", "COST": "توقيت كولومبيا الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "UYST": "توقيت أورغواي الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "ART": "توقيت الأرجنتين الرسمي", "IST": "توقيت الهند", "CLST": "توقيت شيلي الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AKST": "التوقيت الرسمي لألاسكا", "MYT": "توقيت ماليزيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "SRT": "توقيت سورينام", "PST": "توقيت المحيط الهادي الرسمي", "EAT": "توقيت شرق أفريقيا", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AST": "التوقيت الرسمي الأطلسي", "HNEG": "توقيت شرق غرينلاند الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "HECU": "توقيت كوبا الصيفي", "UYT": "توقيت أورغواي الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "JDT": "توقيت اليابان الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "HAST": "توقيت هاواي ألوتيان الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "CHADT": "توقيت تشاتام الصيفي", "ChST": "توقيت تشامورو", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "SAST": "توقيت جنوب أفريقيا", "WARST": "توقيت غرب الأرجنتين الصيفي", "COT": "توقيت كولومبيا الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "CLT": "توقيت شيلي الرسمي", "JST": "توقيت اليابان الرسمي", "TMST": "توقيت تركمانستان الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "SGT": "توقيت سنغافورة"}, } } @@ -251,7 +253,7 @@ func (ar *ar) WeekdaysWide() []string { func (ar *ar) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_001/ar_001.go b/ar_001/ar_001.go index b249d5502..cffbc6a09 100644 --- a/ar_001/ar_001.go +++ b/ar_001/ar_001.go @@ -18,12 +18,13 @@ type ar_001 struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HAST": "توقيت هاواي ألوتيان الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "ART": "توقيت الأرجنتين الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "CLST": "توقيت شيلي الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "IST": "توقيت الهند", "BT": "توقيت بوتان", "WESZ": "توقيت غرب أوروبا الصيفي", "VET": "توقيت فنزويلا", "MDT": "MDT", "TMST": "توقيت تركمانستان الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "COST": "توقيت كولومبيا الصيفي", "SAST": "توقيت جنوب أفريقيا", "PDT": "توقيت المحيط الهادي الصيفي", "MYT": "توقيت ماليزيا", "AWDT": "توقيت غرب أستراليا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AEDT": "توقيت شرق أستراليا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "WITA": "توقيت وسط إندونيسيا", "GMT": "توقيت غرينتش", "JDT": "توقيت اليابان الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "GYT": "توقيت غيانا", "PST": "توقيت المحيط الهادي الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "SGT": "توقيت سنغافورة", "MST": "MST", "NZDT": "توقيت نيوزيلندا الصيفي", "SRT": "توقيت سورينام", "GFT": "توقيت غايانا الفرنسية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "WIT": "توقيت شرق إندونيسيا", "UYT": "توقيت أورغواي الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "CLT": "توقيت شيلي الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "JST": "توقيت اليابان الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "UYST": "توقيت أورغواي الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "WIB": "توقيت غرب إندونيسيا", "ACDT": "توقيت وسط أستراليا الصيفي", "ChST": "توقيت تشامورو", "CAT": "توقيت وسط أفريقيا", "LHST": "توقيت لورد هاو الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "COT": "توقيت كولومبيا الرسمي", "ECT": "توقيت الإكوادور", "ARST": "توقيت الأرجنتين الصيفي", "EAT": "توقيت شرق أفريقيا", "AKDT": "توقيت ألاسكا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "CHADT": "توقيت تشاتام الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية"}, + timezones: map[string]string{"HADT": "توقيت هاواي ألوتيان الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "IST": "توقيت الهند", "ChST": "توقيت تشامورو", "TMST": "توقيت تركمانستان الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "SRT": "توقيت سورينام", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "JDT": "توقيت اليابان الصيفي", "UYT": "توقيت أورغواي الرسمي", "BT": "توقيت بوتان", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "UYST": "توقيت أورغواي الصيفي", "ART": "توقيت الأرجنتين الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "GYT": "توقيت غيانا", "VET": "توقيت فنزويلا", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "TMT": "توقيت تركمانستان الرسمي", "EAT": "توقيت شرق أفريقيا", "WAST": "توقيت غرب أفريقيا الصيفي", "COT": "توقيت كولومبيا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "WITA": "توقيت وسط إندونيسيا", "ECT": "توقيت الإكوادور", "WARST": "توقيت غرب الأرجنتين الصيفي", "HNCU": "توقيت كوبا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CHAST": "توقيت تشاتام الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "SGT": "توقيت سنغافورة", "MYT": "توقيت ماليزيا", "ARST": "توقيت الأرجنتين الصيفي", "LHST": "توقيت لورد هاو الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "COST": "توقيت كولومبيا الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "ADT": "التوقيت الصيفي الأطلسي", "HNOG": "توقيت غرب غرينلاند الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "CAT": "توقيت وسط أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "AKDT": "توقيت ألاسكا الصيفي", "WIB": "توقيت غرب إندونيسيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "CLT": "توقيت شيلي الرسمي", "JST": "توقيت اليابان الرسمي", "BOT": "توقيت بوليفيا", "GFT": "توقيت غايانا الفرنسية", "∅∅∅": "توقيت بيرو الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WEZ": "توقيت غرب أوروبا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "HECU": "توقيت كوبا الصيفي", "WIT": "توقيت شرق إندونيسيا", "SAST": "توقيت جنوب أفريقيا", "CLST": "توقيت شيلي الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "MDT": "MDT"}, } } @@ -251,7 +253,7 @@ func (ar *ar_001) WeekdaysWide() []string { func (ar *ar_001) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_001) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_001) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_001) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_001) FmtCurrency(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_001) FmtCurrency(num float64, v uint64, currency currency.Type) str b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_001) FmtCurrency(num float64, v uint64, currency currency.Type) str } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_001) FmtAccounting(num float64, v uint64, currency currency.Type) s s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_001) FmtAccounting(num float64, v uint64, currency currency.Type) s if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_001) FmtAccounting(num float64, v uint64, currency currency.Type) s } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_001) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_001) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_001) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_001) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_AE/ar_AE.go b/ar_AE/ar_AE.go index 6fd577fbc..067ae8aee 100644 --- a/ar_AE/ar_AE.go +++ b/ar_AE/ar_AE.go @@ -18,12 +18,13 @@ type ar_AE struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HKT": "توقيت هونغ كونغ الرسمي", "COST": "توقيت كولومبيا الصيفي", "MYT": "توقيت ماليزيا", "∅∅∅": "توقيت أزورس الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "GMT": "توقيت غرينتش", "UYT": "توقيت أورغواي الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "TMST": "توقيت تركمانستان الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "CLST": "توقيت شيلي الصيفي", "JDT": "توقيت اليابان الصيفي", "SGT": "توقيت سنغافورة", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "BOT": "توقيت بوليفيا", "PST": "توقيت المحيط الهادي الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "ECT": "توقيت الإكوادور", "VET": "توقيت فنزويلا", "HAST": "توقيت هاواي ألوتيان الرسمي", "EAT": "توقيت شرق أفريقيا", "WIT": "توقيت شرق إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CHAST": "توقيت تشاتام الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "WITA": "توقيت وسط إندونيسيا", "MESZ": "توقيت وسط أوروبا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "GFT": "توقيت غايانا الفرنسية", "ART": "توقيت الأرجنتين الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "HKST": "توقيت هونغ كونغ الصيفي", "SRT": "توقيت سورينام", "LHDT": "التوقيت الصيفي للورد هاو", "ACST": "توقيت وسط أستراليا الرسمي", "COT": "توقيت كولومبيا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "GYT": "توقيت غيانا", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "IST": "توقيت الهند", "UYST": "توقيت أورغواي الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "WIB": "توقيت غرب إندونيسيا", "WART": "توقيت غرب الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "AKST": "التوقيت الرسمي لألاسكا", "AKDT": "توقيت ألاسكا الصيفي", "JST": "توقيت اليابان الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "TMT": "توقيت تركمانستان الرسمي", "ChST": "توقيت تشامورو", "BT": "توقيت بوتان", "CLT": "توقيت شيلي الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي"}, + timezones: map[string]string{"PST": "توقيت المحيط الهادي الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "LHST": "توقيت لورد هاو الرسمي", "CLT": "توقيت شيلي الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "HNT": "توقيت نيوفاوندلاند الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "SRT": "توقيت سورينام", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "IST": "توقيت الهند", "GFT": "توقيت غايانا الفرنسية", "CAT": "توقيت وسط أفريقيا", "HNCU": "توقيت كوبا الرسمي", "MYT": "توقيت ماليزيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "SGT": "توقيت سنغافورة", "HADT": "توقيت هاواي ألوتيان الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "EAT": "توقيت شرق أفريقيا", "COST": "توقيت كولومبيا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "WAT": "توقيت غرب أفريقيا الرسمي", "COT": "توقيت كولومبيا الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "MST": "MST", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "ARST": "توقيت الأرجنتين الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "SAST": "توقيت جنوب أفريقيا", "ACDT": "توقيت وسط أستراليا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "UYT": "توقيت أورغواي الرسمي", "MDT": "MDT", "WIT": "توقيت شرق إندونيسيا", "HEOG": "توقيت غرب غرينلاند الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "JDT": "توقيت اليابان الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AEST": "توقيت شرق أستراليا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "JST": "توقيت اليابان الرسمي", "WIB": "توقيت غرب إندونيسيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "BOT": "توقيت بوليفيا", "TMST": "توقيت تركمانستان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "UYST": "توقيت أورغواي الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HEEG": "توقيت شرق غرينلاند الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "BT": "توقيت بوتان", "PDT": "توقيت المحيط الهادي الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ECT": "توقيت الإكوادور", "HECU": "توقيت كوبا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "WITA": "توقيت وسط إندونيسيا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "CLST": "توقيت شيلي الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "ChST": "توقيت تشامورو", "VET": "توقيت فنزويلا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_AE) WeekdaysWide() []string { func (ar *ar_AE) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_AE) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_AE) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_AE) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_AE) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_AE) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_AE) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_AE) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_AE) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_AE) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_AE) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_AE) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_AE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_AE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_BH/ar_BH.go b/ar_BH/ar_BH.go index 444a19867..6ea0023e1 100644 --- a/ar_BH/ar_BH.go +++ b/ar_BH/ar_BH.go @@ -18,12 +18,13 @@ type ar_BH struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CHADT": "توقيت تشاتام الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "IST": "توقيت الهند", "OESZ": "توقيت شرق أوروبا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "GMT": "توقيت غرينتش", "LHST": "توقيت لورد هاو الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "UYST": "توقيت أورغواي الصيفي", "SGT": "توقيت سنغافورة", "ART": "توقيت الأرجنتين الرسمي", "EAT": "توقيت شرق أفريقيا", "UYT": "توقيت أورغواي الرسمي", "COST": "توقيت كولومبيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "WEZ": "توقيت غرب أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "AWDT": "توقيت غرب أستراليا الصيفي", "CLST": "توقيت شيلي الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "HAT": "توقيت نيوفاوندلاند الصيفي", "JST": "توقيت اليابان الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "GYT": "توقيت غيانا", "NZDT": "توقيت نيوزيلندا الصيفي", "JDT": "توقيت اليابان الصيفي", "CHAST": "توقيت تشاتام الرسمي", "GFT": "توقيت غايانا الفرنسية", "SAST": "توقيت جنوب أفريقيا", "ChST": "توقيت تشامورو", "WESZ": "توقيت غرب أوروبا الصيفي", "WIB": "توقيت غرب إندونيسيا", "ACDT": "توقيت وسط أستراليا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "∅∅∅": "توقيت بيرو الصيفي", "COT": "توقيت كولومبيا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "BOT": "توقيت بوليفيا", "BT": "توقيت بوتان", "HNT": "توقيت نيوفاوندلاند الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "WITA": "توقيت وسط إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "ECT": "توقيت الإكوادور", "PDT": "توقيت المحيط الهادي الصيفي", "AST": "التوقيت الرسمي الأطلسي", "AWST": "توقيت غرب أستراليا الرسمي", "WIT": "توقيت شرق إندونيسيا", "SRT": "توقيت سورينام", "ACST": "توقيت وسط أستراليا الرسمي", "VET": "توقيت فنزويلا", "TMST": "توقيت تركمانستان الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية"}, + timezones: map[string]string{"MESZ": "توقيت وسط أوروبا الصيفي", "ECT": "توقيت الإكوادور", "AKDT": "توقيت ألاسكا الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "HECU": "توقيت كوبا الصيفي", "MST": "MST", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HNOG": "توقيت غرب غرينلاند الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "GYT": "توقيت غيانا", "MYT": "توقيت ماليزيا", "WIT": "توقيت شرق إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "GMT": "توقيت غرينتش", "HADT": "توقيت هاواي ألوتيان الصيفي", "BT": "توقيت بوتان", "HNCU": "توقيت كوبا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "CLT": "توقيت شيلي الرسمي", "TMT": "توقيت تركمانستان الرسمي", "CAT": "توقيت وسط أفريقيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "CLST": "توقيت شيلي الصيفي", "UYT": "توقيت أورغواي الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AEST": "توقيت شرق أستراليا الرسمي", "EAT": "توقيت شرق أفريقيا", "COT": "توقيت كولومبيا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WARST": "توقيت غرب الأرجنتين الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "HEOG": "توقيت غرب غرينلاند الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "COST": "توقيت كولومبيا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "IST": "توقيت الهند", "HEEG": "توقيت شرق غرينلاند الصيفي", "SGT": "توقيت سنغافورة", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "WEZ": "توقيت غرب أوروبا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "CHAST": "توقيت تشاتام الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "WAT": "توقيت غرب أفريقيا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "UYST": "توقيت أورغواي الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "JST": "توقيت اليابان الرسمي", "ChST": "توقيت تشامورو", "SRT": "توقيت سورينام", "CHADT": "توقيت تشاتام الصيفي", "GFT": "توقيت غايانا الفرنسية", "ACST": "توقيت وسط أستراليا الرسمي", "MDT": "MDT", "WIB": "توقيت غرب إندونيسيا", "ART": "توقيت الأرجنتين الرسمي", "LHST": "توقيت لورد هاو الرسمي", "BOT": "توقيت بوليفيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "JDT": "توقيت اليابان الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "TMST": "توقيت تركمانستان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "WESZ": "توقيت غرب أوروبا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "SAST": "توقيت جنوب أفريقيا", "AST": "التوقيت الرسمي الأطلسي", "ADT": "التوقيت الصيفي الأطلسي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WITA": "توقيت وسط إندونيسيا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_BH) WeekdaysWide() []string { func (ar *ar_BH) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_BH) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_BH) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_BH) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_BH) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_BH) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_BH) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_BH) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_BH) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_BH) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_BH) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_BH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_BH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_BH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_DJ/ar_DJ.go b/ar_DJ/ar_DJ.go index 584f28ab0..c5144cc5f 100644 --- a/ar_DJ/ar_DJ.go +++ b/ar_DJ/ar_DJ.go @@ -18,12 +18,13 @@ type ar_DJ struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HKST": "توقيت هونغ كونغ الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "SAST": "توقيت جنوب أفريقيا", "MYT": "توقيت ماليزيا", "LHDT": "التوقيت الصيفي للورد هاو", "VET": "توقيت فنزويلا", "WITA": "توقيت وسط إندونيسيا", "TMST": "توقيت تركمانستان الصيفي", "BOT": "توقيت بوليفيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "EAT": "توقيت شرق أفريقيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "WAT": "توقيت غرب أفريقيا الرسمي", "BT": "توقيت بوتان", "WESZ": "توقيت غرب أوروبا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "GYT": "توقيت غيانا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "SGT": "توقيت سنغافورة", "PDT": "توقيت المحيط الهادي الصيفي", "COT": "توقيت كولومبيا الرسمي", "WIB": "توقيت غرب إندونيسيا", "MESZ": "توقيت وسط أوروبا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "NZST": "توقيت نيوزيلندا الرسمي", "CAT": "توقيت وسط أفريقيا", "JST": "توقيت اليابان الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "∅∅∅": "توقيت أزورس الصيفي", "UYST": "توقيت أورغواي الصيفي", "GFT": "توقيت غايانا الفرنسية", "AEDT": "توقيت شرق أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "CLST": "توقيت شيلي الصيفي", "LHST": "توقيت لورد هاو الرسمي", "CHADT": "توقيت تشاتام الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "COST": "توقيت كولومبيا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "UYT": "توقيت أورغواي الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "GMT": "توقيت غرينتش", "NZDT": "توقيت نيوزيلندا الصيفي", "WIT": "توقيت شرق إندونيسيا", "JDT": "توقيت اليابان الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ECT": "توقيت الإكوادور", "IST": "توقيت الهند", "AST": "التوقيت الرسمي الأطلسي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CHAST": "توقيت تشاتام الرسمي", "SRT": "توقيت سورينام", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ChST": "توقيت تشامورو", "CLT": "توقيت شيلي الرسمي", "AWST": "توقيت غرب أستراليا الرسمي"}, + timezones: map[string]string{"ChST": "توقيت تشامورو", "TMT": "توقيت تركمانستان الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "NZST": "توقيت نيوزيلندا الرسمي", "SAST": "توقيت جنوب أفريقيا", "COT": "توقيت كولومبيا الرسمي", "HECU": "توقيت كوبا الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "WITA": "توقيت وسط إندونيسيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "CLST": "توقيت شيلي الصيفي", "BOT": "توقيت بوليفيا", "ACST": "توقيت وسط أستراليا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "BT": "توقيت بوتان", "WEZ": "توقيت غرب أوروبا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "GYT": "توقيت غيانا", "JDT": "توقيت اليابان الصيفي", "CAT": "توقيت وسط أفريقيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "MYT": "توقيت ماليزيا", "AKDT": "توقيت ألاسكا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "WESZ": "توقيت غرب أوروبا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "COST": "توقيت كولومبيا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "GMT": "توقيت غرينتش", "ART": "توقيت الأرجنتين الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "UYST": "توقيت أورغواي الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "WIB": "توقيت غرب إندونيسيا", "HEOG": "توقيت غرب غرينلاند الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "TMST": "توقيت تركمانستان الصيفي", "VET": "توقيت فنزويلا", "HKST": "توقيت هونغ كونغ الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MST": "MST", "MDT": "MDT", "MEZ": "توقيت وسط أوروبا الرسمي", "LHST": "توقيت لورد هاو الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "CLT": "توقيت شيلي الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "SGT": "توقيت سنغافورة", "SRT": "توقيت سورينام", "ACDT": "توقيت وسط أستراليا الصيفي", "EAT": "توقيت شرق أفريقيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HNOG": "توقيت غرب غرينلاند الرسمي", "ECT": "توقيت الإكوادور", "UYT": "توقيت أورغواي الرسمي", "GFT": "توقيت غايانا الفرنسية", "HNCU": "توقيت كوبا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "HADT": "توقيت هاواي ألوتيان الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "CHAST": "توقيت تشاتام الرسمي", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "WIT": "توقيت شرق إندونيسيا", "PDT": "توقيت المحيط الهادي الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك"}, } } @@ -251,7 +253,7 @@ func (ar *ar_DJ) WeekdaysWide() []string { func (ar *ar_DJ) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_DJ) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_DJ) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_DJ) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_DJ) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_DJ) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_DJ) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_DJ) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_DJ) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_DJ) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_DJ) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_DJ) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_DJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_DJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_DZ/ar_DZ.go b/ar_DZ/ar_DZ.go index 6c5977414..5ee8e2600 100644 --- a/ar_DZ/ar_DZ.go +++ b/ar_DZ/ar_DZ.go @@ -18,12 +18,13 @@ type ar_DZ struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ج", "ف", "م", "أ", "م", "ج", "ج", "أ", "س", "أ", "ن", "د"}, monthsWide: []string{"", "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"LHDT": "التوقيت الصيفي للورد هاو", "WART": "توقيت غرب الأرجنتين الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "∅∅∅": "∅∅∅", "AEST": "توقيت شرق أستراليا الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "CAT": "توقيت وسط أفريقيا", "CHAST": "توقيت تشاتام الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "LHST": "توقيت لورد هاو الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "WIB": "توقيت غرب إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "TMST": "توقيت تركمانستان الصيفي", "IST": "توقيت الهند", "SAST": "توقيت جنوب أفريقيا", "WIT": "توقيت شرق إندونيسيا", "SGT": "توقيت سنغافورة", "ACDT": "توقيت وسط أستراليا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "BOT": "توقيت بوليفيا", "AWDT": "توقيت غرب أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "CLST": "توقيت شيلي الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "GFT": "توقيت غايانا الفرنسية", "MESZ": "توقيت وسط أوروبا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "BT": "توقيت بوتان", "CHADT": "توقيت تشاتام الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "JST": "توقيت اليابان الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "MYT": "توقيت ماليزيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "COT": "توقيت كولومبيا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "GYT": "توقيت غيانا", "JDT": "توقيت اليابان الصيفي", "VET": "توقيت فنزويلا", "TMT": "توقيت تركمانستان الرسمي", "ECT": "توقيت الإكوادور", "AKDT": "توقيت ألاسكا الصيفي", "WITA": "توقيت وسط إندونيسيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "ChST": "توقيت تشامورو", "UYST": "توقيت أورغواي الصيفي", "SRT": "توقيت سورينام", "COST": "توقيت كولومبيا الصيفي", "GMT": "توقيت غرينتش", "NZST": "توقيت نيوزيلندا الرسمي", "UYT": "توقيت أورغواي الرسمي", "AST": "التوقيت الرسمي الأطلسي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية"}, + timezones: map[string]string{"HKST": "توقيت هونغ كونغ الصيفي", "CHAST": "توقيت تشاتام الرسمي", "CHADT": "توقيت تشاتام الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "ECT": "توقيت الإكوادور", "WART": "توقيت غرب الأرجنتين الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "COT": "توقيت كولومبيا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "ChST": "توقيت تشامورو", "WARST": "توقيت غرب الأرجنتين الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "SGT": "توقيت سنغافورة", "BT": "توقيت بوتان", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "GYT": "توقيت غيانا", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "HNOG": "توقيت غرب غرينلاند الرسمي", "LHST": "توقيت لورد هاو الرسمي", "SAST": "توقيت جنوب أفريقيا", "JDT": "توقيت اليابان الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "WAT": "توقيت غرب أفريقيا الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "WIT": "توقيت شرق إندونيسيا", "GFT": "توقيت غايانا الفرنسية", "TMT": "توقيت تركمانستان الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "CLT": "توقيت شيلي الرسمي", "CLST": "توقيت شيلي الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "ART": "توقيت الأرجنتين الرسمي", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "HNCU": "توقيت كوبا الرسمي", "HECU": "توقيت كوبا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "MYT": "توقيت ماليزيا", "UYT": "توقيت أورغواي الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "PDT": "توقيت المحيط الهادي الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HAT": "توقيت نيوفاوندلاند الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "TMST": "توقيت تركمانستان الصيفي", "EAT": "توقيت شرق أفريقيا", "WIB": "توقيت غرب إندونيسيا", "∅∅∅": "توقيت الأمازون الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "SRT": "توقيت سورينام", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "BOT": "توقيت بوليفيا", "WITA": "توقيت وسط إندونيسيا", "AST": "التوقيت الرسمي الأطلسي", "VET": "توقيت فنزويلا", "HNT": "توقيت نيوفاوندلاند الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WEZ": "توقيت غرب أوروبا الرسمي", "CAT": "توقيت وسط أفريقيا", "WAST": "توقيت غرب أفريقيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_DZ) WeekdaysWide() []string { func (ar *ar_DZ) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_DZ) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_DZ) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_DZ) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_DZ) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_DZ) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_DZ) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_DZ) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_DZ) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_DZ) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_DZ) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_DZ) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_DZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_DZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_EG/ar_EG.go b/ar_EG/ar_EG.go index 38981e488..662ace35e 100644 --- a/ar_EG/ar_EG.go +++ b/ar_EG/ar_EG.go @@ -18,12 +18,13 @@ type ar_EG struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"EAT": "توقيت شرق أفريقيا", "TMST": "توقيت تركمانستان الصيفي", "CAT": "توقيت وسط أفريقيا", "AWDT": "توقيت غرب أستراليا الصيفي", "UYST": "توقيت أورغواي الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "ART": "توقيت الأرجنتين الرسمي", "WIT": "توقيت شرق إندونيسيا", "GMT": "توقيت غرينتش", "ECT": "توقيت الإكوادور", "HAST": "توقيت هاواي ألوتيان الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "∅∅∅": "توقيت برازيليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "CLT": "توقيت شيلي الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "COST": "توقيت كولومبيا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "GFT": "توقيت غايانا الفرنسية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "SAST": "توقيت جنوب أفريقيا", "TMT": "توقيت تركمانستان الرسمي", "ChST": "توقيت تشامورو", "WIB": "توقيت غرب إندونيسيا", "ACST": "توقيت وسط أستراليا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "BOT": "توقيت بوليفيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "PDT": "توقيت المحيط الهادي الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "IST": "توقيت الهند", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "LHST": "توقيت لورد هاو الرسمي", "UYT": "توقيت أورغواي الرسمي", "JST": "توقيت اليابان الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "BT": "توقيت بوتان", "HKT": "توقيت هونغ كونغ الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "NZST": "توقيت نيوزيلندا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "COT": "توقيت كولومبيا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "SGT": "توقيت سنغافورة", "PST": "توقيت المحيط الهادي الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "CLST": "توقيت شيلي الصيفي", "SRT": "توقيت سورينام", "OEZ": "توقيت شرق أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "AST": "التوقيت الرسمي الأطلسي", "WAT": "توقيت غرب أفريقيا الرسمي", "WITA": "توقيت وسط إندونيسيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "JDT": "توقيت اليابان الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "GYT": "توقيت غيانا"}, + timezones: map[string]string{"HNPM": "توقيت سانت بيير وميكولون الرسمي", "JDT": "توقيت اليابان الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "MYT": "توقيت ماليزيا", "HEOG": "توقيت غرب غرينلاند الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "LHST": "توقيت لورد هاو الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "HECU": "توقيت كوبا الصيفي", "SGT": "توقيت سنغافورة", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "ECT": "توقيت الإكوادور", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AEDT": "توقيت شرق أستراليا الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "COST": "توقيت كولومبيا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WIB": "توقيت غرب إندونيسيا", "BT": "توقيت بوتان", "ART": "توقيت الأرجنتين الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "CLT": "توقيت شيلي الرسمي", "GFT": "توقيت غايانا الفرنسية", "WART": "توقيت غرب الأرجنتين الرسمي", "MST": "MST", "AKST": "التوقيت الرسمي لألاسكا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "GYT": "توقيت غيانا", "WAT": "توقيت غرب أفريقيا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "PST": "توقيت المحيط الهادي الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "SAST": "توقيت جنوب أفريقيا", "CLST": "توقيت شيلي الصيفي", "TMST": "توقيت تركمانستان الصيفي", "CAT": "توقيت وسط أفريقيا", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "EAT": "توقيت شرق أفريقيا", "MDT": "MDT", "HADT": "توقيت هاواي ألوتيان الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "CHAST": "توقيت تشاتام الرسمي", "TMT": "توقيت تركمانستان الرسمي", "ChST": "توقيت تشامورو", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "UYT": "توقيت أورغواي الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "JST": "توقيت اليابان الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "WIT": "توقيت شرق إندونيسيا", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "WEZ": "توقيت غرب أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "COT": "توقيت كولومبيا الرسمي", "GMT": "توقيت غرينتش", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "SRT": "توقيت سورينام", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "IST": "توقيت الهند", "ACDT": "توقيت وسط أستراليا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "BOT": "توقيت بوليفيا", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HNCU": "توقيت كوبا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "CHADT": "توقيت تشاتام الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_EG) WeekdaysWide() []string { func (ar *ar_EG) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_EG) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_EG) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_EG) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_EG) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_EG) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_EG) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_EG) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_EG) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_EG) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_EG) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_EG) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_EG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_EG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_EH/ar_EH.go b/ar_EH/ar_EH.go index 1cf716d6b..c742f783d 100644 --- a/ar_EH/ar_EH.go +++ b/ar_EH/ar_EH.go @@ -18,12 +18,13 @@ type ar_EH struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WIT": "توقيت شرق إندونيسيا", "JDT": "توقيت اليابان الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "IST": "توقيت الهند", "AWST": "توقيت غرب أستراليا الرسمي", "COST": "توقيت كولومبيا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "CLT": "توقيت شيلي الرسمي", "GMT": "توقيت غرينتش", "HKT": "توقيت هونغ كونغ الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "GFT": "توقيت غايانا الفرنسية", "WARST": "توقيت غرب الأرجنتين الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "COT": "توقيت كولومبيا الرسمي", "UYT": "توقيت أورغواي الرسمي", "SGT": "توقيت سنغافورة", "GYT": "توقيت غيانا", "HNT": "توقيت نيوفاوندلاند الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "ChST": "توقيت تشامورو", "JST": "توقيت اليابان الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "VET": "توقيت فنزويلا", "AKDT": "توقيت ألاسكا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "ECT": "توقيت الإكوادور", "WAST": "توقيت غرب أفريقيا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "AEDT": "توقيت شرق أستراليا الصيفي", "WITA": "توقيت وسط إندونيسيا", "OESZ": "توقيت شرق أوروبا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "MYT": "توقيت ماليزيا", "∅∅∅": "توقيت بيرو الصيفي", "BT": "توقيت بوتان", "CLST": "توقيت شيلي الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "WEZ": "توقيت غرب أوروبا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "PDT": "توقيت المحيط الهادي الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "SRT": "توقيت سورينام", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "WIB": "توقيت غرب إندونيسيا", "EAT": "توقيت شرق أفريقيا", "CAT": "توقيت وسط أفريقيا", "AWDT": "توقيت غرب أستراليا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "TMST": "توقيت تركمانستان الصيفي"}, + timezones: map[string]string{"HNOG": "توقيت غرب غرينلاند الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "GMT": "توقيت غرينتش", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "UYT": "توقيت أورغواي الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "HAT": "توقيت نيوفاوندلاند الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "CHAST": "توقيت تشاتام الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "SAST": "توقيت جنوب أفريقيا", "JST": "توقيت اليابان الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AST": "التوقيت الرسمي الأطلسي", "PST": "توقيت المحيط الهادي الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "CLT": "توقيت شيلي الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "BT": "توقيت بوتان", "HEOG": "توقيت غرب غرينلاند الصيفي", "TMST": "توقيت تركمانستان الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "VET": "توقيت فنزويلا", "EAT": "توقيت شرق أفريقيا", "HNCU": "توقيت كوبا الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "SRT": "توقيت سورينام", "WEZ": "توقيت غرب أوروبا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "ECT": "توقيت الإكوادور", "WAT": "توقيت غرب أفريقيا الرسمي", "GYT": "توقيت غيانا", "WIB": "توقيت غرب إندونيسيا", "JDT": "توقيت اليابان الصيفي", "CLST": "توقيت شيلي الصيفي", "UYST": "توقيت أورغواي الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ART": "توقيت الأرجنتين الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "SGT": "توقيت سنغافورة", "HECU": "توقيت كوبا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "GFT": "توقيت غايانا الفرنسية", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "AKST": "التوقيت الرسمي لألاسكا", "NZDT": "توقيت نيوزيلندا الصيفي", "IST": "توقيت الهند", "∅∅∅": "توقيت الأمازون الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "COST": "توقيت كولومبيا الصيفي", "MDT": "MDT", "HADT": "توقيت هاواي ألوتيان الصيفي", "WITA": "توقيت وسط إندونيسيا", "CHADT": "توقيت تشاتام الصيفي", "TMT": "توقيت تركمانستان الرسمي", "BOT": "توقيت بوليفيا", "ACDT": "توقيت وسط أستراليا الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "ChST": "توقيت تشامورو", "CAT": "توقيت وسط أفريقيا", "COT": "توقيت كولومبيا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "LHST": "توقيت لورد هاو الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "WIT": "توقيت شرق إندونيسيا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_EH) WeekdaysWide() []string { func (ar *ar_EH) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_EH) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_EH) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_EH) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_EH) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_EH) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_EH) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_EH) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_EH) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_EH) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_EH) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_EH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_EH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_EH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_ER/ar_ER.go b/ar_ER/ar_ER.go index ea4ff00eb..355e486bb 100644 --- a/ar_ER/ar_ER.go +++ b/ar_ER/ar_ER.go @@ -18,12 +18,13 @@ type ar_ER struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AWDT": "توقيت غرب أستراليا الصيفي", "UYST": "توقيت أورغواي الصيفي", "JST": "توقيت اليابان الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "CAT": "توقيت وسط أفريقيا", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "MYT": "توقيت ماليزيا", "WITA": "توقيت وسط إندونيسيا", "MDT": "MDT", "UYT": "توقيت أورغواي الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "EAT": "توقيت شرق أفريقيا", "TMT": "توقيت تركمانستان الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "IST": "توقيت الهند", "AKDT": "توقيت ألاسكا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HADT": "توقيت هاواي ألوتيان الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "SAST": "توقيت جنوب أفريقيا", "OESZ": "توقيت شرق أوروبا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "ChST": "توقيت تشامورو", "SRT": "توقيت سورينام", "SGT": "توقيت سنغافورة", "MESZ": "توقيت وسط أوروبا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLT": "توقيت شيلي الرسمي", "GMT": "توقيت غرينتش", "AWST": "توقيت غرب أستراليا الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "WIT": "توقيت شرق إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "∅∅∅": "توقيت برازيليا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "COST": "توقيت كولومبيا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "COT": "توقيت كولومبيا الرسمي", "WIB": "توقيت غرب إندونيسيا", "ACST": "توقيت وسط أستراليا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "VET": "توقيت فنزويلا", "AKST": "التوقيت الرسمي لألاسكا", "JDT": "توقيت اليابان الصيفي", "ECT": "توقيت الإكوادور", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "GYT": "توقيت غيانا", "PST": "توقيت المحيط الهادي الرسمي", "TMST": "توقيت تركمانستان الصيفي", "BOT": "توقيت بوليفيا", "BT": "توقيت بوتان", "HAST": "توقيت هاواي ألوتيان الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "AST": "التوقيت الرسمي الأطلسي", "MST": "MST", "CLST": "توقيت شيلي الصيفي", "CHAST": "توقيت تشاتام الرسمي", "GFT": "توقيت غايانا الفرنسية"}, + timezones: map[string]string{"EAT": "توقيت شرق أفريقيا", "OEZ": "توقيت شرق أوروبا الرسمي", "ECT": "توقيت الإكوادور", "HECU": "توقيت كوبا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "WESZ": "توقيت غرب أوروبا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "CAT": "توقيت وسط أفريقيا", "AKST": "التوقيت الرسمي لألاسكا", "AWST": "توقيت غرب أستراليا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "UYT": "توقيت أورغواي الرسمي", "WIT": "توقيت شرق إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "CLT": "توقيت شيلي الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "LHST": "توقيت لورد هاو الرسمي", "GMT": "توقيت غرينتش", "VET": "توقيت فنزويلا", "NZST": "توقيت نيوزيلندا الرسمي", "IST": "توقيت الهند", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "JDT": "توقيت اليابان الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "MST": "MST", "UYST": "توقيت أورغواي الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "CLST": "توقيت شيلي الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "ARST": "توقيت الأرجنتين الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "HNCU": "توقيت كوبا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "JST": "توقيت اليابان الرسمي", "ChST": "توقيت تشامورو", "MDT": "MDT", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "HEEG": "توقيت شرق غرينلاند الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "COT": "توقيت كولومبيا الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "∅∅∅": "توقيت بيرو الصيفي", "WIB": "توقيت غرب إندونيسيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "COST": "توقيت كولومبيا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "ART": "توقيت الأرجنتين الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "SRT": "توقيت سورينام", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "GFT": "توقيت غايانا الفرنسية", "TMT": "توقيت تركمانستان الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "AST": "التوقيت الرسمي الأطلسي", "AEST": "توقيت شرق أستراليا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "BOT": "توقيت بوليفيا", "TMST": "توقيت تركمانستان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "SGT": "توقيت سنغافورة", "BT": "توقيت بوتان", "CHADT": "توقيت تشاتام الصيفي", "SAST": "توقيت جنوب أفريقيا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_ER) WeekdaysWide() []string { func (ar *ar_ER) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_ER) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_ER) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_ER) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_ER) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_ER) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_ER) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_ER) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_ER) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_ER) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_ER) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_ER) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_ER) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_ER) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_IL/ar_IL.go b/ar_IL/ar_IL.go index 395e4648c..55c0473bf 100644 --- a/ar_IL/ar_IL.go +++ b/ar_IL/ar_IL.go @@ -18,12 +18,13 @@ type ar_IL struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"SAST": "توقيت جنوب أفريقيا", "NZST": "توقيت نيوزيلندا الرسمي", "ChST": "توقيت تشامورو", "COST": "توقيت كولومبيا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "EAT": "توقيت شرق أفريقيا", "PDT": "توقيت المحيط الهادي الصيفي", "CLST": "توقيت شيلي الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MESZ": "توقيت وسط أوروبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "CLT": "توقيت شيلي الرسمي", "CHADT": "توقيت تشاتام الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WITA": "توقيت وسط إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "COT": "توقيت كولومبيا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "TMT": "توقيت تركمانستان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "UYST": "توقيت أورغواي الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "TMST": "توقيت تركمانستان الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "HAT": "توقيت نيوفاوندلاند الصيفي", "∅∅∅": "توقيت برازيليا الصيفي", "WIB": "توقيت غرب إندونيسيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "LHDT": "التوقيت الصيفي للورد هاو", "WESZ": "توقيت غرب أوروبا الصيفي", "VET": "توقيت فنزويلا", "WAT": "توقيت غرب أفريقيا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "GYT": "توقيت غيانا", "SRT": "توقيت سورينام", "SGT": "توقيت سنغافورة", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "WIT": "توقيت شرق إندونيسيا", "BT": "توقيت بوتان", "OEZ": "توقيت شرق أوروبا الرسمي", "BOT": "توقيت بوليفيا", "NZDT": "توقيت نيوزيلندا الصيفي", "JST": "توقيت اليابان الرسمي", "UYT": "توقيت أورغواي الرسمي", "ECT": "توقيت الإكوادور", "JDT": "توقيت اليابان الصيفي", "GMT": "توقيت غرينتش", "PST": "توقيت المحيط الهادي الرسمي", "CHAST": "توقيت تشاتام الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "GFT": "توقيت غايانا الفرنسية", "IST": "توقيت الهند", "MYT": "توقيت ماليزيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WARST": "توقيت غرب الأرجنتين الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "ADT": "التوقيت الصيفي الأطلسي"}, + timezones: map[string]string{"WAT": "توقيت غرب أفريقيا الرسمي", "COST": "توقيت كولومبيا الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "WIT": "توقيت شرق إندونيسيا", "AWST": "توقيت غرب أستراليا الرسمي", "UYT": "توقيت أورغواي الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "HNEG": "توقيت شرق غرينلاند الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HNCU": "توقيت كوبا الرسمي", "MDT": "MDT", "WIB": "توقيت غرب إندونيسيا", "PST": "توقيت المحيط الهادي الرسمي", "JDT": "توقيت اليابان الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "JST": "توقيت اليابان الرسمي", "EAT": "توقيت شرق أفريقيا", "WARST": "توقيت غرب الأرجنتين الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "SAST": "توقيت جنوب أفريقيا", "GYT": "توقيت غيانا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "BOT": "توقيت بوليفيا", "GFT": "توقيت غايانا الفرنسية", "TMT": "توقيت تركمانستان الرسمي", "GMT": "توقيت غرينتش", "MST": "MST", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "LHDT": "التوقيت الصيفي للورد هاو", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "MYT": "توقيت ماليزيا", "AEST": "توقيت شرق أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "CHADT": "توقيت تشاتام الصيفي", "CAT": "توقيت وسط أفريقيا", "SGT": "توقيت سنغافورة", "WEZ": "توقيت غرب أوروبا الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "TMST": "توقيت تركمانستان الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CLST": "توقيت شيلي الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "HECU": "توقيت كوبا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HNOG": "توقيت غرب غرينلاند الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "CLT": "توقيت شيلي الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "COT": "توقيت كولومبيا الرسمي", "BT": "توقيت بوتان", "HKT": "توقيت هونغ كونغ الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "UYST": "توقيت أورغواي الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "WITA": "توقيت وسط إندونيسيا", "CHAST": "توقيت تشاتام الرسمي", "IST": "توقيت الهند", "AST": "التوقيت الرسمي الأطلسي", "ADT": "التوقيت الصيفي الأطلسي", "HNT": "توقيت نيوفاوندلاند الرسمي", "ART": "توقيت الأرجنتين الرسمي", "ChST": "توقيت تشامورو", "∅∅∅": "توقيت بيرو الصيفي", "ECT": "توقيت الإكوادور", "SRT": "توقيت سورينام", "NZDT": "توقيت نيوزيلندا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HADT": "توقيت هاواي ألوتيان الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "VET": "توقيت فنزويلا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_IL) WeekdaysWide() []string { func (ar *ar_IL) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_IL) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_IL) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_IL) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_IL) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_IL) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_IL) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_IL) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_IL) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_IL) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_IL) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_IL) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_IL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_IL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_IQ/ar_IQ.go b/ar_IQ/ar_IQ.go index a40e13cf4..8e472f33b 100644 --- a/ar_IQ/ar_IQ.go +++ b/ar_IQ/ar_IQ.go @@ -18,12 +18,13 @@ type ar_IQ struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرین الأول", "تشرين الثاني", "كانون الأول"}, monthsNarrow: []string{"", "ك", "ش", "آ", "ن", "أ", "ح", "ت", "آ", "أ", "ت", "ت", "ك"}, monthsWide: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"∅∅∅": "توقيت أزورس الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "HADT": "توقيت هاواي ألوتيان الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "TMT": "توقيت تركمانستان الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CHADT": "توقيت تشاتام الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "JST": "توقيت اليابان الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ECT": "توقيت الإكوادور", "WIT": "توقيت شرق إندونيسيا", "CAT": "توقيت وسط أفريقيا", "GMT": "توقيت غرينتش", "MEZ": "توقيت وسط أوروبا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "COST": "توقيت كولومبيا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "GYT": "توقيت غيانا", "CLT": "توقيت شيلي الرسمي", "CHAST": "توقيت تشاتام الرسمي", "ART": "توقيت الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "IST": "توقيت الهند", "ChST": "توقيت تشامورو", "VET": "توقيت فنزويلا", "MYT": "توقيت ماليزيا", "UYST": "توقيت أورغواي الصيفي", "JDT": "توقيت اليابان الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "TMST": "توقيت تركمانستان الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "CLST": "توقيت شيلي الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "WIB": "توقيت غرب إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي", "AWST": "توقيت غرب أستراليا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "SRT": "توقيت سورينام", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "GFT": "توقيت غايانا الفرنسية", "AEDT": "توقيت شرق أستراليا الصيفي", "BT": "توقيت بوتان", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "SGT": "توقيت سنغافورة", "COT": "توقيت كولومبيا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "UYT": "توقيت أورغواي الرسمي", "WITA": "توقيت وسط إندونيسيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي"}, + timezones: map[string]string{"HNT": "توقيت نيوفاوندلاند الرسمي", "ART": "توقيت الأرجنتين الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "JST": "توقيت اليابان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "COST": "توقيت كولومبيا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "EAT": "توقيت شرق أفريقيا", "HNCU": "توقيت كوبا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AKST": "التوقيت الرسمي لألاسكا", "GYT": "توقيت غيانا", "UYST": "توقيت أورغواي الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "TMST": "توقيت تركمانستان الصيفي", "CAT": "توقيت وسط أفريقيا", "GFT": "توقيت غايانا الفرنسية", "WART": "توقيت غرب الأرجنتين الرسمي", "BT": "توقيت بوتان", "SRT": "توقيت سورينام", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "AWDT": "توقيت غرب أستراليا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WAST": "توقيت غرب أفريقيا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "CHAST": "توقيت تشاتام الرسمي", "SAST": "توقيت جنوب أفريقيا", "TMT": "توقيت تركمانستان الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "JDT": "توقيت اليابان الصيفي", "ChST": "توقيت تشامورو", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "PST": "توقيت المحيط الهادي الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "WITA": "توقيت وسط إندونيسيا", "CHADT": "توقيت تشاتام الصيفي", "BOT": "توقيت بوليفيا", "WAT": "توقيت غرب أفريقيا الرسمي", "WIT": "توقيت شرق إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "MDT": "MDT", "MYT": "توقيت ماليزيا", "WIB": "توقيت غرب إندونيسيا", "HKT": "توقيت هونغ كونغ الرسمي", "IST": "توقيت الهند", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "GMT": "توقيت غرينتش", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "AST": "التوقيت الرسمي الأطلسي", "HAST": "توقيت هاواي ألوتيان الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "CLT": "توقيت شيلي الرسمي", "HECU": "توقيت كوبا الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "SGT": "توقيت سنغافورة", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "AKDT": "توقيت ألاسكا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "COT": "توقيت كولومبيا الرسمي", "ECT": "توقيت الإكوادور", "UYT": "توقيت أورغواي الرسمي", "VET": "توقيت فنزويلا", "HNOG": "توقيت غرب غرينلاند الرسمي", "CLST": "توقيت شيلي الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_IQ) WeekdaysWide() []string { func (ar *ar_IQ) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_IQ) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_IQ) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_IQ) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_IQ) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_IQ) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_IQ) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_IQ) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_IQ) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_IQ) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_IQ) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_IQ) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_IQ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_IQ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_JO/ar_JO.go b/ar_JO/ar_JO.go index 59593f85f..13a215c99 100644 --- a/ar_JO/ar_JO.go +++ b/ar_JO/ar_JO.go @@ -18,12 +18,13 @@ type ar_JO struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, monthsNarrow: []string{"", "ك", "ش", "آ", "ن", "أ", "ح", "ت", "آ", "أ", "ت", "ت", "ك"}, monthsWide: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CLST": "توقيت شيلي الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "IST": "توقيت الهند", "AKDT": "توقيت ألاسكا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WEZ": "توقيت غرب أوروبا الرسمي", "WIB": "توقيت غرب إندونيسيا", "WART": "توقيت غرب الأرجنتين الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "CAT": "توقيت وسط أفريقيا", "OEZ": "توقيت شرق أوروبا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "COST": "توقيت كولومبيا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AST": "التوقيت الرسمي الأطلسي", "WITA": "توقيت وسط إندونيسيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "JDT": "توقيت اليابان الصيفي", "GMT": "توقيت غرينتش", "AKST": "التوقيت الرسمي لألاسكا", "ECT": "توقيت الإكوادور", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "GYT": "توقيت غيانا", "PDT": "توقيت المحيط الهادي الصيفي", "EAT": "توقيت شرق أفريقيا", "TMST": "توقيت تركمانستان الصيفي", "UYT": "توقيت أورغواي الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "SRT": "توقيت سورينام", "MEZ": "توقيت وسط أوروبا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "VET": "توقيت فنزويلا", "ACDT": "توقيت وسط أستراليا الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "∅∅∅": "توقيت برازيليا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "GFT": "توقيت غايانا الفرنسية", "SGT": "توقيت سنغافورة", "AEST": "توقيت شرق أستراليا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "JST": "توقيت اليابان الرسمي", "UYST": "توقيت أورغواي الصيفي", "COT": "توقيت كولومبيا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "MYT": "توقيت ماليزيا", "ChST": "توقيت تشامورو", "LHST": "توقيت لورد هاو الرسمي", "CHAST": "توقيت تشاتام الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "ART": "توقيت الأرجنتين الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "WAST": "توقيت غرب أفريقيا الصيفي", "BT": "توقيت بوتان", "WIT": "توقيت شرق إندونيسيا", "WESZ": "توقيت غرب أوروبا الصيفي", "SAST": "توقيت جنوب أفريقيا", "BOT": "توقيت بوليفيا"}, + timezones: map[string]string{"SRT": "توقيت سورينام", "NZST": "توقيت نيوزيلندا الرسمي", "SAST": "توقيت جنوب أفريقيا", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "UYST": "توقيت أورغواي الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "CHAST": "توقيت تشاتام الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "BT": "توقيت بوتان", "LHST": "توقيت لورد هاو الرسمي", "JDT": "توقيت اليابان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HNCU": "توقيت كوبا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "AEDT": "توقيت شرق أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "GMT": "توقيت غرينتش", "OESZ": "توقيت شرق أوروبا الصيفي", "WIT": "توقيت شرق إندونيسيا", "HEOG": "توقيت غرب غرينلاند الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "JST": "توقيت اليابان الرسمي", "TMST": "توقيت تركمانستان الصيفي", "SGT": "توقيت سنغافورة", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "MYT": "توقيت ماليزيا", "AKST": "التوقيت الرسمي لألاسكا", "HADT": "توقيت هاواي ألوتيان الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "ChST": "توقيت تشامورو", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "WITA": "توقيت وسط إندونيسيا", "WAST": "توقيت غرب أفريقيا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "ART": "توقيت الأرجنتين الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "BOT": "توقيت بوليفيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "GFT": "توقيت غايانا الفرنسية", "COT": "توقيت كولومبيا الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "AEST": "توقيت شرق أستراليا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "EAT": "توقيت شرق أفريقيا", "GYT": "توقيت غيانا", "AKDT": "توقيت ألاسكا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "CAT": "توقيت وسط أفريقيا", "HECU": "توقيت كوبا الصيفي", "UYT": "توقيت أورغواي الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "CLT": "توقيت شيلي الرسمي", "CLST": "توقيت شيلي الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "IST": "توقيت الهند", "TMT": "توقيت تركمانستان الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "ECT": "توقيت الإكوادور", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية"}, } } @@ -251,7 +253,7 @@ func (ar *ar_JO) WeekdaysWide() []string { func (ar *ar_JO) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_JO) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_JO) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_JO) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_JO) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_JO) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_JO) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_JO) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_JO) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_JO) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_JO) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_JO) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_JO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_JO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_KM/ar_KM.go b/ar_KM/ar_KM.go index f1d4d34ab..2927be99c 100644 --- a/ar_KM/ar_KM.go +++ b/ar_KM/ar_KM.go @@ -18,12 +18,13 @@ type ar_KM struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"GYT": "توقيت غيانا", "BOT": "توقيت بوليفيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "GFT": "توقيت غايانا الفرنسية", "HKST": "توقيت هونغ كونغ الصيفي", "SGT": "توقيت سنغافورة", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "∅∅∅": "توقيت الأمازون الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "PST": "توقيت المحيط الهادي الرسمي", "EAT": "توقيت شرق أفريقيا", "NZST": "توقيت نيوزيلندا الرسمي", "BT": "توقيت بوتان", "ACDT": "توقيت وسط أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "WITA": "توقيت وسط إندونيسيا", "AWST": "توقيت غرب أستراليا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "MYT": "توقيت ماليزيا", "CHAST": "توقيت تشاتام الرسمي", "ECT": "توقيت الإكوادور", "AEST": "توقيت شرق أستراليا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "CAT": "توقيت وسط أفريقيا", "AST": "التوقيت الرسمي الأطلسي", "AKST": "التوقيت الرسمي لألاسكا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIT": "توقيت شرق إندونيسيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "CHADT": "توقيت تشاتام الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "COT": "توقيت كولومبيا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "SAST": "توقيت جنوب أفريقيا", "LHST": "توقيت لورد هاو الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "WIB": "توقيت غرب إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "IST": "توقيت الهند", "MEZ": "توقيت وسط أوروبا الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "ChST": "توقيت تشامورو", "CLST": "توقيت شيلي الصيفي", "UYT": "توقيت أورغواي الرسمي", "JDT": "توقيت اليابان الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "AKDT": "توقيت ألاسكا الصيفي", "CLT": "توقيت شيلي الرسمي", "VET": "توقيت فنزويلا", "HAST": "توقيت هاواي ألوتيان الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "UYST": "توقيت أورغواي الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "TMT": "توقيت تركمانستان الرسمي", "GMT": "توقيت غرينتش", "SRT": "توقيت سورينام", "ART": "توقيت الأرجنتين الرسمي", "JST": "توقيت اليابان الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "TMST": "توقيت تركمانستان الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "HKT": "توقيت هونغ كونغ الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي"}, + timezones: map[string]string{"CLST": "توقيت شيلي الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "WART": "توقيت غرب الأرجنتين الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "VET": "توقيت فنزويلا", "NZST": "توقيت نيوزيلندا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "TMST": "توقيت تركمانستان الصيفي", "MYT": "توقيت ماليزيا", "BT": "توقيت بوتان", "ECT": "توقيت الإكوادور", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "CHAST": "توقيت تشاتام الرسمي", "IST": "توقيت الهند", "BOT": "توقيت بوليفيا", "WAT": "توقيت غرب أفريقيا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "JST": "توقيت اليابان الرسمي", "HNCU": "توقيت كوبا الرسمي", "SGT": "توقيت سنغافورة", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "WITA": "توقيت وسط إندونيسيا", "GMT": "توقيت غرينتش", "WIB": "توقيت غرب إندونيسيا", "WESZ": "توقيت غرب أوروبا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "HECU": "توقيت كوبا الصيفي", "MST": "MST", "AST": "التوقيت الرسمي الأطلسي", "JDT": "توقيت اليابان الصيفي", "ChST": "توقيت تشامورو", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "SRT": "توقيت سورينام", "PDT": "توقيت المحيط الهادي الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "ARST": "توقيت الأرجنتين الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "HNEG": "توقيت شرق غرينلاند الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "AKST": "التوقيت الرسمي لألاسكا", "AKDT": "توقيت ألاسكا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "HKST": "توقيت هونغ كونغ الصيفي", "GFT": "توقيت غايانا الفرنسية", "∅∅∅": "توقيت أزورس الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "SAST": "توقيت جنوب أفريقيا", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ART": "توقيت الأرجنتين الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "CAT": "توقيت وسط أفريقيا", "COT": "توقيت كولومبيا الرسمي", "COST": "توقيت كولومبيا الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "GYT": "توقيت غيانا", "AEDT": "توقيت شرق أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "EAT": "توقيت شرق أفريقيا", "MDT": "MDT", "UYT": "توقيت أورغواي الرسمي", "WIT": "توقيت شرق إندونيسيا", "HEOG": "توقيت غرب غرينلاند الصيفي", "CLT": "توقيت شيلي الرسمي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_KM) WeekdaysWide() []string { func (ar *ar_KM) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_KM) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_KM) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_KM) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_KM) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_KM) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_KM) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_KM) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_KM) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_KM) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_KM) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_KM) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_KM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_KM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_KW/ar_KW.go b/ar_KW/ar_KW.go index 1a32b1230..101fee6c1 100644 --- a/ar_KW/ar_KW.go +++ b/ar_KW/ar_KW.go @@ -18,12 +18,13 @@ type ar_KW struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"TMT": "توقيت تركمانستان الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "BT": "توقيت بوتان", "SGT": "توقيت سنغافورة", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MESZ": "توقيت وسط أوروبا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "ECT": "توقيت الإكوادور", "VET": "توقيت فنزويلا", "IST": "توقيت الهند", "SRT": "توقيت سورينام", "ACST": "توقيت وسط أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "UYT": "توقيت أورغواي الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "CHAST": "توقيت تشاتام الرسمي", "CHADT": "توقيت تشاتام الصيفي", "ART": "توقيت الأرجنتين الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "LHST": "توقيت لورد هاو الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "∅∅∅": "توقيت أزورس الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "JDT": "توقيت اليابان الصيفي", "COST": "توقيت كولومبيا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "TMST": "توقيت تركمانستان الصيفي", "GMT": "توقيت غرينتش", "WIB": "توقيت غرب إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "CLT": "توقيت شيلي الرسمي", "CAT": "توقيت وسط أفريقيا", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "NZDT": "توقيت نيوزيلندا الصيفي", "UYST": "توقيت أورغواي الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "SAST": "توقيت جنوب أفريقيا", "BOT": "توقيت بوليفيا", "AEDT": "توقيت شرق أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WITA": "توقيت وسط إندونيسيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "JST": "توقيت اليابان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "WIT": "توقيت شرق إندونيسيا", "WESZ": "توقيت غرب أوروبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "ACDT": "توقيت وسط أستراليا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "MYT": "توقيت ماليزيا", "GYT": "توقيت غيانا", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLST": "توقيت شيلي الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "ChST": "توقيت تشامورو", "HKST": "توقيت هونغ كونغ الصيفي", "GFT": "توقيت غايانا الفرنسية", "COT": "توقيت كولومبيا الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي"}, + timezones: map[string]string{"NZST": "توقيت نيوزيلندا الرسمي", "COST": "توقيت كولومبيا الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "AEDT": "توقيت شرق أستراليا الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "EAT": "توقيت شرق أفريقيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "MEZ": "توقيت وسط أوروبا الرسمي", "CLT": "توقيت شيلي الرسمي", "ChST": "توقيت تشامورو", "MST": "MST", "JDT": "توقيت اليابان الصيفي", "GFT": "توقيت غايانا الفرنسية", "HNEG": "توقيت شرق غرينلاند الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "MDT": "MDT", "HAT": "توقيت نيوفاوندلاند الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "JST": "توقيت اليابان الرسمي", "ECT": "توقيت الإكوادور", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AKDT": "توقيت ألاسكا الصيفي", "UYST": "توقيت أورغواي الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "BOT": "توقيت بوليفيا", "HNCU": "توقيت كوبا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "UYT": "توقيت أورغواي الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "IST": "توقيت الهند", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "TMT": "توقيت تركمانستان الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AKST": "التوقيت الرسمي لألاسكا", "BT": "توقيت بوتان", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "WIT": "توقيت شرق إندونيسيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "∅∅∅": "توقيت بيرو الصيفي", "GYT": "توقيت غيانا", "AEST": "توقيت شرق أستراليا الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "TMST": "توقيت تركمانستان الصيفي", "SRT": "توقيت سورينام", "WEZ": "توقيت غرب أوروبا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "CAT": "توقيت وسط أفريقيا", "WARST": "توقيت غرب الأرجنتين الصيفي", "AST": "التوقيت الرسمي الأطلسي", "VET": "توقيت فنزويلا", "HAST": "توقيت هاواي ألوتيان الرسمي", "SGT": "توقيت سنغافورة", "WIB": "توقيت غرب إندونيسيا", "LHDT": "التوقيت الصيفي للورد هاو", "CLST": "توقيت شيلي الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "COT": "توقيت كولومبيا الرسمي", "HECU": "توقيت كوبا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "ART": "توقيت الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WITA": "توقيت وسط إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "CHADT": "توقيت تشاتام الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_KW) WeekdaysWide() []string { func (ar *ar_KW) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_KW) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_KW) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_KW) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_KW) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_KW) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_KW) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_KW) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_KW) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_KW) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_KW) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_KW) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_KW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_KW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_LB/ar_LB.go b/ar_LB/ar_LB.go index f038a7012..678cf2c2b 100644 --- a/ar_LB/ar_LB.go +++ b/ar_LB/ar_LB.go @@ -18,12 +18,13 @@ type ar_LB struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, monthsNarrow: []string{"", "ك", "ش", "آ", "ن", "أ", "ح", "ت", "آ", "أ", "ت", "ت", "ك"}, monthsWide: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"LHST": "توقيت لورد هاو الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "TMST": "توقيت تركمانستان الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "CLST": "توقيت شيلي الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "ChST": "توقيت تشامورو", "AWST": "توقيت غرب أستراليا الرسمي", "CLT": "توقيت شيلي الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "SRT": "توقيت سورينام", "AEST": "توقيت شرق أستراليا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "JST": "توقيت اليابان الرسمي", "GMT": "توقيت غرينتش", "WEZ": "توقيت غرب أوروبا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "JDT": "توقيت اليابان الصيفي", "SGT": "توقيت سنغافورة", "COST": "توقيت كولومبيا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "WITA": "توقيت وسط إندونيسيا", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "NZDT": "توقيت نيوزيلندا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "COT": "توقيت كولومبيا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "VET": "توقيت فنزويلا", "HADT": "توقيت هاواي ألوتيان الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "GFT": "توقيت غايانا الفرنسية", "OESZ": "توقيت شرق أوروبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "IST": "توقيت الهند", "∅∅∅": "توقيت أزورس الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "WIT": "توقيت شرق إندونيسيا", "CHAST": "توقيت تشاتام الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "ECT": "توقيت الإكوادور", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "HKST": "توقيت هونغ كونغ الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "SAST": "توقيت جنوب أفريقيا", "AST": "التوقيت الرسمي الأطلسي", "GYT": "توقيت غيانا", "BT": "توقيت بوتان", "CAT": "توقيت وسط أفريقيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "UYT": "توقيت أورغواي الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "WIB": "توقيت غرب إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي"}, + timezones: map[string]string{"CAT": "توقيت وسط أفريقيا", "WARST": "توقيت غرب الأرجنتين الصيفي", "COST": "توقيت كولومبيا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "BT": "توقيت بوتان", "AEST": "توقيت شرق أستراليا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "IST": "توقيت الهند", "UYT": "توقيت أورغواي الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "ART": "توقيت الأرجنتين الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "JDT": "توقيت اليابان الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "HNCU": "توقيت كوبا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "GFT": "توقيت غايانا الفرنسية", "SGT": "توقيت سنغافورة", "HNT": "توقيت نيوفاوندلاند الرسمي", "WITA": "توقيت وسط إندونيسيا", "HEEG": "توقيت شرق غرينلاند الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "WIT": "توقيت شرق إندونيسيا", "HKT": "توقيت هونغ كونغ الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "SAST": "توقيت جنوب أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "GMT": "توقيت غرينتش", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CLT": "توقيت شيلي الرسمي", "TMT": "توقيت تركمانستان الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "HECU": "توقيت كوبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "HADT": "توقيت هاواي ألوتيان الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "TMST": "توقيت تركمانستان الصيفي", "ChST": "توقيت تشامورو", "EAT": "توقيت شرق أفريقيا", "WESZ": "توقيت غرب أوروبا الصيفي", "ECT": "توقيت الإكوادور", "VET": "توقيت فنزويلا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "∅∅∅": "توقيت الأمازون الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "SRT": "توقيت سورينام", "PDT": "توقيت المحيط الهادي الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "MEZ": "توقيت وسط أوروبا الرسمي", "MDT": "MDT", "GYT": "توقيت غيانا", "WIB": "توقيت غرب إندونيسيا", "CLST": "توقيت شيلي الصيفي", "BOT": "توقيت بوليفيا", "WAST": "توقيت غرب أفريقيا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "COT": "توقيت كولومبيا الرسمي", "MST": "MST", "MYT": "توقيت ماليزيا", "AWST": "توقيت غرب أستراليا الرسمي", "JST": "توقيت اليابان الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_LB) WeekdaysWide() []string { func (ar *ar_LB) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_LB) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_LB) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_LB) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_LB) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_LB) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_LB) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_LB) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_LB) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_LB) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_LB) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_LB) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_LB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_LB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_LY/ar_LY.go b/ar_LY/ar_LY.go index d823bb1b6..f074810f1 100644 --- a/ar_LY/ar_LY.go +++ b/ar_LY/ar_LY.go @@ -18,12 +18,13 @@ type ar_LY struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -65,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"ح", "ن", "ث", "ر", "خ", "ج", "س"}, daysShort: []string{"الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"}, daysWide: []string{"الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"}, - periodsAbbreviated: []string{"ص", "م"}, - periodsNarrow: []string{"ص", "م"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"ص", "م"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WEZ": "توقيت غرب أوروبا الرسمي", "∅∅∅": "∅∅∅", "AEST": "توقيت شرق أستراليا الرسمي", "MYT": "توقيت ماليزيا", "SGT": "توقيت سنغافورة", "WIB": "توقيت غرب إندونيسيا", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "TMST": "توقيت تركمانستان الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "BT": "توقيت بوتان", "LHST": "توقيت لورد هاو الرسمي", "COST": "توقيت كولومبيا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "JST": "توقيت اليابان الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLST": "توقيت شيلي الصيفي", "SRT": "توقيت سورينام", "ART": "توقيت الأرجنتين الرسمي", "TMT": "توقيت تركمانستان الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "GMT": "توقيت غرينتش", "ACST": "توقيت وسط أستراليا الرسمي", "EAT": "توقيت شرق أفريقيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "WIT": "توقيت شرق إندونيسيا", "JDT": "توقيت اليابان الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "LHDT": "التوقيت الصيفي للورد هاو", "OESZ": "توقيت شرق أوروبا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "ECT": "توقيت الإكوادور", "PST": "توقيت المحيط الهادي الرسمي", "WITA": "توقيت وسط إندونيسيا", "ChST": "توقيت تشامورو", "BOT": "توقيت بوليفيا", "CLT": "توقيت شيلي الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "VET": "توقيت فنزويلا", "HAST": "توقيت هاواي ألوتيان الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "GFT": "توقيت غايانا الفرنسية", "COT": "توقيت كولومبيا الرسمي", "IST": "توقيت الهند", "PDT": "توقيت المحيط الهادي الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "SAST": "توقيت جنوب أفريقيا", "UYT": "توقيت أورغواي الرسمي", "UYST": "توقيت أورغواي الصيفي"}, + timezones: map[string]string{"LHDT": "التوقيت الصيفي للورد هاو", "SAST": "توقيت جنوب أفريقيا", "COST": "توقيت كولومبيا الصيفي", "MDT": "MDT", "AST": "التوقيت الرسمي الأطلسي", "MYT": "توقيت ماليزيا", "TMST": "توقيت تركمانستان الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "SGT": "توقيت سنغافورة", "HECU": "توقيت كوبا الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "AKST": "التوقيت الرسمي لألاسكا", "HADT": "توقيت هاواي ألوتيان الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "CLST": "توقيت شيلي الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "HNCU": "توقيت كوبا الرسمي", "UYST": "توقيت أورغواي الصيفي", "TMT": "توقيت تركمانستان الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "BOT": "توقيت بوليفيا", "HEEG": "توقيت شرق غرينلاند الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "GYT": "توقيت غيانا", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "SRT": "توقيت سورينام", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WITA": "توقيت وسط إندونيسيا", "HKT": "توقيت هونغ كونغ الرسمي", "CHAST": "توقيت تشاتام الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "WIT": "توقيت شرق إندونيسيا", "BT": "توقيت بوتان", "ARST": "توقيت الأرجنتين الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "JDT": "توقيت اليابان الصيفي", "ChST": "توقيت تشامورو", "WESZ": "توقيت غرب أوروبا الصيفي", "CLT": "توقيت شيلي الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "EAT": "توقيت شرق أفريقيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HAST": "توقيت هاواي ألوتيان الرسمي", "ART": "توقيت الأرجنتين الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "ECT": "توقيت الإكوادور", "COT": "توقيت كولومبيا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "VET": "توقيت فنزويلا", "HNT": "توقيت نيوفاوندلاند الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "GFT": "توقيت غايانا الفرنسية", "CAT": "توقيت وسط أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "GMT": "توقيت غرينتش", "UYT": "توقيت أورغواي الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_LY) WeekdaysWide() []string { func (ar *ar_LY) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_LY) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_LY) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_LY) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_LY) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_LY) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_LY) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_LY) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_LY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_LY) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_LY) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_LY) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_LY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_LY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_MA/ar_MA.go b/ar_MA/ar_MA.go index c121fc278..73bc6e86c 100644 --- a/ar_MA/ar_MA.go +++ b/ar_MA/ar_MA.go @@ -18,12 +18,13 @@ type ar_MA struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "ماي", "يونيو", "يوليوز", "غشت", "شتنبر", "أكتوبر", "نونبر", "دجنبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "م", "ن", "ل", "غ", "ش", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "ماي", "يونيو", "يوليوز", "غشت", "شتنبر", "أكتوبر", "نونبر", "دجنبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AWST": "توقيت غرب أستراليا الرسمي", "JDT": "توقيت اليابان الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "WIT": "توقيت شرق إندونيسيا", "WITA": "توقيت وسط إندونيسيا", "∅∅∅": "توقيت أزورس الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MESZ": "توقيت وسط أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "GFT": "توقيت غايانا الفرنسية", "GMT": "توقيت غرينتش", "CHAST": "توقيت تشاتام الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "CLST": "توقيت شيلي الصيفي", "CAT": "توقيت وسط أفريقيا", "UYT": "توقيت أورغواي الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "TMST": "توقيت تركمانستان الصيفي", "GYT": "توقيت غيانا", "HKST": "توقيت هونغ كونغ الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "IST": "توقيت الهند", "AWDT": "توقيت غرب أستراليا الصيفي", "JST": "توقيت اليابان الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "SGT": "توقيت سنغافورة", "EAT": "توقيت شرق أفريقيا", "ChST": "توقيت تشامورو", "BOT": "توقيت بوليفيا", "HKT": "توقيت هونغ كونغ الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "MYT": "توقيت ماليزيا", "NZDT": "توقيت نيوزيلندا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "CHADT": "توقيت تشاتام الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "OESZ": "توقيت شرق أوروبا الصيفي", "WIB": "توقيت غرب إندونيسيا", "MEZ": "توقيت وسط أوروبا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "SAST": "توقيت جنوب أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "BT": "توقيت بوتان", "SRT": "توقيت سورينام", "ACDT": "توقيت وسط أستراليا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AST": "التوقيت الرسمي الأطلسي", "WESZ": "توقيت غرب أوروبا الصيفي", "ECT": "توقيت الإكوادور", "VET": "توقيت فنزويلا", "COT": "توقيت كولومبيا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "CLT": "توقيت شيلي الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "LHST": "توقيت لورد هاو الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "UYST": "توقيت أورغواي الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "ADT": "التوقيت الصيفي الأطلسي"}, + timezones: map[string]string{"WEZ": "توقيت غرب أوروبا الرسمي", "EAT": "توقيت شرق أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "GYT": "توقيت غيانا", "AKST": "التوقيت الرسمي لألاسكا", "AWST": "توقيت غرب أستراليا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WESZ": "توقيت غرب أوروبا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "TMST": "توقيت تركمانستان الصيفي", "SGT": "توقيت سنغافورة", "HNOG": "توقيت غرب غرينلاند الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "ECT": "توقيت الإكوادور", "AEDT": "توقيت شرق أستراليا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "CAT": "توقيت وسط أفريقيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "VET": "توقيت فنزويلا", "HKST": "توقيت هونغ كونغ الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "CLT": "توقيت شيلي الرسمي", "GFT": "توقيت غايانا الفرنسية", "OESZ": "توقيت شرق أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "COT": "توقيت كولومبيا الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "UYT": "توقيت أورغواي الرسمي", "WIT": "توقيت شرق إندونيسيا", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "MDT": "MDT", "HNT": "توقيت نيوفاوندلاند الرسمي", "ChST": "توقيت تشامورو", "WAST": "توقيت غرب أفريقيا الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "ADT": "التوقيت الصيفي الأطلسي", "WIB": "توقيت غرب إندونيسيا", "SRT": "توقيت سورينام", "LHST": "توقيت لورد هاو الرسمي", "CLST": "توقيت شيلي الصيفي", "BOT": "توقيت بوليفيا", "OEZ": "توقيت شرق أوروبا الرسمي", "GMT": "توقيت غرينتش", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HKT": "توقيت هونغ كونغ الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "MST": "MST", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "SAST": "توقيت جنوب أفريقيا", "AST": "التوقيت الرسمي الأطلسي", "UYST": "توقيت أورغواي الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "BT": "توقيت بوتان", "ARST": "توقيت الأرجنتين الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "NZST": "توقيت نيوزيلندا الرسمي", "JDT": "توقيت اليابان الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "MYT": "توقيت ماليزيا", "ART": "توقيت الأرجنتين الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "HNCU": "توقيت كوبا الرسمي", "HECU": "توقيت كوبا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية"}, } } @@ -251,7 +253,7 @@ func (ar *ar_MA) WeekdaysWide() []string { func (ar *ar_MA) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_MA) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_MA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_MA) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_MA) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_MA) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_MA) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_MA) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_MA) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_MA) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_MA) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_MA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_MR/ar_MR.go b/ar_MR/ar_MR.go index c7a96030f..05b33fb3d 100644 --- a/ar_MR/ar_MR.go +++ b/ar_MR/ar_MR.go @@ -18,12 +18,13 @@ type ar_MR struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "إبريل", "مايو", "يونيو", "يوليو", "أغشت", "شتمبر", "أكتوبر", "نوفمبر", "دجمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "إ", "و", "ن", "ل", "غ", "ش", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "إبريل", "مايو", "يونيو", "يوليو", "أغشت", "شتمبر", "أكتوبر", "نوفمبر", "دجمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HKST": "توقيت هونغ كونغ الصيفي", "CHADT": "توقيت تشاتام الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "BT": "توقيت بوتان", "CHAST": "توقيت تشاتام الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "WIT": "توقيت شرق إندونيسيا", "OESZ": "توقيت شرق أوروبا الصيفي", "SRT": "توقيت سورينام", "OEZ": "توقيت شرق أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "CLST": "توقيت شيلي الصيفي", "CAT": "توقيت وسط أفريقيا", "AEST": "توقيت شرق أستراليا الرسمي", "TMST": "توقيت تركمانستان الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "∅∅∅": "توقيت برازيليا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "ChST": "توقيت تشامورو", "LHST": "توقيت لورد هاو الرسمي", "JDT": "توقيت اليابان الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "AEDT": "توقيت شرق أستراليا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "EAT": "توقيت شرق أفريقيا", "GYT": "توقيت غيانا", "BOT": "توقيت بوليفيا", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "AST": "التوقيت الرسمي الأطلسي", "GFT": "توقيت غايانا الفرنسية", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "HAT": "توقيت نيوفاوندلاند الصيفي", "GMT": "توقيت غرينتش", "COT": "توقيت كولومبيا الرسمي", "WITA": "توقيت وسط إندونيسيا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "JST": "توقيت اليابان الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "SAST": "توقيت جنوب أفريقيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي", "SGT": "توقيت سنغافورة", "HADT": "توقيت هاواي ألوتيان الصيفي", "ART": "توقيت الأرجنتين الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WIB": "توقيت غرب إندونيسيا", "WART": "توقيت غرب الأرجنتين الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ECT": "توقيت الإكوادور", "WARST": "توقيت غرب الأرجنتين الصيفي", "COST": "توقيت كولومبيا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "IST": "توقيت الهند", "UYST": "توقيت أورغواي الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "MYT": "توقيت ماليزيا", "UYT": "توقيت أورغواي الرسمي", "TMT": "توقيت تركمانستان الرسمي"}, + timezones: map[string]string{"HKST": "توقيت هونغ كونغ الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "JST": "توقيت اليابان الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "MYT": "توقيت ماليزيا", "UYST": "توقيت أورغواي الصيفي", "ART": "توقيت الأرجنتين الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "CLT": "توقيت شيلي الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HNCU": "توقيت كوبا الرسمي", "HECU": "توقيت كوبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "TMT": "توقيت تركمانستان الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "JDT": "توقيت اليابان الصيفي", "SGT": "توقيت سنغافورة", "WEZ": "توقيت غرب أوروبا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "IST": "توقيت الهند", "WAT": "توقيت غرب أفريقيا الرسمي", "ECT": "توقيت الإكوادور", "COT": "توقيت كولومبيا الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "ChST": "توقيت تشامورو", "CAT": "توقيت وسط أفريقيا", "MDT": "MDT", "AEDT": "توقيت شرق أستراليا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIT": "توقيت شرق إندونيسيا", "WART": "توقيت غرب الأرجنتين الرسمي", "GMT": "توقيت غرينتش", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "LHST": "توقيت لورد هاو الرسمي", "CHADT": "توقيت تشاتام الصيفي", "GFT": "توقيت غايانا الفرنسية", "AST": "التوقيت الرسمي الأطلسي", "SAST": "توقيت جنوب أفريقيا", "∅∅∅": "توقيت الأمازون الصيفي", "TMST": "توقيت تركمانستان الصيفي", "SRT": "توقيت سورينام", "COST": "توقيت كولومبيا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "EAT": "توقيت شرق أفريقيا", "AKDT": "توقيت ألاسكا الصيفي", "CLST": "توقيت شيلي الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "VET": "توقيت فنزويلا", "BT": "توقيت بوتان", "AWDT": "توقيت غرب أستراليا الصيفي", "BOT": "توقيت بوليفيا", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WIB": "توقيت غرب إندونيسيا", "PST": "توقيت المحيط الهادي الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "WESZ": "توقيت غرب أوروبا الصيفي", "WITA": "توقيت وسط إندونيسيا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "GYT": "توقيت غيانا", "UYT": "توقيت أورغواي الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_MR) WeekdaysWide() []string { func (ar *ar_MR) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_MR) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_MR) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_MR) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_MR) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_MR) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_MR) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_MR) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_MR) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_MR) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_MR) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_MR) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_MR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_MR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_OM/ar_OM.go b/ar_OM/ar_OM.go index 351aea303..2bea560bf 100644 --- a/ar_OM/ar_OM.go +++ b/ar_OM/ar_OM.go @@ -18,12 +18,13 @@ type ar_OM struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"GFT": "توقيت غايانا الفرنسية", "COT": "توقيت كولومبيا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "IST": "توقيت الهند", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "MESZ": "توقيت وسط أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "∅∅∅": "توقيت أزورس الصيفي", "SGT": "توقيت سنغافورة", "TMT": "توقيت تركمانستان الرسمي", "CLT": "توقيت شيلي الرسمي", "SRT": "توقيت سورينام", "HKT": "توقيت هونغ كونغ الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "AST": "التوقيت الرسمي الأطلسي", "EAT": "توقيت شرق أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "WITA": "توقيت وسط إندونيسيا", "BT": "توقيت بوتان", "HAT": "توقيت نيوفاوندلاند الصيفي", "JST": "توقيت اليابان الرسمي", "ART": "توقيت الأرجنتين الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "WIT": "توقيت شرق إندونيسيا", "GYT": "توقيت غيانا", "MYT": "توقيت ماليزيا", "TMST": "توقيت تركمانستان الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "UYST": "توقيت أورغواي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "LHST": "توقيت لورد هاو الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "ECT": "توقيت الإكوادور", "ACDT": "توقيت وسط أستراليا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "JDT": "توقيت اليابان الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "GMT": "توقيت غرينتش", "OEZ": "توقيت شرق أوروبا الرسمي", "ChST": "توقيت تشامورو", "AWST": "توقيت غرب أستراليا الرسمي", "SAST": "توقيت جنوب أفريقيا", "CLST": "توقيت شيلي الصيفي", "UYT": "توقيت أورغواي الرسمي", "CHADT": "توقيت تشاتام الصيفي", "VET": "توقيت فنزويلا", "WIB": "توقيت غرب إندونيسيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "AKDT": "توقيت ألاسكا الصيفي"}, + timezones: map[string]string{"VET": "توقيت فنزويلا", "PST": "توقيت المحيط الهادي الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "SAST": "توقيت جنوب أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "HEOG": "توقيت غرب غرينلاند الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "ARST": "توقيت الأرجنتين الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "JDT": "توقيت اليابان الصيفي", "EAT": "توقيت شرق أفريقيا", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "ChST": "توقيت تشامورو", "BOT": "توقيت بوليفيا", "WAT": "توقيت غرب أفريقيا الرسمي", "GFT": "توقيت غايانا الفرنسية", "OEZ": "توقيت شرق أوروبا الرسمي", "WIB": "توقيت غرب إندونيسيا", "PDT": "توقيت المحيط الهادي الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "CAT": "توقيت وسط أفريقيا", "HECU": "توقيت كوبا الصيفي", "MST": "MST", "SRT": "توقيت سورينام", "IST": "توقيت الهند", "AKST": "التوقيت الرسمي لألاسكا", "ADT": "التوقيت الصيفي الأطلسي", "WEZ": "توقيت غرب أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "WITA": "توقيت وسط إندونيسيا", "TMST": "توقيت تركمانستان الصيفي", "ECT": "توقيت الإكوادور", "WARST": "توقيت غرب الأرجنتين الصيفي", "HNCU": "توقيت كوبا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AEST": "توقيت شرق أستراليا الرسمي", "CLT": "توقيت شيلي الرسمي", "CLST": "توقيت شيلي الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "MYT": "توقيت ماليزيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "CHADT": "توقيت تشاتام الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "GYT": "توقيت غيانا", "HADT": "توقيت هاواي ألوتيان الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "BT": "توقيت بوتان", "TMT": "توقيت تركمانستان الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "COT": "توقيت كولومبيا الرسمي", "COST": "توقيت كولومبيا الصيفي", "SGT": "توقيت سنغافورة", "MDT": "MDT", "HAT": "توقيت نيوفاوندلاند الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "JST": "توقيت اليابان الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "UYT": "توقيت أورغواي الرسمي", "AST": "التوقيت الرسمي الأطلسي", "WIT": "توقيت شرق إندونيسيا", "AWDT": "توقيت غرب أستراليا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_OM) WeekdaysWide() []string { func (ar *ar_OM) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_OM) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_OM) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_OM) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_OM) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_OM) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_OM) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_OM) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_OM) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_OM) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_OM) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_OM) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_OM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_OM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_PS/ar_PS.go b/ar_PS/ar_PS.go index 05918749b..67d062b05 100644 --- a/ar_PS/ar_PS.go +++ b/ar_PS/ar_PS.go @@ -18,12 +18,13 @@ type ar_PS struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, monthsNarrow: []string{"", "ك", "ش", "آ", "ن", "أ", "ح", "ت", "آ", "أ", "ت", "ت", "ك"}, monthsWide: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "LHST": "توقيت لورد هاو الرسمي", "UYT": "توقيت أورغواي الرسمي", "JST": "توقيت اليابان الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "GFT": "توقيت غايانا الفرنسية", "CHADT": "توقيت تشاتام الصيفي", "ECT": "توقيت الإكوادور", "PDT": "توقيت المحيط الهادي الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "CAT": "توقيت وسط أفريقيا", "COT": "توقيت كولومبيا الرسمي", "MYT": "توقيت ماليزيا", "CLT": "توقيت شيلي الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "BOT": "توقيت بوليفيا", "ARST": "توقيت الأرجنتين الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "WITA": "توقيت وسط إندونيسيا", "WIT": "توقيت شرق إندونيسيا", "SRT": "توقيت سورينام", "HKST": "توقيت هونغ كونغ الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "EAT": "توقيت شرق أفريقيا", "HAT": "توقيت نيوفاوندلاند الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "SAST": "توقيت جنوب أفريقيا", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "AWST": "توقيت غرب أستراليا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "GMT": "توقيت غرينتش", "ACST": "توقيت وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "IST": "توقيت الهند", "ChST": "توقيت تشامورو", "BT": "توقيت بوتان", "WESZ": "توقيت غرب أوروبا الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "∅∅∅": "توقيت الأمازون الصيفي", "CHAST": "توقيت تشاتام الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "UYST": "توقيت أورغواي الصيفي", "SGT": "توقيت سنغافورة", "AEST": "توقيت شرق أستراليا الرسمي", "CLST": "توقيت شيلي الصيفي", "JDT": "توقيت اليابان الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "TMST": "توقيت تركمانستان الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "LHDT": "التوقيت الصيفي للورد هاو", "VET": "توقيت فنزويلا", "WIB": "توقيت غرب إندونيسيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي"}, + timezones: map[string]string{"WESZ": "توقيت غرب أوروبا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "AEST": "توقيت شرق أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "CHADT": "توقيت تشاتام الصيفي", "BOT": "توقيت بوليفيا", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "OESZ": "توقيت شرق أوروبا الصيفي", "MDT": "MDT", "PST": "توقيت المحيط الهادي الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "CLT": "توقيت شيلي الرسمي", "JST": "توقيت اليابان الرسمي", "ChST": "توقيت تشامورو", "HEOG": "توقيت غرب غرينلاند الصيفي", "CAT": "توقيت وسط أفريقيا", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AKDT": "توقيت ألاسكا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "GMT": "توقيت غرينتش", "HECU": "توقيت كوبا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AKST": "التوقيت الرسمي لألاسكا", "MYT": "توقيت ماليزيا", "WEZ": "توقيت غرب أوروبا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "COST": "توقيت كولومبيا الصيفي", "UYT": "توقيت أورغواي الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "HEEG": "توقيت شرق غرينلاند الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "SGT": "توقيت سنغافورة", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "GFT": "توقيت غايانا الفرنسية", "WAT": "توقيت غرب أفريقيا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "AST": "التوقيت الرسمي الأطلسي", "GYT": "توقيت غيانا", "PDT": "توقيت المحيط الهادي الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "LHST": "توقيت لورد هاو الرسمي", "CHAST": "توقيت تشاتام الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "SRT": "توقيت سورينام", "WITA": "توقيت وسط إندونيسيا", "MST": "MST", "WIT": "توقيت شرق إندونيسيا", "AWST": "توقيت غرب أستراليا الرسمي", "IST": "توقيت الهند", "EAT": "توقيت شرق أفريقيا", "ECT": "توقيت الإكوادور", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "VET": "توقيت فنزويلا", "HKT": "توقيت هونغ كونغ الرسمي", "CLST": "توقيت شيلي الصيفي", "COT": "توقيت كولومبيا الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "ADT": "التوقيت الصيفي الأطلسي", "ART": "توقيت الأرجنتين الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "TMST": "توقيت تركمانستان الصيفي", "UYST": "توقيت أورغواي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "SAST": "توقيت جنوب أفريقيا", "∅∅∅": "توقيت الأمازون الصيفي", "HNCU": "توقيت كوبا الرسمي", "BT": "توقيت بوتان", "JDT": "توقيت اليابان الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_PS) WeekdaysWide() []string { func (ar *ar_PS) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_PS) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_PS) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_PS) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_PS) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_PS) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_PS) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_PS) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_PS) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_PS) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_PS) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_PS) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_PS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_PS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_QA/ar_QA.go b/ar_QA/ar_QA.go index 317cf30ba..675f1a305 100644 --- a/ar_QA/ar_QA.go +++ b/ar_QA/ar_QA.go @@ -18,12 +18,13 @@ type ar_QA struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HNT": "توقيت نيوفاوندلاند الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "CHAST": "توقيت تشاتام الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WIT": "توقيت شرق إندونيسيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "JDT": "توقيت اليابان الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "AST": "التوقيت الرسمي الأطلسي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "ART": "توقيت الأرجنتين الرسمي", "WITA": "توقيت وسط إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "VET": "توقيت فنزويلا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CLST": "توقيت شيلي الصيفي", "GFT": "توقيت غايانا الفرنسية", "HAST": "توقيت هاواي ألوتيان الرسمي", "GYT": "توقيت غيانا", "SGT": "توقيت سنغافورة", "HKST": "توقيت هونغ كونغ الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "WAST": "توقيت غرب أفريقيا الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "COT": "توقيت كولومبيا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "∅∅∅": "توقيت أزورس الصيفي", "MYT": "توقيت ماليزيا", "ChST": "توقيت تشامورو", "AWST": "توقيت غرب أستراليا الرسمي", "ECT": "توقيت الإكوادور", "WARST": "توقيت غرب الأرجنتين الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "GMT": "توقيت غرينتش", "UYT": "توقيت أورغواي الرسمي", "UYST": "توقيت أورغواي الصيفي", "SRT": "توقيت سورينام", "ARST": "توقيت الأرجنتين الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "EAT": "توقيت شرق أفريقيا", "WIB": "توقيت غرب إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "IST": "توقيت الهند", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "AEDT": "توقيت شرق أستراليا الصيفي", "SAST": "توقيت جنوب أفريقيا", "TMT": "توقيت تركمانستان الرسمي", "TMST": "توقيت تركمانستان الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "BT": "توقيت بوتان", "JST": "توقيت اليابان الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "BOT": "توقيت بوليفيا", "MESZ": "توقيت وسط أوروبا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي"}, + timezones: map[string]string{"CAT": "توقيت وسط أفريقيا", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "BT": "توقيت بوتان", "HKST": "توقيت هونغ كونغ الصيفي", "WITA": "توقيت وسط إندونيسيا", "CLST": "توقيت شيلي الصيفي", "EAT": "توقيت شرق أفريقيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "MESZ": "توقيت وسط أوروبا الصيفي", "TMST": "توقيت تركمانستان الصيفي", "VET": "توقيت فنزويلا", "HEEG": "توقيت شرق غرينلاند الصيفي", "AST": "التوقيت الرسمي الأطلسي", "SRT": "توقيت سورينام", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "SGT": "توقيت سنغافورة", "GMT": "توقيت غرينتش", "NZDT": "توقيت نيوزيلندا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "IST": "توقيت الهند", "JDT": "توقيت اليابان الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "MDT": "MDT", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AKDT": "توقيت ألاسكا الصيفي", "UYST": "توقيت أورغواي الصيفي", "MST": "MST", "AKST": "التوقيت الرسمي لألاسكا", "ART": "توقيت الأرجنتين الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "LHST": "توقيت لورد هاو الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "COT": "توقيت كولومبيا الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "MEZ": "توقيت وسط أوروبا الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "TMT": "توقيت تركمانستان الرسمي", "ChST": "توقيت تشامورو", "HAST": "توقيت هاواي ألوتيان الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "BOT": "توقيت بوليفيا", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HADT": "توقيت هاواي ألوتيان الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "HECU": "توقيت كوبا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "GFT": "توقيت غايانا الفرنسية", "WIT": "توقيت شرق إندونيسيا", "SAST": "توقيت جنوب أفريقيا", "JST": "توقيت اليابان الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ECT": "توقيت الإكوادور", "WART": "توقيت غرب الأرجنتين الرسمي", "UYT": "توقيت أورغواي الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "CHADT": "توقيت تشاتام الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "CLT": "توقيت شيلي الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HNCU": "توقيت كوبا الرسمي", "MYT": "توقيت ماليزيا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_QA) WeekdaysWide() []string { func (ar *ar_QA) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_QA) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_QA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_QA) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_QA) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_QA) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_QA) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_QA) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_QA) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_QA) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_QA) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_QA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_QA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_QA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_SA/ar_SA.go b/ar_SA/ar_SA.go index d4a070c3c..d04c8e36b 100644 --- a/ar_SA/ar_SA.go +++ b/ar_SA/ar_SA.go @@ -18,12 +18,13 @@ type ar_SA struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", + minus: "؜-", percent: "٪", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -65,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"ح", "ن", "ث", "ر", "خ", "ج", "س"}, daysShort: []string{"الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"}, daysWide: []string{"الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"}, - periodsAbbreviated: []string{"ص", "م"}, - periodsNarrow: []string{"ص", "م"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"ص", "م"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "BT": "توقيت بوتان", "SAST": "توقيت جنوب أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "AKDT": "توقيت ألاسكا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "JST": "توقيت اليابان الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CHAST": "توقيت تشاتام الرسمي", "WIT": "توقيت شرق إندونيسيا", "UYT": "توقيت أورغواي الرسمي", "WIB": "توقيت غرب إندونيسيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "VET": "توقيت فنزويلا", "MESZ": "توقيت وسط أوروبا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "COST": "توقيت كولومبيا الصيفي", "CLT": "توقيت شيلي الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "SGT": "توقيت سنغافورة", "MEZ": "توقيت وسط أوروبا الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "ChST": "توقيت تشامورو", "HAT": "توقيت نيوفاوندلاند الصيفي", "UYST": "توقيت أورغواي الصيفي", "JDT": "توقيت اليابان الصيفي", "ECT": "توقيت الإكوادور", "PST": "توقيت المحيط الهادي الرسمي", "TMT": "توقيت تركمانستان الرسمي", "LHST": "توقيت لورد هاو الرسمي", "EAT": "توقيت شرق أفريقيا", "GYT": "توقيت غيانا", "CHADT": "توقيت تشاتام الصيفي", "WITA": "توقيت وسط إندونيسيا", "BOT": "توقيت بوليفيا", "IST": "توقيت الهند", "OEZ": "توقيت شرق أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "LHDT": "التوقيت الصيفي للورد هاو", "AEST": "توقيت شرق أستراليا الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "CLST": "توقيت شيلي الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "COT": "توقيت كولومبيا الرسمي", "MYT": "توقيت ماليزيا", "AWST": "توقيت غرب أستراليا الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "∅∅∅": "توقيت برازيليا الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "CAT": "توقيت وسط أفريقيا", "GMT": "توقيت غرينتش", "HKT": "توقيت هونغ كونغ الرسمي", "GFT": "توقيت غايانا الفرنسية", "SRT": "توقيت سورينام", "WARST": "توقيت غرب الأرجنتين الصيفي", "TMST": "توقيت تركمانستان الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "AWDT": "توقيت غرب أستراليا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية"}, + timezones: map[string]string{"AWDT": "توقيت غرب أستراليا الصيفي", "EAT": "توقيت شرق أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "GYT": "توقيت غيانا", "LHDT": "التوقيت الصيفي للورد هاو", "MDT": "MDT", "AKST": "التوقيت الرسمي لألاسكا", "MYT": "توقيت ماليزيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "ChST": "توقيت تشامورو", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "OESZ": "توقيت شرق أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "TMT": "توقيت تركمانستان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CLST": "توقيت شيلي الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "VET": "توقيت فنزويلا", "SRT": "توقيت سورينام", "HAST": "توقيت هاواي ألوتيان الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "SGT": "توقيت سنغافورة", "HNCU": "توقيت كوبا الرسمي", "MST": "MST", "AST": "التوقيت الرسمي الأطلسي", "WITA": "توقيت وسط إندونيسيا", "AEST": "توقيت شرق أستراليا الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "JDT": "توقيت اليابان الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HAT": "توقيت نيوفاوندلاند الصيفي", "∅∅∅": "توقيت بيرو الصيفي", "GMT": "توقيت غرينتش", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HECU": "توقيت كوبا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "WIT": "توقيت شرق إندونيسيا", "WEZ": "توقيت غرب أوروبا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "BOT": "توقيت بوليفيا", "WAST": "توقيت غرب أفريقيا الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "UYST": "توقيت أورغواي الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "TMST": "توقيت تركمانستان الصيفي", "ECT": "توقيت الإكوادور", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "UYT": "توقيت أورغواي الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "GFT": "توقيت غايانا الفرنسية", "CAT": "توقيت وسط أفريقيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CLT": "توقيت شيلي الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "COT": "توقيت كولومبيا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "SAST": "توقيت جنوب أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "WIB": "توقيت غرب إندونيسيا", "BT": "توقيت بوتان"}, } } @@ -251,7 +253,7 @@ func (ar *ar_SA) WeekdaysWide() []string { func (ar *ar_SA) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_SA) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_SA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 9 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_SA) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_SA) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_SA) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_SA) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_SA) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_SA) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_SA) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_SA) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_SA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_SA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_SA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_SD/ar_SD.go b/ar_SD/ar_SD.go index d8c9866be..6bb92c29a 100644 --- a/ar_SD/ar_SD.go +++ b/ar_SD/ar_SD.go @@ -18,12 +18,13 @@ type ar_SD struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"SRT": "توقيت سورينام", "AKST": "التوقيت الرسمي لألاسكا", "NZST": "توقيت نيوزيلندا الرسمي", "CLST": "توقيت شيلي الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "GMT": "توقيت غرينتش", "UYST": "توقيت أورغواي الصيفي", "CHADT": "توقيت تشاتام الصيفي", "COT": "توقيت كولومبيا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "WITA": "توقيت وسط إندونيسيا", "BT": "توقيت بوتان", "WEZ": "توقيت غرب أوروبا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "GYT": "توقيت غيانا", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "HAT": "توقيت نيوفاوندلاند الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "∅∅∅": "توقيت برازيليا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "EAT": "توقيت شرق أفريقيا", "JST": "توقيت اليابان الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "TMST": "توقيت تركمانستان الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "AEST": "توقيت شرق أستراليا الرسمي", "VET": "توقيت فنزويلا", "WIB": "توقيت غرب إندونيسيا", "SAST": "توقيت جنوب أفريقيا", "IST": "توقيت الهند", "AST": "التوقيت الرسمي الأطلسي", "UYT": "توقيت أورغواي الرسمي", "GFT": "توقيت غايانا الفرنسية", "OEZ": "توقيت شرق أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "BOT": "توقيت بوليفيا", "CLT": "توقيت شيلي الرسمي", "CAT": "توقيت وسط أفريقيا", "LHDT": "التوقيت الصيفي للورد هاو", "HKT": "توقيت هونغ كونغ الرسمي", "ECT": "توقيت الإكوادور", "HNT": "توقيت نيوفاوندلاند الرسمي", "ChST": "توقيت تشامورو", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "PST": "توقيت المحيط الهادي الرسمي", "LHST": "توقيت لورد هاو الرسمي", "JDT": "توقيت اليابان الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "WIT": "توقيت شرق إندونيسيا", "HKST": "توقيت هونغ كونغ الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "SGT": "توقيت سنغافورة", "AWST": "توقيت غرب أستراليا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "COST": "توقيت كولومبيا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "TMT": "توقيت تركمانستان الرسمي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "CHAST": "توقيت تشاتام الرسمي"}, + timezones: map[string]string{"ACWDT": "توقيت غرب وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "CLT": "توقيت شيلي الرسمي", "CLST": "توقيت شيلي الصيفي", "ChST": "توقيت تشامورو", "WIT": "توقيت شرق إندونيسيا", "WESZ": "توقيت غرب أوروبا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "SAST": "توقيت جنوب أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "UYST": "توقيت أورغواي الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HADT": "توقيت هاواي ألوتيان الصيفي", "SRT": "توقيت سورينام", "HAT": "توقيت نيوفاوندلاند الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "WIB": "توقيت غرب إندونيسيا", "LHDT": "التوقيت الصيفي للورد هاو", "HNEG": "توقيت شرق غرينلاند الرسمي", "BOT": "توقيت بوليفيا", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي", "WEZ": "توقيت غرب أوروبا الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "SGT": "توقيت سنغافورة", "MDT": "MDT", "LHST": "توقيت لورد هاو الرسمي", "JDT": "توقيت اليابان الصيفي", "COT": "توقيت كولومبيا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "VET": "توقيت فنزويلا", "BT": "توقيت بوتان", "HNT": "توقيت نيوفاوندلاند الرسمي", "ECT": "توقيت الإكوادور", "CAT": "توقيت وسط أفريقيا", "MST": "MST", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "GYT": "توقيت غيانا", "HNOG": "توقيت غرب غرينلاند الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "NZDT": "توقيت نيوزيلندا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "∅∅∅": "توقيت بيرو الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "IST": "توقيت الهند", "TMST": "توقيت تركمانستان الصيفي", "GMT": "توقيت غرينتش", "HEOG": "توقيت غرب غرينلاند الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "EAT": "توقيت شرق أفريقيا", "HNCU": "توقيت كوبا الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "COST": "توقيت كولومبيا الصيفي", "HECU": "توقيت كوبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "JST": "توقيت اليابان الرسمي", "GFT": "توقيت غايانا الفرنسية", "TMT": "توقيت تركمانستان الرسمي", "WAST": "توقيت غرب أفريقيا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AWDT": "توقيت غرب أستراليا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "CHAST": "توقيت تشاتام الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "UYT": "توقيت أورغواي الرسمي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_SD) WeekdaysWide() []string { func (ar *ar_SD) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_SD) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_SD) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_SD) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_SD) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_SD) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_SD) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_SD) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_SD) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_SD) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_SD) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_SD) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_SD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_SD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_SO/ar_SO.go b/ar_SO/ar_SO.go index 1d5e67a5f..3558328f5 100644 --- a/ar_SO/ar_SO.go +++ b/ar_SO/ar_SO.go @@ -18,12 +18,13 @@ type ar_SO struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", + minus: "؜-", percent: "٪", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "S", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "S", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HAST": "توقيت هاواي ألوتيان الرسمي", "ART": "توقيت الأرجنتين الرسمي", "MYT": "توقيت ماليزيا", "AWDT": "توقيت غرب أستراليا الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "JDT": "توقيت اليابان الصيفي", "WIB": "توقيت غرب إندونيسيا", "WART": "توقيت غرب الأرجنتين الرسمي", "SGT": "توقيت سنغافورة", "ECT": "توقيت الإكوادور", "AKST": "التوقيت الرسمي لألاسكا", "TMST": "توقيت تركمانستان الصيفي", "CLST": "توقيت شيلي الصيفي", "WIT": "توقيت شرق إندونيسيا", "JST": "توقيت اليابان الرسمي", "CHADT": "توقيت تشاتام الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "UYST": "توقيت أورغواي الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "EAT": "توقيت شرق أفريقيا", "IST": "توقيت الهند", "AKDT": "توقيت ألاسكا الصيفي", "ChST": "توقيت تشامورو", "HNT": "توقيت نيوفاوندلاند الرسمي", "SRT": "توقيت سورينام", "WESZ": "توقيت غرب أوروبا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "CHAST": "توقيت تشاتام الرسمي", "COT": "توقيت كولومبيا الرسمي", "SAST": "توقيت جنوب أفريقيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "∅∅∅": "توقيت بيرو الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "CLT": "توقيت شيلي الرسمي", "UYT": "توقيت أورغواي الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "GMT": "توقيت غرينتش", "LHST": "توقيت لورد هاو الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "WITA": "توقيت وسط إندونيسيا", "OEZ": "توقيت شرق أوروبا الرسمي", "VET": "توقيت فنزويلا", "ADT": "التوقيت الصيفي الأطلسي", "WAST": "توقيت غرب أفريقيا الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "ACST": "توقيت وسط أستراليا الرسمي", "BT": "توقيت بوتان", "AEDT": "توقيت شرق أستراليا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "GFT": "توقيت غايانا الفرنسية", "COST": "توقيت كولومبيا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZST": "توقيت نيوزيلندا الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "GYT": "توقيت غيانا", "BOT": "توقيت بوليفيا", "CAT": "توقيت وسط أفريقيا"}, + timezones: map[string]string{"AWST": "توقيت غرب أستراليا الرسمي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "LHST": "توقيت لورد هاو الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "GYT": "توقيت غيانا", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "GMT": "توقيت غرينتش", "MYT": "توقيت ماليزيا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "WIT": "توقيت شرق إندونيسيا", "NZDT": "توقيت نيوزيلندا الصيفي", "COST": "توقيت كولومبيا الصيفي", "BT": "توقيت بوتان", "LHDT": "التوقيت الصيفي للورد هاو", "CLT": "توقيت شيلي الرسمي", "TMST": "توقيت تركمانستان الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "ECT": "توقيت الإكوادور", "CHAST": "توقيت تشاتام الرسمي", "GFT": "توقيت غايانا الفرنسية", "AKDT": "توقيت ألاسكا الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "ART": "توقيت الأرجنتين الرسمي", "CLST": "توقيت شيلي الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HEOG": "توقيت غرب غرينلاند الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "CAT": "توقيت وسط أفريقيا", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "MST": "MST", "MDT": "MDT", "JDT": "توقيت اليابان الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "IST": "توقيت الهند", "∅∅∅": "توقيت الأمازون الصيفي", "BOT": "توقيت بوليفيا", "SRT": "توقيت سورينام", "ChST": "توقيت تشامورو", "SGT": "توقيت سنغافورة", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "MESZ": "توقيت وسط أوروبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "JST": "توقيت اليابان الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "UYT": "توقيت أورغواي الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "WIB": "توقيت غرب إندونيسيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "TMT": "توقيت تركمانستان الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "COT": "توقيت كولومبيا الرسمي", "HECU": "توقيت كوبا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "SAST": "توقيت جنوب أفريقيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "WITA": "توقيت وسط إندونيسيا", "EAT": "توقيت شرق أفريقيا", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "UYST": "توقيت أورغواي الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "CHADT": "توقيت تشاتام الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "HNCU": "توقيت كوبا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "VET": "توقيت فنزويلا"}, } } @@ -251,7 +253,7 @@ func (ar *ar_SO) WeekdaysWide() []string { func (ar *ar_SO) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_SO) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_SO) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 9 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_SO) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_SO) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_SO) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_SO) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_SO) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_SO) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_SO) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_SO) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_SO) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_SO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_SO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_SS/ar_SS.go b/ar_SS/ar_SS.go index 2e053192e..43f59d8cb 100644 --- a/ar_SS/ar_SS.go +++ b/ar_SS/ar_SS.go @@ -18,12 +18,13 @@ type ar_SS struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AKST": "التوقيت الرسمي لألاسكا", "NZST": "توقيت نيوزيلندا الرسمي", "UYST": "توقيت أورغواي الصيفي", "∅∅∅": "توقيت برازيليا الصيفي", "GFT": "توقيت غايانا الفرنسية", "ACDT": "توقيت وسط أستراليا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "TMT": "توقيت تركمانستان الرسمي", "MST": "MST", "NZDT": "توقيت نيوزيلندا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "EAT": "توقيت شرق أفريقيا", "GYT": "توقيت غيانا", "MYT": "توقيت ماليزيا", "SGT": "توقيت سنغافورة", "AEDT": "توقيت شرق أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "COT": "توقيت كولومبيا الرسمي", "WIB": "توقيت غرب إندونيسيا", "HADT": "توقيت هاواي ألوتيان الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AWST": "توقيت غرب أستراليا الرسمي", "COST": "توقيت كولومبيا الصيفي", "ECT": "توقيت الإكوادور", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "OEZ": "توقيت شرق أوروبا الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "GMT": "توقيت غرينتش", "UYT": "توقيت أورغواي الرسمي", "SRT": "توقيت سورينام", "ACST": "توقيت وسط أستراليا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "MESZ": "توقيت وسط أوروبا الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "JST": "توقيت اليابان الرسمي", "JDT": "توقيت اليابان الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "ChST": "توقيت تشامورو", "BOT": "توقيت بوليفيا", "CLST": "توقيت شيلي الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "VET": "توقيت فنزويلا", "PDT": "توقيت المحيط الهادي الصيفي", "TMST": "توقيت تركمانستان الصيفي", "MDT": "MDT", "WIT": "توقيت شرق إندونيسيا", "CAT": "توقيت وسط أفريقيا", "LHDT": "التوقيت الصيفي للورد هاو", "OESZ": "توقيت شرق أوروبا الصيفي", "CHAST": "توقيت تشاتام الرسمي", "BT": "توقيت بوتان", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLT": "توقيت شيلي الرسمي", "LHST": "توقيت لورد هاو الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "CHADT": "توقيت تشاتام الصيفي", "AST": "التوقيت الرسمي الأطلسي", "WAT": "توقيت غرب أفريقيا الرسمي", "IST": "توقيت الهند", "HAT": "توقيت نيوفاوندلاند الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي"}, + timezones: map[string]string{"∅∅∅": "توقيت الأمازون الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "WIB": "توقيت غرب إندونيسيا", "TMST": "توقيت تركمانستان الصيفي", "CAT": "توقيت وسط أفريقيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AKDT": "توقيت ألاسكا الصيفي", "UYT": "توقيت أورغواي الرسمي", "UYST": "توقيت أورغواي الصيفي", "HEEG": "توقيت شرق غرينلاند الصيفي", "GMT": "توقيت غرينتش", "SGT": "توقيت سنغافورة", "HADT": "توقيت هاواي ألوتيان الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "ChST": "توقيت تشامورو", "ACDT": "توقيت وسط أستراليا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "AKST": "التوقيت الرسمي لألاسكا", "ADT": "التوقيت الصيفي الأطلسي", "WEZ": "توقيت غرب أوروبا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "WITA": "توقيت وسط إندونيسيا", "SRT": "توقيت سورينام", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "ART": "توقيت الأرجنتين الرسمي", "LHST": "توقيت لورد هاو الرسمي", "CLST": "توقيت شيلي الصيفي", "BOT": "توقيت بوليفيا", "ACST": "توقيت وسط أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "GYT": "توقيت غيانا", "MYT": "توقيت ماليزيا", "NZST": "توقيت نيوزيلندا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "EAT": "توقيت شرق أفريقيا", "MDT": "MDT", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "HAST": "توقيت هاواي ألوتيان الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "PDT": "توقيت المحيط الهادي الصيفي", "GFT": "توقيت غايانا الفرنسية", "WAST": "توقيت غرب أفريقيا الصيفي", "COT": "توقيت كولومبيا الرسمي", "COST": "توقيت كولومبيا الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HNCU": "توقيت كوبا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "JDT": "توقيت اليابان الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "WIT": "توقيت شرق إندونيسيا", "MEZ": "توقيت وسط أوروبا الرسمي", "CHAST": "توقيت تشاتام الرسمي", "JST": "توقيت اليابان الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "BT": "توقيت بوتان", "WESZ": "توقيت غرب أوروبا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "SAST": "توقيت جنوب أفريقيا", "IST": "توقيت الهند", "MST": "MST", "HKST": "توقيت هونغ كونغ الصيفي", "CHADT": "توقيت تشاتام الصيفي", "CLT": "توقيت شيلي الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "ECT": "توقيت الإكوادور", "WARST": "توقيت غرب الأرجنتين الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "HECU": "توقيت كوبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HKT": "توقيت هونغ كونغ الرسمي", "LHDT": "التوقيت الصيفي للورد هاو"}, } } @@ -251,7 +253,7 @@ func (ar *ar_SS) WeekdaysWide() []string { func (ar *ar_SS) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_SS) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_SS) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_SS) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_SS) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_SS) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_SS) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_SS) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_SS) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_SS) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_SS) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_SS) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_SS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_SS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_SY/ar_SY.go b/ar_SY/ar_SY.go index a7e647a39..7850193d6 100644 --- a/ar_SY/ar_SY.go +++ b/ar_SY/ar_SY.go @@ -18,12 +18,13 @@ type ar_SY struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, monthsNarrow: []string{"", "ك", "ش", "آ", "ن", "أ", "ح", "ت", "آ", "أ", "ت", "ت", "ك"}, monthsWide: []string{"", "كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"SAST": "توقيت جنوب أفريقيا", "∅∅∅": "توقيت أزورس الصيفي", "CAT": "توقيت وسط أفريقيا", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HADT": "توقيت هاواي ألوتيان الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "WIB": "توقيت غرب إندونيسيا", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "PST": "توقيت المحيط الهادي الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "GYT": "توقيت غيانا", "WART": "توقيت غرب الأرجنتين الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "SRT": "توقيت سورينام", "MEZ": "توقيت وسط أوروبا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "EAT": "توقيت شرق أفريقيا", "CLST": "توقيت شيلي الصيفي", "GFT": "توقيت غايانا الفرنسية", "WAT": "توقيت غرب أفريقيا الرسمي", "IST": "توقيت الهند", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "COT": "توقيت كولومبيا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "JDT": "توقيت اليابان الصيفي", "CHAST": "توقيت تشاتام الرسمي", "SGT": "توقيت سنغافورة", "WAST": "توقيت غرب أفريقيا الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "NZST": "توقيت نيوزيلندا الرسمي", "ChST": "توقيت تشامورو", "OEZ": "توقيت شرق أوروبا الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "CLT": "توقيت شيلي الرسمي", "UYT": "توقيت أورغواي الرسمي", "ECT": "توقيت الإكوادور", "LHST": "توقيت لورد هاو الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "TMST": "توقيت تركمانستان الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "GMT": "توقيت غرينتش", "PDT": "توقيت المحيط الهادي الصيفي", "HNT": "توقيت نيوفاوندلاند الرسمي", "VET": "توقيت فنزويلا", "MESZ": "توقيت وسط أوروبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "BOT": "توقيت بوليفيا", "HKST": "توقيت هونغ كونغ الصيفي", "WESZ": "توقيت غرب أوروبا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "LHDT": "التوقيت الصيفي للورد هاو", "UYST": "توقيت أورغواي الصيفي", "JST": "توقيت اليابان الرسمي", "CHADT": "توقيت تشاتام الصيفي", "COST": "توقيت كولومبيا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "WITA": "توقيت وسط إندونيسيا", "WIT": "توقيت شرق إندونيسيا", "BT": "توقيت بوتان", "ACWDT": "توقيت غرب وسط أستراليا الصيفي"}, + timezones: map[string]string{"AST": "التوقيت الرسمي الأطلسي", "VET": "توقيت فنزويلا", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLST": "توقيت شيلي الصيفي", "ACDT": "توقيت وسط أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MST": "MST", "HAT": "توقيت نيوفاوندلاند الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "GMT": "توقيت غرينتش", "CLT": "توقيت شيلي الرسمي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "ADT": "التوقيت الصيفي الأطلسي", "SRT": "توقيت سورينام", "HKT": "توقيت هونغ كونغ الرسمي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "WIT": "توقيت شرق إندونيسيا", "HECU": "توقيت كوبا الصيفي", "MYT": "توقيت ماليزيا", "PST": "توقيت المحيط الهادي الرسمي", "WITA": "توقيت وسط إندونيسيا", "MESZ": "توقيت وسط أوروبا الصيفي", "IST": "توقيت الهند", "JST": "توقيت اليابان الرسمي", "TMT": "توقيت تركمانستان الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "HADT": "توقيت هاواي ألوتيان الصيفي", "BT": "توقيت بوتان", "WEZ": "توقيت غرب أوروبا الرسمي", "WESZ": "توقيت غرب أوروبا الصيفي", "GFT": "توقيت غايانا الفرنسية", "ACST": "توقيت وسط أستراليا الرسمي", "SGT": "توقيت سنغافورة", "WIB": "توقيت غرب إندونيسيا", "AKDT": "توقيت ألاسكا الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "CHAST": "توقيت تشاتام الرسمي", "CHADT": "توقيت تشاتام الصيفي", "COT": "توقيت كولومبيا الرسمي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "MDT": "MDT", "HNOG": "توقيت غرب غرينلاند الرسمي", "HEOG": "توقيت غرب غرينلاند الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "EAT": "توقيت شرق أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "AEST": "توقيت شرق أستراليا الرسمي", "LHST": "توقيت لورد هاو الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "GYT": "توقيت غيانا", "UYST": "توقيت أورغواي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "TMST": "توقيت تركمانستان الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "AEDT": "توقيت شرق أستراليا الصيفي", "AWDT": "توقيت غرب أستراليا الصيفي", "JDT": "توقيت اليابان الصيفي", "BOT": "توقيت بوليفيا", "WAT": "توقيت غرب أفريقيا الرسمي", "UYT": "توقيت أورغواي الرسمي", "HNCU": "توقيت كوبا الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "NZDT": "توقيت نيوزيلندا الصيفي", "SAST": "توقيت جنوب أفريقيا", "ChST": "توقيت تشامورو", "OEZ": "توقيت شرق أوروبا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "ECT": "توقيت الإكوادور", "CAT": "توقيت وسط أفريقيا", "HAST": "توقيت هاواي ألوتيان الرسمي", "ART": "توقيت الأرجنتين الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية"}, } } @@ -251,7 +253,7 @@ func (ar *ar_SY) WeekdaysWide() []string { func (ar *ar_SY) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_SY) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_SY) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_SY) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_SY) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_SY) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_SY) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_SY) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_SY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_SY) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_SY) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_SY) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_SY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_SY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_TD/ar_TD.go b/ar_TD/ar_TD.go index 8e23705a5..bec62d07b 100644 --- a/ar_TD/ar_TD.go +++ b/ar_TD/ar_TD.go @@ -18,12 +18,13 @@ type ar_TD struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AEST": "توقيت شرق أستراليا الرسمي", "AST": "التوقيت الرسمي الأطلسي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "WESZ": "توقيت غرب أوروبا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "CHADT": "توقيت تشاتام الصيفي", "OEZ": "توقيت شرق أوروبا الرسمي", "AWST": "توقيت غرب أستراليا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "CLT": "توقيت شيلي الرسمي", "UYST": "توقيت أورغواي الصيفي", "HKST": "توقيت هونغ كونغ الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "SGT": "توقيت سنغافورة", "ART": "توقيت الأرجنتين الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "MYT": "توقيت ماليزيا", "JDT": "توقيت اليابان الصيفي", "GFT": "توقيت غايانا الفرنسية", "LHDT": "التوقيت الصيفي للورد هاو", "WARST": "توقيت غرب الأرجنتين الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "WITA": "توقيت وسط إندونيسيا", "NZST": "توقيت نيوزيلندا الرسمي", "GMT": "توقيت غرينتش", "OESZ": "توقيت شرق أوروبا الصيفي", "VET": "توقيت فنزويلا", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "CAT": "توقيت وسط أفريقيا", "AWDT": "توقيت غرب أستراليا الصيفي", "ECT": "توقيت الإكوادور", "EAT": "توقيت شرق أفريقيا", "WAST": "توقيت غرب أفريقيا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "JST": "توقيت اليابان الرسمي", "LHST": "توقيت لورد هاو الرسمي", "UYT": "توقيت أورغواي الرسمي", "WEZ": "توقيت غرب أوروبا الرسمي", "COT": "توقيت كولومبيا الرسمي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "∅∅∅": "توقيت أزورس الصيفي", "WIT": "توقيت شرق إندونيسيا", "BT": "توقيت بوتان", "SAST": "توقيت جنوب أفريقيا", "WIB": "توقيت غرب إندونيسيا", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "COST": "توقيت كولومبيا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "TMST": "توقيت تركمانستان الصيفي", "CLST": "توقيت شيلي الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "IST": "توقيت الهند", "WART": "توقيت غرب الأرجنتين الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "GYT": "توقيت غيانا", "CHAST": "توقيت تشاتام الرسمي", "SRT": "توقيت سورينام", "ChST": "توقيت تشامورو", "MESZ": "توقيت وسط أوروبا الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي"}, + timezones: map[string]string{"SAST": "توقيت جنوب أفريقيا", "JST": "توقيت اليابان الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "PDT": "توقيت المحيط الهادي الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "AWDT": "توقيت غرب أستراليا الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WIB": "توقيت غرب إندونيسيا", "MST": "MST", "HEOG": "توقيت غرب غرينلاند الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "WART": "توقيت غرب الأرجنتين الرسمي", "CHADT": "توقيت تشاتام الصيفي", "IST": "توقيت الهند", "∅∅∅": "توقيت الأمازون الصيفي", "BOT": "توقيت بوليفيا", "ECT": "توقيت الإكوادور", "MDT": "MDT", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "ARST": "توقيت الأرجنتين الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "WESZ": "توقيت غرب أوروبا الصيفي", "ART": "توقيت الأرجنتين الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "WAST": "توقيت غرب أفريقيا الصيفي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "OESZ": "توقيت شرق أوروبا الصيفي", "HECU": "توقيت كوبا الصيفي", "CLT": "توقيت شيلي الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "VET": "توقيت فنزويلا", "BT": "توقيت بوتان", "UYST": "توقيت أورغواي الصيفي", "LHST": "توقيت لورد هاو الرسمي", "GFT": "توقيت غايانا الفرنسية", "ChST": "توقيت تشامورو", "COST": "توقيت كولومبيا الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي", "MYT": "توقيت ماليزيا", "AEST": "توقيت شرق أستراليا الرسمي", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "HNEG": "توقيت شرق غرينلاند الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "AKDT": "توقيت ألاسكا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "WIT": "توقيت شرق إندونيسيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HAT": "توقيت نيوفاوندلاند الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "COT": "توقيت كولومبيا الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "CAT": "توقيت وسط أفريقيا", "SGT": "توقيت سنغافورة", "HNCU": "توقيت كوبا الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "WITA": "توقيت وسط إندونيسيا", "HEEG": "توقيت شرق غرينلاند الصيفي", "UYT": "توقيت أورغواي الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLST": "توقيت شيلي الصيفي", "TMST": "توقيت تركمانستان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "GYT": "توقيت غيانا", "HNOG": "توقيت غرب غرينلاند الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CHAST": "توقيت تشاتام الرسمي", "JDT": "توقيت اليابان الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "EAT": "توقيت شرق أفريقيا", "SRT": "توقيت سورينام"}, } } @@ -251,7 +253,7 @@ func (ar *ar_TD) WeekdaysWide() []string { func (ar *ar_TD) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_TD) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_TD) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_TD) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_TD) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_TD) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_TD) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_TD) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_TD) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_TD) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_TD) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_TD) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_TD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_TD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_TN/ar_TN.go b/ar_TN/ar_TN.go index 29162e39f..7652b1bcd 100644 --- a/ar_TN/ar_TN.go +++ b/ar_TN/ar_TN.go @@ -18,12 +18,13 @@ type ar_TN struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: ",", group: ".", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ج", "ف", "م", "أ", "م", "ج", "ج", "أ", "س", "أ", "ن", "د"}, monthsWide: []string{"", "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CHADT": "توقيت تشاتام الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "BOT": "توقيت بوليفيا", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "HNT": "توقيت نيوفاوندلاند الرسمي", "CLT": "توقيت شيلي الرسمي", "SGT": "توقيت سنغافورة", "HAST": "توقيت هاواي ألوتيان الرسمي", "HADT": "توقيت هاواي ألوتيان الصيفي", "CHAST": "توقيت تشاتام الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "MYT": "توقيت ماليزيا", "WESZ": "توقيت غرب أوروبا الصيفي", "GFT": "توقيت غايانا الفرنسية", "VET": "توقيت فنزويلا", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HAT": "توقيت نيوفاوندلاند الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "WAST": "توقيت غرب أفريقيا الصيفي", "AKST": "التوقيت الرسمي لألاسكا", "∅∅∅": "توقيت بيرو الصيفي", "CLST": "توقيت شيلي الصيفي", "COT": "توقيت كولومبيا الرسمي", "WARST": "توقيت غرب الأرجنتين الصيفي", "WAT": "توقيت غرب أفريقيا الرسمي", "TMT": "توقيت تركمانستان الرسمي", "WIT": "توقيت شرق إندونيسيا", "LHST": "توقيت لورد هاو الرسمي", "WIB": "توقيت غرب إندونيسيا", "AEDT": "توقيت شرق أستراليا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "ECT": "توقيت الإكوادور", "JST": "توقيت اليابان الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "SRT": "توقيت سورينام", "HKST": "توقيت هونغ كونغ الصيفي", "GYT": "توقيت غيانا", "UYT": "توقيت أورغواي الرسمي", "OEZ": "توقيت شرق أوروبا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "NZDT": "توقيت نيوزيلندا الصيفي", "CAT": "توقيت وسط أفريقيا", "AWDT": "توقيت غرب أستراليا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "ART": "توقيت الأرجنتين الرسمي", "EAT": "توقيت شرق أفريقيا", "AKDT": "توقيت ألاسكا الصيفي", "IST": "توقيت الهند", "NZST": "توقيت نيوزيلندا الرسمي", "UYST": "توقيت أورغواي الصيفي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "BT": "توقيت بوتان", "AWST": "توقيت غرب أستراليا الرسمي", "JDT": "توقيت اليابان الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "MESZ": "توقيت وسط أوروبا الصيفي", "PST": "توقيت المحيط الهادي الرسمي", "WITA": "توقيت وسط إندونيسيا", "ARST": "توقيت الأرجنتين الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "TMST": "توقيت تركمانستان الصيفي", "ChST": "توقيت تشامورو", "ACST": "توقيت وسط أستراليا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "COST": "توقيت كولومبيا الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "SAST": "توقيت جنوب أفريقيا", "GMT": "توقيت غرينتش"}, + timezones: map[string]string{"HEEG": "توقيت شرق غرينلاند الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "HNT": "توقيت نيوفاوندلاند الرسمي", "ART": "توقيت الأرجنتين الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "SGT": "توقيت سنغافورة", "WEZ": "توقيت غرب أوروبا الرسمي", "IST": "توقيت الهند", "TMT": "توقيت تركمانستان الرسمي", "EAT": "توقيت شرق أفريقيا", "GYT": "توقيت غيانا", "HAT": "توقيت نيوفاوندلاند الصيفي", "AEDT": "توقيت شرق أستراليا الصيفي", "BOT": "توقيت بوليفيا", "CAT": "توقيت وسط أفريقيا", "WIT": "توقيت شرق إندونيسيا", "AWDT": "توقيت غرب أستراليا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "HNEG": "توقيت شرق غرينلاند الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "HNCU": "توقيت كوبا الرسمي", "MST": "MST", "MDT": "MDT", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "PST": "توقيت المحيط الهادي الرسمي", "CHAST": "توقيت تشاتام الرسمي", "∅∅∅": "توقيت الأمازون الصيفي", "AKDT": "توقيت ألاسكا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "AEST": "توقيت شرق أستراليا الرسمي", "WITA": "توقيت وسط إندونيسيا", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "JST": "توقيت اليابان الرسمي", "COT": "توقيت كولومبيا الرسمي", "HECU": "توقيت كوبا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "WESZ": "توقيت غرب أوروبا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "NZST": "توقيت نيوزيلندا الرسمي", "TMST": "توقيت تركمانستان الصيفي", "OESZ": "توقيت شرق أوروبا الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "COST": "توقيت كولومبيا الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "HKT": "توقيت هونغ كونغ الرسمي", "JDT": "توقيت اليابان الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "GFT": "توقيت غايانا الفرنسية", "OEZ": "توقيت شرق أوروبا الرسمي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "UYST": "توقيت أورغواي الصيفي", "SAST": "توقيت جنوب أفريقيا", "CLST": "توقيت شيلي الصيفي", "ChST": "توقيت تشامورو", "WAT": "توقيت غرب أفريقيا الرسمي", "ADT": "التوقيت الصيفي الأطلسي", "NZDT": "توقيت نيوزيلندا الصيفي", "ACST": "توقيت وسط أستراليا الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "CHADT": "توقيت تشاتام الصيفي", "CLT": "توقيت شيلي الرسمي", "HAST": "توقيت هاواي ألوتيان الرسمي", "VET": "توقيت فنزويلا", "SRT": "توقيت سورينام", "MESZ": "توقيت وسط أوروبا الصيفي", "UYT": "توقيت أورغواي الرسمي", "HNOG": "توقيت غرب غرينلاند الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "ECT": "توقيت الإكوادور", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "MYT": "توقيت ماليزيا", "WIB": "توقيت غرب إندونيسيا", "BT": "توقيت بوتان", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "HEPM": "توقيت سانت بيير وميكولون الصيفي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_TN) WeekdaysWide() []string { func (ar *ar_TN) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -294,7 +296,7 @@ func (ar *ar_TN) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_TN) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 7 + l := len(s) + 10 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -318,6 +320,8 @@ func (ar *ar_TN) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -328,7 +332,7 @@ func (ar *ar_TN) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -353,14 +357,6 @@ func (ar *ar_TN) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -383,6 +379,10 @@ func (ar *ar_TN) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -392,7 +392,7 @@ func (ar *ar_TN) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -419,28 +419,10 @@ func (ar *ar_TN) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -459,6 +441,15 @@ func (ar *ar_TN) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -471,7 +462,12 @@ func (ar *ar_TN) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -495,7 +491,12 @@ func (ar *ar_TN) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +510,12 @@ func (ar *ar_TN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -525,7 +531,12 @@ func (ar *ar_TN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ar_YE/ar_YE.go b/ar_YE/ar_YE.go index db924c949..6c202bded 100644 --- a/ar_YE/ar_YE.go +++ b/ar_YE/ar_YE.go @@ -18,12 +18,13 @@ type ar_YE struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -50,14 +51,15 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{1, 4, 5, 6}, decimal: "٫", group: "٬", - minus: "‏-", - percent: "٪", + minus: "؜-", + percent: "٪؜", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, monthsNarrow: []string{"", "ي", "ف", "م", "أ", "و", "ن", "ل", "غ", "س", "ك", "ب", "د"}, monthsWide: []string{"", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ART": "توقيت الأرجنتين الرسمي", "EAT": "توقيت شرق أفريقيا", "WAT": "توقيت غرب أفريقيا الرسمي", "MDT": "التوقيت الجبلي الصيفي لأمريكا الشمالية", "LHST": "توقيت لورد هاو الرسمي", "COT": "توقيت كولومبيا الرسمي", "VET": "توقيت فنزويلا", "BOT": "توقيت بوليفيا", "TMST": "توقيت تركمانستان الصيفي", "MST": "التوقيت الجبلي الرسمي لأمريكا الشمالية", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "TMT": "توقيت تركمانستان الرسمي", "MEZ": "توقيت وسط أوروبا الرسمي", "ECT": "توقيت الإكوادور", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "ARST": "توقيت الأرجنتين الصيفي", "WART": "توقيت غرب الأرجنتين الرسمي", "SAST": "توقيت جنوب أفريقيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "JDT": "توقيت اليابان الصيفي", "∅∅∅": "توقيت برازيليا الصيفي", "ADT": "التوقيت الصيفي الأطلسي", "WITA": "توقيت وسط إندونيسيا", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "JST": "توقيت اليابان الرسمي", "AKDT": "توقيت ألاسكا الصيفي", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "NZST": "توقيت نيوزيلندا الرسمي", "WIT": "توقيت شرق إندونيسيا", "HKT": "توقيت هونغ كونغ الرسمي", "AEST": "توقيت شرق أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "AST": "التوقيت الرسمي الأطلسي", "CLT": "توقيت شيلي الرسمي", "GMT": "توقيت غرينتش", "WARST": "توقيت غرب الأرجنتين الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "CAT": "توقيت وسط أفريقيا", "AWST": "توقيت غرب أستراليا الرسمي", "GFT": "توقيت غايانا الفرنسية", "SGT": "توقيت سنغافورة", "COST": "توقيت كولومبيا الصيفي", "HADT": "توقيت هاواي ألوتيان الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "OEZ": "توقيت شرق أوروبا الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CHAST": "توقيت تشاتام الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "GYT": "توقيت غيانا", "UYST": "توقيت أورغواي الصيفي", "WIB": "توقيت غرب إندونيسيا", "ACST": "توقيت وسط أستراليا الرسمي", "BT": "توقيت بوتان", "WESZ": "توقيت غرب أوروبا الصيفي", "CHADT": "توقيت تشاتام الصيفي", "HAST": "توقيت هاواي ألوتيان الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "AKST": "التوقيت الرسمي لألاسكا", "HAT": "توقيت نيوفاوندلاند الصيفي", "NZDT": "توقيت نيوزيلندا الصيفي", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "CLST": "توقيت شيلي الصيفي", "LHDT": "التوقيت الصيفي للورد هاو", "UYT": "توقيت أورغواي الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "IST": "توقيت الهند", "AWDT": "توقيت غرب أستراليا الصيفي", "SRT": "توقيت سورينام", "OESZ": "توقيت شرق أوروبا الصيفي", "WEZ": "توقيت غرب أوروبا الرسمي", "ChST": "توقيت تشامورو"}, + timezones: map[string]string{"ChST": "توقيت تشامورو", "MST": "MST", "AKST": "التوقيت الرسمي لألاسكا", "HAST": "توقيت هاواي ألوتيان الرسمي", "SRT": "توقيت سورينام", "CHAST": "توقيت تشاتام الرسمي", "LHDT": "التوقيت الصيفي للورد هاو", "CLST": "توقيت شيلي الصيفي", "WARST": "توقيت غرب الأرجنتين الصيفي", "EST": "التوقيت الرسمي الشرقي لأمريكا الشمالية", "VET": "توقيت فنزويلا", "AWDT": "توقيت غرب أستراليا الصيفي", "NZST": "توقيت نيوزيلندا الرسمي", "EAT": "توقيت شرق أفريقيا", "COT": "توقيت كولومبيا الرسمي", "WIB": "توقيت غرب إندونيسيا", "HNT": "توقيت نيوفاوندلاند الرسمي", "CAT": "توقيت وسط أفريقيا", "WART": "توقيت غرب الأرجنتين الرسمي", "∅∅∅": "توقيت أزورس الصيفي", "ART": "توقيت الأرجنتين الرسمي", "HKT": "توقيت هونغ كونغ الرسمي", "MESZ": "توقيت وسط أوروبا الصيفي", "HENOMX": "التوقيت الصيفي لشمال غرب المكسيك", "CDT": "التوقيت الصيفي المركزي لأمريكا الشمالية", "MYT": "توقيت ماليزيا", "WESZ": "توقيت غرب أوروبا الصيفي", "ACWDT": "توقيت غرب وسط أستراليا الصيفي", "WAST": "توقيت غرب أفريقيا الصيفي", "HEOG": "توقيت غرب غرينلاند الصيفي", "PDT": "توقيت المحيط الهادي الصيفي", "ACWST": "توقيت غرب وسط أستراليا الرسمي", "AEDT": "توقيت شرق أستراليا الصيفي", "SAST": "توقيت جنوب أفريقيا", "TMT": "توقيت تركمانستان الرسمي", "HEEG": "توقيت شرق غرينلاند الصيفي", "HEPMX": "توقيت المحيط الهادي الصيفي للمكسيك", "IST": "توقيت الهند", "HADT": "توقيت هاواي ألوتيان الصيفي", "WIT": "توقيت شرق إندونيسيا", "OESZ": "توقيت شرق أوروبا الصيفي", "HNPMX": "توقيت المحيط الهادي الرسمي للمكسيك", "ADT": "التوقيت الصيفي الأطلسي", "HNPM": "توقيت سانت بيير وميكولون الرسمي", "GFT": "توقيت غايانا الفرنسية", "OEZ": "توقيت شرق أوروبا الرسمي", "JDT": "توقيت اليابان الصيفي", "MDT": "MDT", "CST": "التوقيت الرسمي المركزي لأمريكا الشمالية", "AST": "التوقيت الرسمي الأطلسي", "UYST": "توقيت أورغواي الصيفي", "ARST": "توقيت الأرجنتين الصيفي", "AWST": "توقيت غرب أستراليا الرسمي", "HKST": "توقيت هونغ كونغ الصيفي", "CLT": "توقيت شيلي الرسمي", "TMST": "توقيت تركمانستان الصيفي", "HNNOMX": "التوقيت الرسمي لشمال غرب المكسيك", "GMT": "توقيت غرينتش", "EDT": "التوقيت الصيفي الشرقي لأمريكا الشمالية", "AKDT": "توقيت ألاسكا الصيفي", "BT": "توقيت بوتان", "HEPM": "توقيت سانت بيير وميكولون الصيفي", "JST": "توقيت اليابان الرسمي", "SGT": "توقيت سنغافورة", "WEZ": "توقيت غرب أوروبا الرسمي", "CHADT": "توقيت تشاتام الصيفي", "MEZ": "توقيت وسط أوروبا الرسمي", "ACDT": "توقيت وسط أستراليا الصيفي", "GYT": "توقيت غيانا", "WITA": "توقيت وسط إندونيسيا", "NZDT": "توقيت نيوزيلندا الصيفي", "BOT": "توقيت بوليفيا", "ECT": "توقيت الإكوادور", "COST": "توقيت كولومبيا الصيفي", "HECU": "توقيت كوبا الصيفي", "LHST": "توقيت لورد هاو الرسمي", "HNEG": "توقيت شرق غرينلاند الرسمي", "WAT": "توقيت غرب أفريقيا الرسمي", "ACST": "توقيت وسط أستراليا الرسمي", "HNCU": "توقيت كوبا الرسمي", "UYT": "توقيت أورغواي الرسمي", "HAT": "توقيت نيوفاوندلاند الصيفي", "HNOG": "توقيت غرب غرينلاند الرسمي", "PST": "توقيت المحيط الهادي الرسمي", "AEST": "توقيت شرق أستراليا الرسمي"}, } } @@ -251,7 +253,7 @@ func (ar *ar_YE) WeekdaysWide() []string { func (ar *ar_YE) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 5 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -298,7 +300,7 @@ func (ar *ar_YE) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ar *ar_YE) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 8 + l := len(s) + 11 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -324,6 +326,8 @@ func (ar *ar_YE) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, ar.percentSuffix...) + b = append(b, ar.percent...) return string(b) @@ -334,7 +338,7 @@ func (ar *ar_YE) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -363,14 +367,6 @@ func (ar *ar_YE) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) @@ -393,6 +389,10 @@ func (ar *ar_YE) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, ar.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -402,7 +402,7 @@ func (ar *ar_YE) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ar.currencies[currency] - l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 7 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -433,28 +433,10 @@ func (ar *ar_YE) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyNegativePrefix[j]) - } - for j := len(ar.minus) - 1; j >= 0; j-- { b = append(b, ar.minus[j]) } - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(ar.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ar.currencyPositivePrefix[j]) - } - } // reverse @@ -473,6 +455,15 @@ func (ar *ar_YE) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, ar.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ar.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -485,7 +476,12 @@ func (ar *ar_YE) FmtDateShort(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -509,7 +505,12 @@ func (ar *ar_YE) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe2, 0x80, 0x8f, 0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -523,7 +524,12 @@ func (ar *ar_YE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -539,7 +545,12 @@ func (ar *ar_YE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ar.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/as/as.go b/as/as.go index e45638dc1..13818e928 100644 --- a/as/as.go +++ b/as/as.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, pluralsRange: nil, timeSeparator: ".", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "জানু", "ফেব্ৰু", "মাৰ্চ", "এপ্ৰিল", "মে", "জুন", "জুলাই", "আগ", "সেপ্ট", "অক্টো", "নভে", "ডিসে"}, @@ -58,7 +58,7 @@ func New() locales.Translator { daysWide: []string{"দেওবাৰ", "সোমবাৰ", "মঙ্গলবাৰ", "বুধবাৰ", "বৃহষ্পতিবাৰ", "শুক্ৰবাৰ", "শনিবাৰ"}, periodsAbbreviated: []string{"পূৰ্বাহ্ণ", "অপৰাহ্ণ"}, periodsWide: []string{"পূৰ্বাহ্ণ", "অপৰাহ্ণ"}, - timezones: map[string]string{"WARST": "WARST", "AKST": "AKST", "MYT": "MYT", "HKST": "HKST", "BT": "BT", "AWDT": "AWDT", "HAT": "HAT", "AKDT": "AKDT", "WAST": "WAST", "TMST": "TMST", "CAT": "CAT", "COST": "COST", "ACWDT": "ACWDT", "MDT": "MDT", "JST": "JST", "MESZ": "MESZ", "IST": "ভাৰতীয় সময়", "MST": "MST", "ChST": "ChST", "WIB": "WIB", "ACDT": "ACDT", "CLT": "CLT", "SRT": "SRT", "WESZ": "WESZ", "VET": "VET", "LHDT": "LHDT", "HKT": "HKT", "ADT": "ADT", "CDT": "CDT", "CLST": "CLST", "WIT": "WIT", "COT": "COT", "WITA": "WITA", "∅∅∅": "∅∅∅", "NZDT": "NZDT", "OESZ": "OESZ", "AWST": "AWST", "UYST": "UYST", "CHADT": "CHADT", "MEZ": "MEZ", "PDT": "PDT", "EAT": "EAT", "WAT": "WAT", "NZST": "NZST", "AST": "AST", "LHST": "LHST", "SGT": "SGT", "AEDT": "AEDT", "SAST": "SAST", "JDT": "JDT", "ACST": "ACST", "BOT": "BOT", "HNT": "HNT", "GFT": "GFT", "WEZ": "WEZ", "HAST": "HAST", "HADT": "HADT", "TMT": "TMT", "GYT": "GYT", "WART": "WART", "CST": "CST", "UYT": "UYT", "OEZ": "OEZ", "ACWST": "ACWST", "ART": "ART", "ARST": "ARST", "EST": "EST", "EDT": "EDT", "PST": "PST", "ECT": "ECT", "AEST": "AEST", "GMT": "GMT", "CHAST": "CHAST"}, + timezones: map[string]string{"AKDT": "AKDT", "UYST": "UYST", "WIT": "WIT", "AWST": "AWST", "BOT": "BOT", "WAT": "WAT", "HNOG": "HNOG", "HEPM": "HEPM", "IST": "ভাৰতীয় সময়", "ChST": "ChST", "TMT": "TMT", "WAST": "WAST", "HNNOMX": "HNNOMX", "CDT": "CDT", "JDT": "JDT", "CAT": "CAT", "HAST": "HAST", "AWDT": "AWDT", "CHAST": "CHAST", "COST": "COST", "HNCU": "HNCU", "PST": "PST", "ACWST": "ACWST", "MEZ": "MEZ", "WART": "WART", "EST": "EST", "WESZ": "WESZ", "AEDT": "AEDT", "SAST": "SAST", "CLST": "CLST", "OESZ": "OESZ", "∅∅∅": "∅∅∅", "HNPMX": "HNPMX", "BT": "BT", "ACWDT": "ACWDT", "ART": "ART", "HKT": "HKT", "HEEG": "HEEG", "HENOMX": "HENOMX", "CST": "CST", "MYT": "MYT", "HEOG": "HEOG", "COT": "COT", "MST": "MST", "VET": "VET", "AEST": "AEST", "JST": "JST", "GMT": "GMT", "UYT": "UYT", "HAT": "HAT", "NZST": "NZST", "ACST": "ACST", "ECT": "ECT", "MDT": "MDT", "AKST": "AKST", "WIB": "WIB", "LHST": "LHST", "CLT": "CLT", "HEPMX": "HEPMX", "AST": "AST", "ARST": "ARST", "HKST": "HKST", "ADT": "ADT", "HADT": "HADT", "WITA": "WITA", "MESZ": "MESZ", "EAT": "EAT", "WARST": "WARST", "WEZ": "WEZ", "CHADT": "CHADT", "GFT": "GFT", "ACDT": "ACDT", "OEZ": "OEZ", "HECU": "HECU", "GYT": "GYT", "SRT": "SRT", "HNT": "HNT", "NZDT": "NZDT", "SGT": "SGT", "EDT": "EDT", "PDT": "PDT", "HNPM": "HNPM", "LHDT": "LHDT", "HNEG": "HNEG", "TMST": "TMST"}, } } @@ -431,7 +431,12 @@ func (as *as) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2d}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (as *as) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (as *as) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, as.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -485,7 +500,12 @@ func (as *as) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, as.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/as_IN/as_IN.go b/as_IN/as_IN.go index 47635468d..87b786ac4 100644 --- a/as_IN/as_IN.go +++ b/as_IN/as_IN.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, pluralsRange: nil, timeSeparator: ".", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "জানু", "ফেব্ৰু", "মাৰ্চ", "এপ্ৰিল", "মে", "জুন", "জুলাই", "আগ", "সেপ্ট", "অক্টো", "নভে", "ডিসে"}, @@ -58,7 +58,7 @@ func New() locales.Translator { daysWide: []string{"দেওবাৰ", "সোমবাৰ", "মঙ্গলবাৰ", "বুধবাৰ", "বৃহষ্পতিবাৰ", "শুক্ৰবাৰ", "শনিবাৰ"}, periodsAbbreviated: []string{"পূৰ্বাহ্ণ", "অপৰাহ্ণ"}, periodsWide: []string{"পূৰ্বাহ্ণ", "অপৰাহ্ণ"}, - timezones: map[string]string{"ACWST": "ACWST", "PDT": "PDT", "TMT": "TMT", "AWST": "AWST", "∅∅∅": "∅∅∅", "UYT": "UYT", "WESZ": "WESZ", "GMT": "GMT", "CHAST": "CHAST", "MESZ": "MESZ", "ACWDT": "ACWDT", "ADT": "ADT", "WITA": "WITA", "CDT": "CDT", "CLST": "CLST", "LHDT": "LHDT", "SRT": "SRT", "EST": "EST", "WIT": "WIT", "GFT": "GFT", "OESZ": "OESZ", "ACST": "ACST", "JST": "JST", "HKT": "HKT", "WIB": "WIB", "COST": "COST", "CAT": "CAT", "PST": "PST", "OEZ": "OEZ", "UYST": "UYST", "WEZ": "WEZ", "HKST": "HKST", "AKST": "AKST", "AKDT": "AKDT", "GYT": "GYT", "NZDT": "NZDT", "BOT": "BOT", "ECT": "ECT", "WAT": "WAT", "CST": "CST", "MST": "MST", "HAT": "HAT", "MYT": "MYT", "ChST": "ChST", "VET": "VET", "ACDT": "ACDT", "ARST": "ARST", "AST": "AST", "IST": "ভাৰতীয় সময়", "HAST": "HAST", "ART": "ART", "TMST": "TMST", "WART": "WART", "SAST": "SAST", "WAST": "WAST", "CLT": "CLT", "HADT": "HADT", "NZST": "NZST", "JDT": "JDT", "EDT": "EDT", "HNT": "HNT", "LHST": "LHST", "MEZ": "MEZ", "SGT": "SGT", "COT": "COT", "AEDT": "AEDT", "WARST": "WARST", "CHADT": "CHADT", "AEST": "AEST", "EAT": "EAT", "MDT": "MDT", "BT": "BT", "AWDT": "AWDT"}, + timezones: map[string]string{"HKST": "HKST", "WITA": "WITA", "JST": "JST", "EDT": "EDT", "AKST": "AKST", "CST": "CST", "CDT": "CDT", "AWDT": "AWDT", "MYT": "MYT", "HNPMX": "HNPMX", "UYT": "UYT", "CHAST": "CHAST", "ARST": "ARST", "LHST": "LHST", "IST": "ভাৰতীয় সময়", "HNEG": "HNEG", "SGT": "SGT", "UYST": "UYST", "WIT": "WIT", "NZST": "NZST", "CLT": "CLT", "GFT": "GFT", "TMT": "TMT", "PST": "PST", "HKT": "HKT", "BOT": "BOT", "COT": "COT", "HENOMX": "HENOMX", "HECU": "HECU", "WIB": "WIB", "HAT": "HAT", "MEZ": "MEZ", "MESZ": "MESZ", "LHDT": "LHDT", "WAST": "WAST", "GMT": "GMT", "ADT": "ADT", "AEST": "AEST", "SAST": "SAST", "GYT": "GYT", "WESZ": "WESZ", "WEZ": "WEZ", "ACWST": "ACWST", "ACWDT": "ACWDT", "ChST": "ChST", "EAT": "EAT", "SRT": "SRT", "CHADT": "CHADT", "HEPMX": "HEPMX", "VET": "VET", "HEOG": "HEOG", "AWST": "AWST", "ACDT": "ACDT", "WAT": "WAT", "ECT": "ECT", "HNNOMX": "HNNOMX", "EST": "EST", "HAST": "HAST", "AST": "AST", "AKDT": "AKDT", "ART": "ART", "∅∅∅": "∅∅∅", "ACST": "ACST", "WART": "WART", "BT": "BT", "HEPM": "HEPM", "JDT": "JDT", "HEEG": "HEEG", "WARST": "WARST", "HNPM": "HNPM", "NZDT": "NZDT", "OEZ": "OEZ", "HADT": "HADT", "CLST": "CLST", "CAT": "CAT", "OESZ": "OESZ", "MST": "MST", "HNT": "HNT", "HNOG": "HNOG", "COST": "COST", "PDT": "PDT", "TMST": "TMST", "HNCU": "HNCU", "MDT": "MDT", "AEDT": "AEDT"}, } } @@ -431,7 +431,12 @@ func (as *as_IN) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2d}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (as *as_IN) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (as *as_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, as.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -485,7 +500,12 @@ func (as *as_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, as.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/asa/asa.go b/asa/asa.go index bf8f2e205..f852c8249 100644 --- a/asa/asa.go +++ b/asa/asa.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Dec"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla yakwe Yethu", "Baada yakwe Yethu"}, - timezones: map[string]string{"CDT": "CDT", "NZST": "NZST", "ART": "ART", "CST": "CST", "BOT": "BOT", "UYT": "UYT", "OEZ": "OEZ", "COST": "COST", "AEST": "AEST", "TMST": "TMST", "WIT": "WIT", "AWST": "AWST", "LHDT": "LHDT", "ECT": "ECT", "ACST": "ACST", "MDT": "MDT", "CLT": "CLT", "EAT": "EAT", "IST": "IST", "JDT": "JDT", "WEZ": "WEZ", "VET": "VET", "ADT": "ADT", "MYT": "MYT", "OESZ": "OESZ", "BT": "BT", "LHST": "LHST", "AEDT": "AEDT", "WAT": "WAT", "ChST": "ChST", "CLST": "CLST", "WESZ": "WESZ", "CHADT": "CHADT", "PST": "PST", "PDT": "PDT", "HNT": "HNT", "HAT": "HAT", "AKDT": "AKDT", "EST": "EST", "∅∅∅": "∅∅∅", "MEZ": "MEZ", "AKST": "AKST", "WAST": "WAST", "MST": "MST", "ACDT": "ACDT", "UYST": "UYST", "WIB": "WIB", "HADT": "HADT", "ACWDT": "ACWDT", "AST": "AST", "WITA": "WITA", "AWDT": "AWDT", "GMT": "GMT", "HKST": "HKST", "CHAST": "CHAST", "MESZ": "MESZ", "ARST": "ARST", "SRT": "SRT", "HKT": "HKT", "HAST": "HAST", "EDT": "EDT", "GFT": "GFT", "WART": "WART", "COT": "COT", "CAT": "CAT", "SGT": "SGT", "WARST": "WARST", "SAST": "SAST", "NZDT": "NZDT", "JST": "JST", "TMT": "TMT", "GYT": "GYT", "ACWST": "ACWST"}, + timezones: map[string]string{"AWDT": "AWDT", "LHST": "LHST", "TMT": "TMT", "HNPMX": "HNPMX", "BT": "BT", "ACST": "ACST", "ECT": "ECT", "EAT": "EAT", "PST": "PST", "WESZ": "WESZ", "HEEG": "HEEG", "MYT": "MYT", "WIB": "WIB", "HEOG": "HEOG", "ACWDT": "ACWDT", "NZDT": "NZDT", "CHADT": "CHADT", "TMST": "TMST", "HECU": "HECU", "JST": "JST", "ACDT": "ACDT", "WAT": "WAT", "ACWST": "ACWST", "EST": "EST", "HKT": "HKT", "CLST": "CLST", "GFT": "GFT", "WAST": "WAST", "COST": "COST", "HENOMX": "HENOMX", "CST": "CST", "ART": "ART", "HKST": "HKST", "WITA": "WITA", "JDT": "JDT", "ChST": "ChST", "HNEG": "HNEG", "GMT": "GMT", "ARST": "ARST", "MEZ": "MEZ", "ADT": "ADT", "WIT": "WIT", "SRT": "SRT", "WEZ": "WEZ", "COT": "COT", "PDT": "PDT", "HNOG": "HNOG", "HAT": "HAT", "HNPM": "HNPM", "OESZ": "OESZ", "WART": "WART", "HNNOMX": "HNNOMX", "HADT": "HADT", "VET": "VET", "MESZ": "MESZ", "NZST": "NZST", "∅∅∅": "∅∅∅", "HNCU": "HNCU", "UYST": "UYST", "HEPM": "HEPM", "CHAST": "CHAST", "IST": "IST", "CAT": "CAT", "MST": "MST", "AEDT": "AEDT", "BOT": "BOT", "MDT": "MDT", "AST": "AST", "GYT": "GYT", "AKST": "AKST", "WARST": "WARST", "SGT": "SGT", "HAST": "HAST", "HNT": "HNT", "LHDT": "LHDT", "OEZ": "OEZ", "EDT": "EDT", "HEPMX": "HEPMX", "AKDT": "AKDT", "CDT": "CDT", "AEST": "AEST", "AWST": "AWST", "SAST": "SAST", "CLT": "CLT", "UYT": "UYT"}, } } @@ -332,7 +332,12 @@ func (asa *asa) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +351,12 @@ func (asa *asa) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -360,7 +370,12 @@ func (asa *asa) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -376,7 +391,12 @@ func (asa *asa) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/asa_TZ/asa_TZ.go b/asa_TZ/asa_TZ.go index 568a4b14e..6efae2d41 100644 --- a/asa_TZ/asa_TZ.go +++ b/asa_TZ/asa_TZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Dec"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla yakwe Yethu", "Baada yakwe Yethu"}, - timezones: map[string]string{"EDT": "EDT", "PDT": "PDT", "GYT": "GYT", "BOT": "BOT", "ECT": "ECT", "CHAST": "CHAST", "COST": "COST", "ACWST": "ACWST", "EST": "EST", "WAST": "WAST", "MYT": "MYT", "CDT": "CDT", "NZST": "NZST", "AKDT": "AKDT", "SAST": "SAST", "WAT": "WAT", "WIT": "WIT", "OEZ": "OEZ", "WEZ": "WEZ", "HKST": "HKST", "COT": "COT", "ARST": "ARST", "WART": "WART", "ACWDT": "ACWDT", "ChST": "ChST", "AWDT": "AWDT", "HKT": "HKT", "AWST": "AWST", "LHDT": "LHDT", "TMT": "TMT", "VET": "VET", "ACST": "ACST", "EAT": "EAT", "HNT": "HNT", "CAT": "CAT", "UYT": "UYT", "CLST": "CLST", "ACDT": "ACDT", "SGT": "SGT", "ART": "ART", "MST": "MST", "HAT": "HAT", "GFT": "GFT", "AEDT": "AEDT", "AKST": "AKST", "PST": "PST", "TMST": "TMST", "CST": "CST", "UYST": "UYST", "SRT": "SRT", "HAST": "HAST", "HADT": "HADT", "WITA": "WITA", "BT": "BT", "WESZ": "WESZ", "MEZ": "MEZ", "MDT": "MDT", "CLT": "CLT", "CHADT": "CHADT", "MESZ": "MESZ", "WARST": "WARST", "AEST": "AEST", "IST": "IST", "ADT": "ADT", "∅∅∅": "∅∅∅", "JST": "JST", "OESZ": "OESZ", "NZDT": "NZDT", "GMT": "GMT", "AST": "AST", "JDT": "JDT", "LHST": "LHST", "WIB": "WIB"}, + timezones: map[string]string{"SRT": "SRT", "WEZ": "WEZ", "ECT": "ECT", "OEZ": "OEZ", "∅∅∅": "∅∅∅", "CST": "CST", "WIB": "WIB", "HNOG": "HNOG", "WITA": "WITA", "JST": "JST", "COST": "COST", "HNEG": "HNEG", "EST": "EST", "ART": "ART", "HAT": "HAT", "AEDT": "AEDT", "MEZ": "MEZ", "CHADT": "CHADT", "CLT": "CLT", "ACST": "ACST", "CAT": "CAT", "WAST": "WAST", "VET": "VET", "ARST": "ARST", "EAT": "EAT", "HNCU": "HNCU", "ADT": "ADT", "BOT": "BOT", "UYST": "UYST", "ACWST": "ACWST", "AWST": "AWST", "LHDT": "LHDT", "TMST": "TMST", "WART": "WART", "HENOMX": "HENOMX", "HAST": "HAST", "CLST": "CLST", "HNNOMX": "HNNOMX", "GMT": "GMT", "HEPMX": "HEPMX", "GYT": "GYT", "WESZ": "WESZ", "HKT": "HKT", "HNPMX": "HNPMX", "MYT": "MYT", "HADT": "HADT", "ACWDT": "ACWDT", "HEEG": "HEEG", "OESZ": "OESZ", "AST": "AST", "AKST": "AKST", "AWDT": "AWDT", "HEPM": "HEPM", "MESZ": "MESZ", "UYT": "UYT", "SAST": "SAST", "ACDT": "ACDT", "AKDT": "AKDT", "WIT": "WIT", "HEOG": "HEOG", "HNPM": "HNPM", "LHST": "LHST", "NZST": "NZST", "EDT": "EDT", "MDT": "MDT", "HKST": "HKST", "CHAST": "CHAST", "JDT": "JDT", "ChST": "ChST", "CDT": "CDT", "PST": "PST", "HNT": "HNT", "GFT": "GFT", "WARST": "WARST", "COT": "COT", "SGT": "SGT", "HECU": "HECU", "MST": "MST", "PDT": "PDT", "IST": "IST", "BT": "BT", "AEST": "AEST", "NZDT": "NZDT", "TMT": "TMT", "WAT": "WAT"}, } } @@ -332,7 +332,12 @@ func (asa *asa_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +351,12 @@ func (asa *asa_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -360,7 +370,12 @@ func (asa *asa_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -376,7 +391,12 @@ func (asa *asa_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, asa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ast/ast.go b/ast/ast.go index 4aa1e0c0e..90e5817f9 100644 --- a/ast/ast.go +++ b/ast/ast.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "xin", "feb", "mar", "abr", "may", "xun", "xnt", "ago", "set", "och", "pay", "avi"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"domingu", "llunes", "martes", "miércoles", "xueves", "vienres", "sábadu"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"de la mañana", "de la tardi"}, - erasAbbreviated: []string{"a.C.", "d.C."}, - erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "después de Cristu"}, - timezones: map[string]string{"COT": "Hora estándar de Colombia", "ECT": "Hora d’Ecuador", "CLT": "Hora estándar de Chile", "GMT": "Hora media de Greenwich", "SRT": "Hora del Surinam", "OEZ": "Hora estándar d’Europa del Este", "EST": "Hora estándar del este norteamericanu", "PST": "Hora estándar del Pacíficu norteamericanu", "WAST": "Hora braniega d’África del oeste", "NZST": "Hora estándar de Nueva Zelanda", "LHDT": "Hora braniega de Lord Howe", "HKT": "Hora estándar de Ḥong Kong", "AEST": "Hora estándar d’Australia del este", "ARST": "Hora braniega d’Arxentina", "HAST": "Hora estándar de Hawaii-Aleutianes", "BOT": "Hora de Bolivia", "HAT": "Hora braniega de Newfoundland", "WARST": "Hora braniega occidental d’Arxentina", "AST": "Hora estándar del Atlánticu", "EAT": "Hora d’África del este", "HKST": "Hora braniega de Ḥong Kong", "GFT": "Hora de La Guyana Francesa", "SGT": "Hora estándar de Singapur", "MESZ": "Hora braniega d’Europa Central", "HADT": "Hora braniega de Hawaii-Aleutianes", "IST": "Hora estándar de la India", "CST": "Hora estándar central norteamericana", "LHST": "Hora estándar de Lord Howe", "OESZ": "Hora braniega d’Europa del Este", "MST": "Hora estándar de les montañes norteamericanes", "MEZ": "Hora estándar d’Europa Central", "AKDT": "Hora braniega d’Alaska", "UYT": "Hora estándar del Uruguái", "WIT": "Hora d’Indonesia del este", "WIB": "Hora d’Indonesia del oeste", "ACST": "Hora estándar d’Australia central", "WART": "Hora estándar occidental d’Arxentina", "TMST": "Hora braniega del Turkmenistán", "WESZ": "Hora braniega d’Europa Occidental", "ACWST": "Hora estándar d’Australia central del oeste", "TMT": "Hora estándar del Turkmenistán", "UYST": "Hora braniega del Uruguái", "∅∅∅": "hora braniega d’Acre", "MDT": "Hora braniega de les montañes norteamericanes", "MYT": "Hora de Malasia", "GYT": "Hora de La Guyana", "NZDT": "Hora braniega de Nueva Zelanda", "ACDT": "Hora braniega d’Australia central", "WAT": "Hora estándar d’África del oeste", "AKST": "Hora estándar d’Alaska", "WITA": "Hora d’Indonesia central", "ChST": "Hora estándar de Chamorro", "CLST": "Hora braniega de Chile", "JST": "Hora estándar de Xapón", "JDT": "Hora braniega de Xapón", "WEZ": "Hora estándar d’Europa Occidental", "COST": "Hora braniega de Colombia", "SAST": "Hora de Sudáfrica", "CDT": "Hora braniega central norteamericana", "ACWDT": "Hora braniega d’Australia central del oeste", "EDT": "Hora braniega del este norteamericanu", "PDT": "Hora braniega del Pacíficu norteamericanu", "AWST": "Hora estándar d’Australia del oeste", "CHADT": "Hora braniega de Chatham", "AEDT": "Hora braniega d’Australia del este", "AWDT": "Hora braniega d’Australia del oeste", "CAT": "Hora d’África central", "HNT": "Hora estándar de Newfoundland", "BT": "Hora de Bután", "CHAST": "Hora estándar de Chatham", "VET": "Hora de Venezuela", "ART": "Hora estándar d’Arxentina", "ADT": "Hora braniega del Atlánticu"}, + periodsWide: []string{"de la mañana", "de la tarde"}, + erasAbbreviated: []string{"e.C.", "d.C."}, + erasNarrow: []string{"", ""}, + erasWide: []string{"enantes de Cristu", "después de Cristu"}, + timezones: map[string]string{"HKST": "Hora braniega de Ḥong Kong", "NZDT": "Hora braniega de Nueva Zelanda", "IST": "Hora estándar de la India", "HNCU": "Hora estándar de Cuba", "AKST": "Hora estándar d’Alaska", "WIB": "Hora d’Indonesia del oeste", "ARST": "Hora braniega d’Arxentina", "HKT": "Hora estándar de Ḥong Kong", "BOT": "Hora de Bolivia", "WAT": "Hora estándar d’África del oeste", "HEOG": "Hora braniega de Groenlandia occidental", "AWST": "Hora estándar d’Australia del oeste", "HADT": "Hora braniega de Hawaii-Aleutianes", "JDT": "Hora braniega de Xapón", "OESZ": "Hora braniega d’Europa del Este", "ECT": "Hora d’Ecuador", "NZST": "Hora estándar de Nueva Zelanda", "CLT": "Hora estándar de Chile", "CLST": "Hora braniega de Chile", "WARST": "Hora braniega occidental d’Arxentina", "CDT": "Hora braniega central norteamericana", "UYST": "Hora braniega del Uruguái", "WIT": "Hora d’Indonesia del este", "PST": "Hora estándar del Pacíficu norteamericanu", "ACDT": "Hora braniega d’Australia central", "CAT": "Hora d’África central", "HENOMX": "Hora braniega del noroeste de Méxicu", "CST": "Hora estándar central norteamericana", "GYT": "Hora de La Guyana", "HNOG": "Hora estándar de Groenlandia occidental", "WESZ": "Hora braniega d’Europa Occidental", "HEPMX": "Hora braniega del Pacíficu de Méxicu", "AEDT": "Hora braniega d’Australia del este", "TMT": "Hora estándar del Turkmenistán", "LHDT": "Hora braniega de Lord Howe", "HNEG": "Hora estándar de Groenlandia oriental", "GFT": "Hora de La Guyana Francesa", "HNNOMX": "Hora estándar del noroeste de Méxicu", "EST": "Hora estándar del este norteamericanu", "HAT": "Hora braniega de Newfoundland", "WEZ": "Hora estándar d’Europa Occidental", "MESZ": "Hora braniega d’Europa Central", "AKDT": "Hora braniega d’Alaska", "VET": "Hora de Venezuela", "BT": "Hora de Bután", "CHADT": "Hora braniega de Chatham", "MST": "Hora estándar de Macáu", "AST": "Hora estándar del Atlánticu", "HNT": "Hora estándar de Newfoundland", "COT": "Hora estándar de Colombia", "HECU": "Hora braniega de Cuba", "∅∅∅": "Hora braniega de Les Azores", "GMT": "Hora media de Greenwich", "EDT": "Hora braniega del este norteamericanu", "ChST": "Hora estándar de Chamorro", "PDT": "Hora braniega del Pacíficu norteamericanu", "LHST": "Hora estándar de Lord Howe", "SAST": "Hora de Sudáfrica", "HEEG": "Hora braniega de Groenlandia oriental", "TMST": "Hora braniega del Turkmenistán", "HNPM": "Hora estándar de Saint Pierre y Miquelon", "MEZ": "Hora estándar d’Europa Central", "HNPMX": "Hora estándar del Pacíficu de Méxicu", "ADT": "Hora braniega del Atlánticu", "MYT": "Hora de Malasia", "HAST": "Hora estándar de Hawaii-Aleutianes", "ACWDT": "Hora braniega d’Australia central del oeste", "OEZ": "Hora estándar d’Europa del Este", "WART": "Hora estándar occidental d’Arxentina", "SGT": "Hora estándar de Singapur", "MDT": "Hora braniega de Macáu", "JST": "Hora estándar de Xapón", "WAST": "Hora braniega d’África del oeste", "COST": "Hora braniega de Colombia", "WITA": "Hora d’Indonesia central", "AEST": "Hora estándar d’Australia del este", "HEPM": "Hora braniega de Saint Pierre y Miquelon", "EAT": "Hora d’África del este", "ART": "Hora estándar d’Arxentina", "CHAST": "Hora estándar de Chatham", "UYT": "Hora estándar del Uruguái", "SRT": "Hora del Surinam", "ACWST": "Hora estándar d’Australia central del oeste", "AWDT": "Hora braniega d’Australia del oeste", "ACST": "Hora estándar d’Australia central"}, } } @@ -410,7 +410,12 @@ func (ast *ast) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ast.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -425,7 +430,12 @@ func (ast *ast) FmtDateLong(t time.Time) string { b = append(b, ast.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +452,12 @@ func (ast *ast) FmtDateFull(t time.Time) string { b = append(b, ast.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ast_ES/ast_ES.go b/ast_ES/ast_ES.go index ff732e20f..efea91683 100644 --- a/ast_ES/ast_ES.go +++ b/ast_ES/ast_ES.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "xin", "feb", "mar", "abr", "may", "xun", "xnt", "ago", "set", "och", "pay", "avi"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"domingu", "llunes", "martes", "miércoles", "xueves", "vienres", "sábadu"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"de la mañana", "de la tardi"}, - erasAbbreviated: []string{"a.C.", "d.C."}, - erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "después de Cristu"}, - timezones: map[string]string{"CHADT": "Hora braniega de Chatham", "AEST": "Hora estándar d’Australia del este", "PST": "Hora estándar del Pacíficu norteamericanu", "UYST": "Hora braniega del Uruguái", "CHAST": "Hora estándar de Chatham", "MEZ": "Hora estándar d’Europa Central", "ACWDT": "Hora braniega d’Australia central del oeste", "EST": "Hora estándar del este norteamericanu", "CST": "Hora estándar central norteamericana", "BT": "Hora de Bután", "JST": "Hora estándar de Xapón", "PDT": "Hora braniega del Pacíficu norteamericanu", "SAST": "Hora de Sudáfrica", "CLT": "Hora estándar de Chile", "WEZ": "Hora estándar d’Europa Occidental", "TMST": "Hora braniega del Turkmenistán", "HKST": "Hora braniega de Ḥong Kong", "AKDT": "Hora braniega d’Alaska", "AST": "Hora estándar del Atlánticu", "NZDT": "Hora braniega de Nueva Zelanda", "CLST": "Hora braniega de Chile", "SRT": "Hora del Surinam", "WITA": "Hora d’Indonesia central", "CDT": "Hora braniega central norteamericana", "GYT": "Hora de La Guyana", "WAST": "Hora braniega d’África del oeste", "JDT": "Hora braniega de Xapón", "COT": "Hora estándar de Colombia", "VET": "Hora de Venezuela", "WARST": "Hora braniega occidental d’Arxentina", "MDT": "Hora braniega de les montañes norteamericanes", "BOT": "Hora de Bolivia", "AWDT": "Hora braniega d’Australia del oeste", "WAT": "Hora estándar d’África del oeste", "OESZ": "Hora braniega d’Europa del Este", "ARST": "Hora braniega d’Arxentina", "ACWST": "Hora estándar d’Australia central del oeste", "MST": "Hora estándar de les montañes norteamericanes", "HNT": "Hora estándar de Newfoundland", "AWST": "Hora estándar d’Australia del oeste", "WART": "Hora estándar occidental d’Arxentina", "HAST": "Hora estándar de Hawaii-Aleutianes", "ADT": "Hora braniega del Atlánticu", "WESZ": "Hora braniega d’Europa Occidental", "COST": "Hora braniega de Colombia", "ECT": "Hora d’Ecuador", "SGT": "Hora estándar de Singapur", "∅∅∅": "Hora braniega de Les Azores", "LHST": "Hora estándar de Lord Howe", "LHDT": "Hora braniega de Lord Howe", "ART": "Hora estándar d’Arxentina", "AKST": "Hora estándar d’Alaska", "TMT": "Hora estándar del Turkmenistán", "NZST": "Hora estándar de Nueva Zelanda", "UYT": "Hora estándar del Uruguái", "ACST": "Hora estándar d’Australia central", "HADT": "Hora braniega de Hawaii-Aleutianes", "AEDT": "Hora braniega d’Australia del este", "EAT": "Hora d’África del este", "CAT": "Hora d’África central", "OEZ": "Hora estándar d’Europa del Este", "HKT": "Hora estándar de Ḥong Kong", "EDT": "Hora braniega del este norteamericanu", "GFT": "Hora de La Guyana Francesa", "MESZ": "Hora braniega d’Europa Central", "ACDT": "Hora braniega d’Australia central", "WIB": "Hora d’Indonesia del oeste", "MYT": "Hora de Malasia", "ChST": "Hora estándar de Chamorro", "HAT": "Hora braniega de Newfoundland", "WIT": "Hora d’Indonesia del este", "GMT": "Hora media de Greenwich", "IST": "Hora estándar de la India"}, + periodsWide: []string{"de la mañana", "de la tarde"}, + erasAbbreviated: []string{"e.C.", "d.C."}, + erasNarrow: []string{"", ""}, + erasWide: []string{"enantes de Cristu", "después de Cristu"}, + timezones: map[string]string{"HNEG": "Hora estándar de Groenlandia oriental", "HNCU": "Hora estándar de Cuba", "ARST": "Hora braniega d’Arxentina", "AWDT": "Hora braniega d’Australia del oeste", "LHDT": "Hora braniega de Lord Howe", "CHADT": "Hora braniega de Chatham", "JDT": "Hora braniega de Xapón", "ADT": "Hora braniega del Atlánticu", "VET": "Hora de Venezuela", "ACWST": "Hora estándar d’Australia central del oeste", "PDT": "Hora braniega del Pacíficu norteamericanu", "AEST": "Hora estándar d’Australia del este", "HEOG": "Hora braniega de Groenlandia occidental", "HKST": "Hora braniega de Ḥong Kong", "HEEG": "Hora braniega de Groenlandia oriental", "ACST": "Hora estándar d’Australia central", "EAT": "Hora d’África del este", "WART": "Hora estándar occidental d’Arxentina", "EST": "Hora estándar del este norteamericanu", "BT": "Hora de Bután", "GFT": "Hora de La Guyana Francesa", "TMST": "Hora braniega del Turkmenistán", "IST": "Hora estándar de la India", "WAST": "Hora braniega d’África del oeste", "COT": "Hora estándar de Colombia", "GMT": "Hora media de Greenwich", "NZST": "Hora estándar de Nueva Zelanda", "MESZ": "Hora braniega d’Europa Central", "WIT": "Hora d’Indonesia del este", "WESZ": "Hora braniega d’Europa Occidental", "CHAST": "Hora estándar de Chatham", "WAT": "Hora estándar d’África del oeste", "ECT": "Hora d’Ecuador", "CAT": "Hora d’África central", "HNPMX": "Hora estándar del Pacíficu de Méxicu", "GYT": "Hora de La Guyana", "TMT": "Hora estándar del Turkmenistán", "HENOMX": "Hora braniega del noroeste de Méxicu", "HNOG": "Hora estándar de Groenlandia occidental", "PST": "Hora estándar del Pacíficu norteamericanu", "MST": "Hora estándar de Macáu", "UYST": "Hora braniega del Uruguái", "OESZ": "Hora braniega d’Europa del Este", "MDT": "Hora braniega de Macáu", "AKST": "Hora estándar d’Alaska", "SRT": "Hora del Surinam", "HKT": "Hora estándar de Ḥong Kong", "JST": "Hora estándar de Xapón", "COST": "Hora braniega de Colombia", "HEPMX": "Hora braniega del Pacíficu de Méxicu", "AKDT": "Hora braniega d’Alaska", "CDT": "Hora braniega central norteamericana", "UYT": "Hora estándar del Uruguái", "HECU": "Hora braniega de Cuba", "WIB": "Hora d’Indonesia del oeste", "CST": "Hora estándar central norteamericana", "SAST": "Hora de Sudáfrica", "WARST": "Hora braniega occidental d’Arxentina", "WEZ": "Hora estándar d’Europa Occidental", "ACWDT": "Hora braniega d’Australia central del oeste", "HNT": "Hora estándar de Newfoundland", "BOT": "Hora de Bolivia", "HNNOMX": "Hora estándar del noroeste de Méxicu", "HAT": "Hora braniega de Newfoundland", "ART": "Hora estándar d’Arxentina", "WITA": "Hora d’Indonesia central", "MEZ": "Hora estándar d’Europa Central", "HEPM": "Hora braniega de Saint Pierre y Miquelon", "CLT": "Hora estándar de Chile", "OEZ": "Hora estándar d’Europa del Este", "AST": "Hora estándar del Atlánticu", "HAST": "Hora estándar de Hawaii-Aleutianes", "AWST": "Hora estándar d’Australia del oeste", "HNPM": "Hora estándar de Saint Pierre y Miquelon", "CLST": "Hora braniega de Chile", "ChST": "Hora estándar de Chamorro", "ACDT": "Hora braniega d’Australia central", "MYT": "Hora de Malasia", "HADT": "Hora braniega de Hawaii-Aleutianes", "AEDT": "Hora braniega d’Australia del este", "LHST": "Hora estándar de Lord Howe", "∅∅∅": "Hora braniega del Perú", "SGT": "Hora estándar de Singapur", "EDT": "Hora braniega del este norteamericanu", "NZDT": "Hora braniega de Nueva Zelanda"}, } } @@ -410,7 +410,12 @@ func (ast *ast_ES) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ast.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -425,7 +430,12 @@ func (ast *ast_ES) FmtDateLong(t time.Time) string { b = append(b, ast.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +452,12 @@ func (ast *ast_ES) FmtDateFull(t time.Time) string { b = append(b, ast.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/az/az.go b/az/az.go index 360f4849b..16876e41a 100644 --- a/az/az.go +++ b/az/az.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "₼", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "₼", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avq", "sen", "okt", "noy", "dek"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"e.ə.", "b.e."}, + erasAbbreviated: []string{"e.ə.", "y.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"eramızdan əvvəl", "eramız"}, - timezones: map[string]string{"HNT": "Nyufaundlend Standart Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "MST": "Şimali Dağlıq Amerika Standart Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "AKST": "Alyaska Standart Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "CLT": "Çili Standart Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "SGT": "Sinqapur Vaxtı", "GYT": "Qayana Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "BT": "Butan Vaxtı", "JST": "Yaponiya Standart Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "MDT": "Şimali Dağlıq Amerika Yay Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "ART": "Argentina Standart Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "AST": "Atlantik Standart Vaxt", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "BOT": "Boliviya Vaxtı", "SRT": "Surinam Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "CHADT": "Çatham Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "VET": "Venesuela Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "∅∅∅": "Peru Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "IST": "Hindistan Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "MYT": "Malayziya Vaxtı", "ChST": "Çamorro Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "ECT": "Ekvador Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "CLST": "Çili Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "ADT": "Atlantik Yay Vaxtı", "TMST": "Türkmənistan Yay Vaxtı"}, + erasWide: []string{"eramızdan əvvəl", "yeni era"}, + timezones: map[string]string{"∅∅∅": "Amazon Yay Vaxtı", "HEEG": "Şərqi Qrenlandiya Yay Vaxtı", "AST": "Atlantik Standart Vaxt", "CLST": "Çili Yay Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "HENOMX": "Şimal-Qərbi Meksika Yay Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "AKST": "Alyaska Standart Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "HNPM": "San Pier və Mikelon Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "GYT": "Qayana Vaxtı", "SRT": "Surinam Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "ChST": "Çamorro Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "MDT": "MDT", "UYST": "Uruqvay Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "HNCU": "Kuba Standart Vaxtı", "HECU": "Kuba Yay Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "BT": "Butan Vaxtı", "HNNOMX": "Şimal-Qərbi Meksika Standart Vaxtı", "SGT": "Sinqapur Vaxtı", "MST": "MST", "ART": "Argentina Standart Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "HEPMX": "Meksika Sakit Okean Yay Vaxtı", "HNOG": "Qərbi Qrenlandiya Standart Vaxtı", "HNPMX": "Meksika Sakit Okean Standart Vaxtı", "MYT": "Malayziya Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "IST": "Hindistan Vaxtı", "CLT": "Çili Standart Vaxtı", "BOT": "Boliviya Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "VET": "Venesuela Vaxtı", "CHAST": "Çatham Standart Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "HNEG": "Şərqi Qrenlandiya Standart Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "GFT": "Fransız Qvianası Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "ADT": "Atlantik Yay Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "CHADT": "Çatham Yay Vaxtı", "ECT": "Ekvador Vaxtı", "HEOG": "Qərbi Qrenlandiya Yay Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "HEPM": "San Pier və Mikelon Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı"}, } } @@ -112,9 +112,9 @@ func (az *az) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 iMod1000 := i % 1000 + iMod10 := i % 10 if (iMod10 == 1 || iMod10 == 2 || iMod10 == 5 || iMod10 == 7 || iMod10 == 8) || (iMod100 == 20 || iMod100 == 50 || iMod100 == 70 || iMod100 == 80) { return locales.PluralRuleOne @@ -458,7 +458,12 @@ func (az *az) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +477,12 @@ func (az *az) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,13 @@ func (az *az) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, az.daysWide[t.Weekday()]...) diff --git a/az_Cyrl/az_Cyrl.go b/az_Cyrl/az_Cyrl.go index ee66d7463..4d8a73398 100644 --- a/az_Cyrl/az_Cyrl.go +++ b/az_Cyrl/az_Cyrl.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "₼", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "₼", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avq", "sen", "okt", "noy", "dek"}, + monthsAbbreviated: []string{"", "јан", "фев", "мар", "апр", "май", "ијн", "ијл", "авг", "сен", "окт", "ној", "дек"}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "јанвар", "феврал", "март", "апрел", "май", "ијун", "ијул", "август", "сентјабр", "октјабр", "нојабр", "декабр"}, - daysAbbreviated: []string{"B.", "B.E.", "Ç.A.", "Ç.", "C.A.", "C.", "Ş."}, + daysAbbreviated: []string{"Б.", "Б.Е.", "Ч.А.", "Ч.", "Ҹ.А.", "Ҹ.", "Ш."}, daysNarrow: []string{"7", "1", "2", "3", "4", "5", "6"}, - daysShort: []string{"B.", "B.E.", "Ç.A.", "Ç.", "C.A.", "C.", "Ş."}, + daysShort: []string{"Б.", "Б.Е.", "Ч.А.", "Ч.", "Ҹ.А.", "Ҹ.", "Ш."}, daysWide: []string{"базар", "базар ертәси", "чәршәнбә ахшамы", "чәршәнбә", "ҹүмә ахшамы", "ҹүмә", "шәнбә"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"e.ə.", "b.e."}, + periodsAbbreviated: []string{"АМ", "ПМ"}, + periodsNarrow: []string{"а", "п"}, + periodsWide: []string{"АМ", "ПМ"}, + erasAbbreviated: []string{"е.ә.", "ј.е."}, erasNarrow: []string{"", ""}, - erasWide: []string{"eramızdan əvvəl", "eramız"}, - timezones: map[string]string{"NZST": "Yeni Zelandiya Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "ART": "Argentina Standart Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "∅∅∅": "Azor Yay Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "SGT": "Sinqapur Vaxtı", "ChST": "Çamorro Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "CHADT": "Çatham Yay Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "SRT": "Surinam Vaxtı", "VET": "Venesuela Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "ADT": "Atlantik Yay Vaxtı", "CLST": "Çili Yay Vaxtı", "ECT": "Ekvador Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "GYT": "Qayana Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "BOT": "Boliviya Vaxtı", "BT": "Butan Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "AKST": "Alyaska Standart Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "MYT": "Malayziya Vaxtı", "MDT": "Şimali Dağlıq Amerika Yay Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "IST": "Hindistan Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "CLT": "Çili Standart Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "AST": "Atlantik Standart Vaxt", "MST": "Şimali Dağlıq Amerika Standart Vaxtı"}, + erasWide: []string{"ерамыздан әввәл", "јени ера"}, + timezones: map[string]string{"WITA": "Mərkəzi İndoneziya Vaxtı", "CLST": "Çili Yay Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "SGT": "Sinqapur Vaxtı", "IST": "Hindistan Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "ADT": "Atlantik Yay Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "HNNOMX": "Şimal-Qərbi Meksika Standart Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "MST": "MST", "MDT": "MDT", "MYT": "Malayziya Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "HENOMX": "Şimal-Qərbi Meksika Yay Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "HNPM": "San Pier və Mikelon Standart Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "CLT": "Çili Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "ECT": "Ekvador Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "ChST": "Çamorro Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "GYT": "Qayana Vaxtı", "ART": "Argentina Standart Vaxtı", "HNOG": "Qərbi Qrenlandiya Standart Vaxtı", "HEOG": "Qərbi Qrenlandiya Yay Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "HECU": "Kuba Yay Vaxtı", "HEPM": "San Pier və Mikelon Yay Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "AST": "Atlantik Standart Vaxt", "BT": "Butan Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "HNCU": "Kuba Standart Vaxtı", "AKST": "Alyaska Standart Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "SRT": "Surinam Vaxtı", "ARST": "Argentina Yay Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "HNPMX": "Meksika Sakit Okean Standart Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "BOT": "Boliviya Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "HEPMX": "Meksika Sakit Okean Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "VET": "Venesuela Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "∅∅∅": "Amazon Yay Vaxtı", "HNEG": "Şərqi Qrenlandiya Standart Vaxtı", "HEEG": "Şərqi Qrenlandiya Yay Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "CHADT": "Çatham Yay Vaxtı"}, } } @@ -112,9 +112,9 @@ func (az *az_Cyrl) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 iMod1000 := i % 1000 + iMod10 := i % 10 if (iMod10 == 1 || iMod10 == 2 || iMod10 == 5 || iMod10 == 7 || iMod10 == 8) || (iMod100 == 20 || iMod100 == 50 || iMod100 == 70 || iMod100 == 80) { return locales.PluralRuleOne @@ -457,8 +457,13 @@ func (az *az_Cyrl) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, az.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,8 +476,13 @@ func (az *az_Cyrl) FmtDateLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,13 +492,19 @@ func (az *az_Cyrl) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, az.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2c, 0x20}...) + b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, az.daysWide[t.Weekday()]...) return string(b) } diff --git a/az_Cyrl_AZ/az_Cyrl_AZ.go b/az_Cyrl_AZ/az_Cyrl_AZ.go index d23a8b1bc..4d5148a1c 100644 --- a/az_Cyrl_AZ/az_Cyrl_AZ.go +++ b/az_Cyrl_AZ/az_Cyrl_AZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avq", "sen", "okt", "noy", "dek"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"e.ə.", "b.e."}, + erasAbbreviated: []string{"e.ə.", "y.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"eramızdan əvvəl", "eramız"}, - timezones: map[string]string{"WITA": "Mərkəzi İndoneziya Vaxtı", "GYT": "Qayana Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "SRT": "Surinam Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "AST": "Atlantik Standart Vaxt", "IST": "Hindistan Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "VET": "Venesuela Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "ADT": "Atlantik Yay Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "CHADT": "Çatham Yay Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "CLT": "Çili Standart Vaxtı", "CLST": "Çili Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "AKST": "Alyaska Standart Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "SGT": "Sinqapur Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "∅∅∅": "Braziliya Yay Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "ART": "Argentina Standart Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "MYT": "Malayziya Vaxtı", "MDT": "Şimali Dağlıq Amerika Yay Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "BOT": "Boliviya Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ARST": "Argentina Yay Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "MST": "Şimali Dağlıq Amerika Standart Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "ECT": "Ekvador Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "ChST": "Çamorro Vaxtı", "BT": "Butan Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı"}, + erasWide: []string{"eramızdan əvvəl", "yeni era"}, + timezones: map[string]string{"WEZ": "Qərbi Avropa Standart Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "SRT": "Surinam Vaxtı", "HNPM": "San Pier və Mikelon Standart Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "MDT": "Şimali Dağlıq Amerika Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "CHAST": "Çatham Standart Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "ECT": "Ekvador Vaxtı", "JST": "Yaponiya Standart Vaxtı", "BOT": "Boliviya Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "AKST": "Alyaska Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "MYT": "Malayziya Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "IST": "Hindistan Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "HNCU": "Kuba Standart Vaxtı", "HEOG": "Qərbi Qrenlandiya Yay Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "BT": "Butan Vaxtı", "ART": "Argentina Standart Vaxtı", "∅∅∅": "Amazon Yay Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "AST": "Atlantik Standart Vaxt", "HEPMX": "Meksika Sakit Okean Yay Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "HNNOMX": "Şimal-Qərbi Meksika Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "ChST": "Çamorro Vaxtı", "HECU": "Kuba Yay Vaxtı", "MST": "Şimali Dağlıq Amerika Standart Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "HNPMX": "Meksika Sakit Okean Standart Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "CLST": "Çili Yay Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "SGT": "Sinqapur Vaxtı", "GYT": "Qayana Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "ADT": "Atlantik Yay Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "HEEG": "Şərqi Qrenlandiya Yay Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "VET": "Venesuela Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "HEPM": "San Pier və Mikelon Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "HENOMX": "Şimal-Qərbi Meksika Yay Vaxtı", "CHADT": "Çatham Yay Vaxtı", "HNEG": "Şərqi Qrenlandiya Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "HNOG": "Qərbi Qrenlandiya Standart Vaxtı", "CLT": "Çili Standart Vaxtı", "COT": "Kolumbiya Standart Vaxtı"}, } } @@ -458,7 +458,12 @@ func (az *az_Cyrl_AZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +477,12 @@ func (az *az_Cyrl_AZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,13 @@ func (az *az_Cyrl_AZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, az.daysWide[t.Weekday()]...) diff --git a/az_Latn/az_Latn.go b/az_Latn/az_Latn.go index 21827b4a7..aece59c79 100644 --- a/az_Latn/az_Latn.go +++ b/az_Latn/az_Latn.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avq", "sen", "okt", "noy", "dek"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"e.ə.", "b.e."}, + erasAbbreviated: []string{"e.ə.", "y.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"eramızdan əvvəl", "eramız"}, - timezones: map[string]string{"OEZ": "Şərqi Avropa Standart Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "∅∅∅": "Braziliya Yay Vaxtı", "BT": "Butan Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "MDT": "MDT", "MYT": "Malayziya Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "IST": "Hindistan Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "AST": "Atlantik Standart Vaxt", "EAT": "Şərqi Afrika Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "CLST": "Çili Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "ART": "Argentina Standart Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "SGT": "Sinqapur Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "ChST": "Çamorro Vaxtı", "VET": "Venesuela Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "GYT": "Qayana Vaxtı", "JST": "Yaponiya Standart Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "CHADT": "Çatham Yay Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "ECT": "Ekvador Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "BOT": "Boliviya Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "CHAST": "Çatham Standart Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "ADT": "Atlantik Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "MST": "MST", "AKST": "Alyaska Standart Vaxtı", "CLT": "Çili Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "SRT": "Surinam Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı"}, + erasWide: []string{"eramızdan əvvəl", "yeni era"}, + timezones: map[string]string{"GYT": "Qayana Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "CLT": "Çili Standart Vaxtı", "ChST": "Çamorro Vaxtı", "HEEG": "Şərqi Qrenlandiya Yay Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "HENOMX": "Şimal-Qərbi Meksika Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "HEPMX": "Meksika Sakit Okean Yay Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "HNCU": "Kuba Standart Vaxtı", "BT": "Butan Vaxtı", "IST": "Hindistan Vaxtı", "CLST": "Çili Yay Vaxtı", "HNEG": "Şərqi Qrenlandiya Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "AKST": "Alyaska Standart Vaxtı", "MYT": "Malayziya Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "HEOG": "Qərbi Qrenlandiya Yay Vaxtı", "HEPM": "San Pier və Mikelon Yay Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "HECU": "Kuba Yay Vaxtı", "HNPMX": "Meksika Sakit Okean Standart Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "MST": "MST", "ADT": "Atlantik Yay Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "HNNOMX": "Şimal-Qərbi Meksika Standart Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "ART": "Argentina Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "HNOG": "Qərbi Qrenlandiya Standart Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "SGT": "Sinqapur Vaxtı", "AST": "Atlantik Standart Vaxt", "SRT": "Surinam Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "VET": "Venesuela Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "HNPM": "San Pier və Mikelon Standart Vaxtı", "CHADT": "Çatham Yay Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "BOT": "Boliviya Vaxtı", "∅∅∅": "Azor Yay Vaxtı", "MDT": "MDT", "HADT": "Havay-Aleut Yay Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ECT": "Ekvador Vaxtı"}, } } @@ -458,7 +458,12 @@ func (az *az_Latn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +477,12 @@ func (az *az_Latn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,13 @@ func (az *az_Latn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, az.daysWide[t.Weekday()]...) diff --git a/az_Latn_AZ/az_Latn_AZ.go b/az_Latn_AZ/az_Latn_AZ.go index 69323eb48..e892d876b 100644 --- a/az_Latn_AZ/az_Latn_AZ.go +++ b/az_Latn_AZ/az_Latn_AZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avq", "sen", "okt", "noy", "dek"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"e.ə.", "b.e."}, + erasAbbreviated: []string{"e.ə.", "y.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"eramızdan əvvəl", "eramız"}, - timezones: map[string]string{"CHAST": "Çatham Standart Vaxtı", "CHADT": "Çatham Yay Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "MDT": "Şimali Dağlıq Amerika Yay Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "ARST": "Argentina Yay Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "HADT": "Havay-Aleut Yay Vaxtı", "IST": "Hindistan Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "AST": "Atlantik Standart Vaxt", "EAT": "Şərqi Afrika Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "CLT": "Çili Standart Vaxtı", "SRT": "Surinam Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "BOT": "Boliviya Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "ART": "Argentina Standart Vaxtı", "MYT": "Malayziya Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "ChST": "Çamorro Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "JDT": "Yaponiya Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "GFT": "Fransız Qvianası Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "VET": "Venesuela Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "SGT": "Sinqapur Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "ADT": "Atlantik Yay Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı", "GYT": "Qayana Vaxtı", "MST": "Şimali Dağlıq Amerika Standart Vaxtı", "CLST": "Çili Yay Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "ECT": "Ekvador Vaxtı", "JST": "Yaponiya Standart Vaxtı", "∅∅∅": "Braziliya Yay Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "BT": "Butan Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "AKST": "Alyaska Standart Vaxtı"}, + erasWide: []string{"eramızdan əvvəl", "yeni era"}, + timezones: map[string]string{"JDT": "Yaponiya Yay Vaxtı", "WIT": "Şərqi İndoneziya Vaxtı", "AEST": "Şərqi Avstraliya Standart Vaxtı", "CHAST": "Çatham Standart Vaxtı", "SAST": "Cənubi Afrika Vaxtı", "CLST": "Çili Yay Vaxtı", "COST": "Kolumbiya Yay Vaxtı", "UYT": "Uruqvay Standart Vaxtı", "AST": "Atlantik Standart Vaxt", "GFT": "Fransız Qvianası Vaxtı", "EST": "Şimali Şərqi Amerika Standart Vaxtı", "ACWDT": "Mərkəzi Qərbi Avstraliya Yay Vaxtı", "HEOG": "Qərbi Qrenlandiya Yay Vaxtı", "HNT": "Nyufaundlend Standart Vaxtı", "CLT": "Çili Standart Vaxtı", "ACST": "Mərkəzi Avstraliya Standart Vaxtı", "WARST": "Qərbi Argentina Yay Vaxtı", "HEPMX": "Meksika Sakit Okean Yay Vaxtı", "ADT": "Atlantik Yay Vaxtı", "MYT": "Malayziya Vaxtı", "BOT": "Boliviya Vaxtı", "VET": "Venesuela Vaxtı", "AWDT": "Qərbi Avstraliya Yay Vaxtı", "BT": "Butan Vaxtı", "ARST": "Argentina Yay Vaxtı", "CAT": "Mərkəzi Afrika Vaxtı", "COT": "Kolumbiya Standart Vaxtı", "HNCU": "Kuba Standart Vaxtı", "HNPMX": "Meksika Sakit Okean Standart Vaxtı", "AKST": "Alyaska Standart Vaxtı", "WIB": "Qərbi İndoneziya Vaxtı", "ChST": "Çamorro Vaxtı", "WAST": "Qərbi Afrika Yay Vaxtı", "OEZ": "Şərqi Avropa Standart Vaxtı", "UYST": "Uruqvay Yay Vaxtı", "NZST": "Yeni Zelandiya Standart Vaxtı", "SRT": "Surinam Vaxtı", "HNNOMX": "Şimal-Qərbi Meksika Standart Vaxtı", "SGT": "Sinqapur Vaxtı", "HECU": "Kuba Yay Vaxtı", "EDT": "Şimali Şərqi Amerika Yay Vaxtı", "MST": "MST", "HADT": "Havay-Aleut Yay Vaxtı", "MEZ": "Mərkəzi Avropa Standart Vaxtı", "IST": "Hindistan Vaxtı", "TMT": "Türkmənistan Standart Vaxtı", "OESZ": "Şərqi Avropa Yay Vaxtı", "ACWST": "Mərkəzi Qərbi Avstraliya Standart Vaxtı", "WITA": "Mərkəzi İndoneziya Vaxtı", "HEPM": "San Pier və Mikelon Yay Vaxtı", "∅∅∅": "Amazon Yay Vaxtı", "ART": "Argentina Standart Vaxtı", "LHST": "Lord Hau Standart Vaxtı", "CDT": "Şimali Mərkəzi Amerika Yay Vaxtı", "WESZ": "Qərbi Avropa Yay Vaxtı", "HKT": "Honq Konq Standart Vaxtı", "MESZ": "Mərkəzi Avropa Yay Vaxtı", "CHADT": "Çatham Yay Vaxtı", "AWST": "Qərbi Avstraliya Standart Vaxtı", "WAT": "Qərbi Afrika Standart Vaxtı", "WART": "Qərbi Argentina Standart Vaxtı", "HENOMX": "Şimal-Qərbi Meksika Yay Vaxtı", "AKDT": "Alyaska Yay Vaxtı", "GYT": "Qayana Vaxtı", "PST": "Şimali Amerika Sakit Okean Standart Vaxtı", "JST": "Yaponiya Standart Vaxtı", "HNEG": "Şərqi Qrenlandiya Standart Vaxtı", "TMST": "Türkmənistan Yay Vaxtı", "WEZ": "Qərbi Avropa Standart Vaxtı", "AEDT": "Şərqi Avstraliya Yay Vaxtı", "HEEG": "Şərqi Qrenlandiya Yay Vaxtı", "EAT": "Şərqi Afrika Vaxtı", "HAST": "Havay-Aleut Standart Vaxtı", "PDT": "Şimali Amerika Sakit Okean Yay Vaxtı", "LHDT": "Lord Hau Yay vaxtı", "NZDT": "Yeni Zelandiya Yay Vaxtı", "ACDT": "Mərkəzi Avstraliya Yay Vaxtı", "ECT": "Ekvador Vaxtı", "HAT": "Nyufaundlend Yay Vaxtı", "HNOG": "Qərbi Qrenlandiya Standart Vaxtı", "HKST": "Honq Konq Yay Vaxtı", "HNPM": "San Pier və Mikelon Standart Vaxtı", "GMT": "Qrinviç Orta Vaxtı", "MDT": "MDT", "CST": "Şimali Mərkəzi Amerika Standart Vaxtı"}, } } @@ -112,9 +112,9 @@ func (az *az_Latn_AZ) OrdinalPluralRule(num float64, v uint64) locales.PluralRul n := math.Abs(num) i := int64(n) - iMod100 := i % 100 iMod1000 := i % 1000 iMod10 := i % 10 + iMod100 := i % 100 if (iMod10 == 1 || iMod10 == 2 || iMod10 == 5 || iMod10 == 7 || iMod10 == 8) || (iMod100 == 20 || iMod100 == 50 || iMod100 == 70 || iMod100 == 80) { return locales.PluralRuleOne @@ -458,7 +458,12 @@ func (az *az_Latn_AZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +477,12 @@ func (az *az_Latn_AZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,13 @@ func (az *az_Latn_AZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, az.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, az.daysWide[t.Weekday()]...) diff --git a/bas/bas.go b/bas/bas.go index 39d1dda04..7e9dd5195 100644 --- a/bas/bas.go +++ b/bas/bas.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"b.Y.K", "m.Y.K"}, erasNarrow: []string{"", ""}, erasWide: []string{"bisū bi Yesù Krǐstò", "i mbūs Yesù Krǐstò"}, - timezones: map[string]string{"TMST": "TMST", "ACST": "ACST", "ACDT": "ACDT", "ACWDT": "ACWDT", "EDT": "EDT", "WEZ": "WEZ", "SGT": "SGT", "MEZ": "MEZ", "OEZ": "OEZ", "MDT": "MDT", "GFT": "GFT", "∅∅∅": "∅∅∅", "UYST": "UYST", "ECT": "ECT", "AEDT": "AEDT", "ACWST": "ACWST", "SAST": "SAST", "TMT": "TMT", "MYT": "MYT", "ChST": "ChST", "AWST": "AWST", "AEST": "AEST", "HADT": "HADT", "HNT": "HNT", "SRT": "SRT", "NZST": "NZST", "HKST": "HKST", "CLT": "CLT", "UYT": "UYT", "CHAST": "CHAST", "CHADT": "CHADT", "MESZ": "MESZ", "WART": "WART", "NZDT": "NZDT", "WIT": "WIT", "MST": "MST", "BT": "BT", "EAT": "EAT", "HAT": "HAT", "LHDT": "LHDT", "HKT": "HKT", "HAST": "HAST", "IST": "IST", "PDT": "PDT", "AST": "AST", "ADT": "ADT", "AWDT": "AWDT", "WESZ": "WESZ", "COT": "COT", "EST": "EST", "WITA": "WITA", "OESZ": "OESZ", "WIB": "WIB", "AKST": "AKST", "ARST": "ARST", "CST": "CST", "JDT": "JDT", "GMT": "GMT", "COST": "COST", "WAT": "WAT", "WAST": "WAST", "CDT": "CDT", "LHST": "LHST", "VET": "VET", "WARST": "WARST", "PST": "PST", "GYT": "GYT", "BOT": "BOT", "CLST": "CLST", "CAT": "CAT", "JST": "JST", "ART": "ART", "AKDT": "AKDT"}, + timezones: map[string]string{"MESZ": "MESZ", "SAST": "SAST", "WARST": "WARST", "VET": "VET", "NZDT": "NZDT", "JDT": "JDT", "ACST": "ACST", "WAT": "WAT", "HECU": "HECU", "HNPMX": "HNPMX", "HKST": "HKST", "AST": "AST", "EST": "EST", "MST": "MST", "ART": "ART", "HNT": "HNT", "HKT": "HKT", "CHADT": "CHADT", "COST": "COST", "HENOMX": "HENOMX", "CST": "CST", "MEZ": "MEZ", "JST": "JST", "CLST": "CLST", "GMT": "GMT", "SRT": "SRT", "HNOG": "HNOG", "HAT": "HAT", "AWST": "AWST", "WITA": "WITA", "HEPM": "HEPM", "GYT": "GYT", "HADT": "HADT", "HEOG": "HEOG", "AKST": "AKST", "AEST": "AEST", "CHAST": "CHAST", "CLT": "CLT", "∅∅∅": "∅∅∅", "WAST": "WAST", "UYST": "UYST", "HAST": "HAST", "ACWST": "ACWST", "AEDT": "AEDT", "LHST": "LHST", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "BT": "BT", "ARST": "ARST", "ChST": "ChST", "ECT": "ECT", "WESZ": "WESZ", "AWDT": "AWDT", "BOT": "BOT", "NZST": "NZST", "GFT": "GFT", "OEZ": "OEZ", "MYT": "MYT", "UYT": "UYT", "MDT": "MDT", "WIB": "WIB", "HNPM": "HNPM", "HNEG": "HNEG", "OESZ": "OESZ", "SGT": "SGT", "EDT": "EDT", "WIT": "WIT", "PST": "PST", "IST": "IST", "WART": "WART", "CDT": "CDT", "TMT": "TMT", "HEEG": "HEEG", "EAT": "EAT", "COT": "COT", "PDT": "PDT", "WEZ": "WEZ", "ACWDT": "ACWDT", "LHDT": "LHDT", "TMST": "TMST", "ACDT": "ACDT", "CAT": "CAT", "HNCU": "HNCU", "ADT": "ADT", "AKDT": "AKDT"}, } } @@ -387,7 +387,12 @@ func (bas *bas) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +406,12 @@ func (bas *bas) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +425,12 @@ func (bas *bas) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +446,12 @@ func (bas *bas) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bas_CM/bas_CM.go b/bas_CM/bas_CM.go index 35ca22834..89bed6619 100644 --- a/bas_CM/bas_CM.go +++ b/bas_CM/bas_CM.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"b.Y.K", "m.Y.K"}, erasNarrow: []string{"", ""}, erasWide: []string{"bisū bi Yesù Krǐstò", "i mbūs Yesù Krǐstò"}, - timezones: map[string]string{"ARST": "ARST", "AST": "AST", "CAT": "CAT", "AWST": "AWST", "HAT": "HAT", "CLT": "CLT", "UYT": "UYT", "ACWDT": "ACWDT", "ChST": "ChST", "LHDT": "LHDT", "EAT": "EAT", "TMT": "TMT", "CST": "CST", "ART": "ART", "IST": "IST", "HNT": "HNT", "WIT": "WIT", "HKST": "HKST", "CHADT": "CHADT", "MESZ": "MESZ", "COT": "COT", "AKST": "AKST", "WEZ": "WEZ", "SAST": "SAST", "WAT": "WAT", "CDT": "CDT", "BT": "BT", "OEZ": "OEZ", "TMST": "TMST", "MST": "MST", "WIB": "WIB", "VET": "VET", "HAST": "HAST", "MDT": "MDT", "AWDT": "AWDT", "CHAST": "CHAST", "MEZ": "MEZ", "WART": "WART", "WITA": "WITA", "MYT": "MYT", "UYST": "UYST", "WESZ": "WESZ", "GFT": "GFT", "ACWST": "ACWST", "BOT": "BOT", "GMT": "GMT", "JDT": "JDT", "AKDT": "AKDT", "EST": "EST", "GYT": "GYT", "LHST": "LHST", "JST": "JST", "SRT": "SRT", "ACDT": "ACDT", "CLST": "CLST", "NZDT": "NZDT", "HKT": "HKT", "SGT": "SGT", "WARST": "WARST", "∅∅∅": "∅∅∅", "COST": "COST", "ECT": "ECT", "ACST": "ACST", "AEDT": "AEDT", "PST": "PST", "EDT": "EDT", "NZST": "NZST", "OESZ": "OESZ", "HADT": "HADT", "AEST": "AEST", "PDT": "PDT", "ADT": "ADT", "WAST": "WAST"}, + timezones: map[string]string{"SGT": "SGT", "MST": "MST", "HNT": "HNT", "HKT": "HKT", "WITA": "WITA", "ChST": "ChST", "HEEG": "HEEG", "ECT": "ECT", "CST": "CST", "EST": "EST", "BT": "BT", "HEPM": "HEPM", "NZST": "NZST", "MEZ": "MEZ", "WAST": "WAST", "COST": "COST", "UYST": "UYST", "AKST": "AKST", "ADT": "ADT", "PDT": "PDT", "ACWDT": "ACWDT", "HAT": "HAT", "SAST": "SAST", "TMT": "TMT", "WART": "WART", "HNPMX": "HNPMX", "AWST": "AWST", "AWDT": "AWDT", "HADT": "HADT", "WIT": "WIT", "COT": "COT", "AKDT": "AKDT", "AST": "AST", "HAST": "HAST", "CLST": "CLST", "GYT": "GYT", "VET": "VET", "HNPM": "HNPM", "ACWST": "ACWST", "ARST": "ARST", "MESZ": "MESZ", "CHADT": "CHADT", "CLT": "CLT", "ACDT": "ACDT", "WARST": "WARST", "HECU": "HECU", "ART": "ART", "IST": "IST", "HNNOMX": "HNNOMX", "GMT": "GMT", "WEZ": "WEZ", "HEPMX": "HEPMX", "WIB": "WIB", "PST": "PST", "WESZ": "WESZ", "JST": "JST", "JDT": "JDT", "ACST": "ACST", "HENOMX": "HENOMX", "HEOG": "HEOG", "GFT": "GFT", "TMST": "TMST", "AEST": "AEST", "BOT": "BOT", "WAT": "WAT", "OESZ": "OESZ", "LHDT": "LHDT", "HNOG": "HNOG", "CHAST": "CHAST", "OEZ": "OEZ", "EDT": "EDT", "CDT": "CDT", "SRT": "SRT", "HNEG": "HNEG", "EAT": "EAT", "AEDT": "AEDT", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "CAT": "CAT", "MYT": "MYT", "UYT": "UYT", "HNCU": "HNCU", "MDT": "MDT", "HKST": "HKST", "LHST": "LHST"}, } } @@ -387,7 +387,12 @@ func (bas *bas_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +406,12 @@ func (bas *bas_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +425,12 @@ func (bas *bas_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +446,12 @@ func (bas *bas_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/be/be.go b/be/be.go index dc332aeed..b1bcad1ee 100644 --- a/be/be.go +++ b/be/be.go @@ -23,7 +23,7 @@ type be struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -48,18 +48,18 @@ func New() locales.Translator { locale: "be", pluralsCardinal: []locales.PluralRule{2, 4, 5, 6}, pluralsOrdinal: []locales.PluralRule{4, 6}, - pluralsRange: nil, + pluralsRange: []locales.PluralRule{2, 4, 5, 6}, decimal: ",", group: " ", minus: "-", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "р.", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "Br", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "сту", "лют", "сак", "кра", "мая", "чэр", "ліп", "жні", "вер", "кас", "ліс", "сне"}, monthsNarrow: []string{"", "с", "л", "с", "к", "м", "ч", "л", "ж", "в", "к", "л", "с"}, monthsWide: []string{"", "студзеня", "лютага", "сакавіка", "красавіка", "мая", "чэрвеня", "ліпеня", "жніўня", "верасня", "кастрычніка", "лістапада", "снежня"}, @@ -67,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"н", "п", "а", "с", "ч", "п", "с"}, daysShort: []string{"нд", "пн", "аў", "ср", "чц", "пт", "сб"}, daysWide: []string{"нядзеля", "панядзелак", "аўторак", "серада", "чацвер", "пятніца", "субота"}, - periodsAbbreviated: []string{"раніцы", "вечара"}, - periodsNarrow: []string{"ран.", "веч."}, - periodsWide: []string{"да паўдня", "пасля паўдня"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"am", "pm"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"да н.э.", "н.э."}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"GFT": "Час Французскай Гвіяны", "OEZ": "Усходнееўрапейскі стандартны час", "ART": "Аргенцінскі стандартны час", "ARST": "Аргенцінскі летні час", "CST": "Паўночнаамерыканскі цэнтральны стандартны час", "MDT": "Паўночнаамерыканскі горны летні час", "GMT": "Час па Грынвічы", "SAST": "Паўднёваафрыканскі час", "AKST": "Стандартны час Аляскі", "UYST": "Уругвайскі летні час", "SGT": "Сінгапурскі час", "EDT": "Паўночнаамерыканскі ўсходні летні час", "LHDT": "Летні час Лорд-Хау", "CHAST": "Стандартны час Чатэма", "COT": "Калумбійскі стандартны час", "AKDT": "Летні час Аляскі", "∅∅∅": "Перуанскі летні час", "MYT": "Час Малайзіі", "CLT": "Чылійскі стандартны час", "UYT": "Уругвайскі стандартны час", "SRT": "Час Сурынама", "HKT": "Стандартны час Ганконга", "WART": "Стандартны час Заходняй Аргенціны", "WAST": "Заходнеафрыканскі летні час", "CDT": "Паўночнаамерыканскі цэнтральны летні час", "NZST": "Стандартны час Новай Зеландыі", "WIT": "Усходнеінданезійскі час", "HAST": "Гавайска-Алеуцкі стандартны час", "MST": "Паўночнаамерыканскі горны стандартны час", "BOT": "Балівійскі час", "AST": "Атлантычны стандартны час", "BT": "Час Бутана", "LHST": "Стандартны час Лорд-Хау", "VET": "Венесуэльскі час", "HADT": "Гавайска-Алеуцкі летні час", "TMST": "Летні час Туркменістана", "JST": "Стандартны час Японіі", "JDT": "Летні час Японіі", "HKST": "Летні час Ганконга", "WITA": "Цэнтральнаінданезійскі час", "GYT": "Час Гаяны", "ChST": "Час Чамора", "AWDT": "Летні час заходняй Аўстраліі", "WESZ": "Заходнееўрапейскі летні час", "COST": "Калумбійскі летні час", "WARST": "Летні час Заходняй Аргенціны", "EST": "Паўночнаамерыканскі ўсходні стандартны час", "WAT": "Заходнеафрыканскі стандартны час", "CAT": "Цэнтральнаафрыканскі час", "WEZ": "Заходнееўрапейскі стандартны час", "ADT": "Атлантычны летні час", "EAT": "Усходнеафрыканскі час", "IST": "Час Індыі", "HAT": "Ньюфаўндлендскі летні час", "CLST": "Чылійскі летні час", "ACWST": "Заходні стандартны час Цэнтральнай Аўстраліі", "NZDT": "Летні час Новай Зеландыі", "OESZ": "Усходнееўрапейскі летні час", "ACWDT": "Заходні летні час Цэнтральнай Аўстраліі", "AWST": "Стандартны час заходняй Аўстраліі", "HNT": "Ньюфаўндлендскі стандартны час", "CHADT": "Летні час Чатэма", "WIB": "Заходнеінданезійскі час", "ECT": "Эквадорскі час", "PST": "Ціхаакіянскі стандартны час", "MEZ": "Цэнтральнаеўрапейскі стандартны час", "MESZ": "Цэнтральнаеўрапейскі летні час", "ACDT": "Летні час цэнтральнай Аўстраліі", "AEST": "Стандартны час усходняй Аўстраліі", "ACST": "Стандартны час цэнтральнай Аўстраліі", "AEDT": "Летні час усходняй Аўстраліі", "PDT": "Ціхаакіянскі летні час", "TMT": "Стандартны час Туркменістана"}, + erasWide: []string{"да нараджэння Хрыстова", "ад нараджэння Хрыстова"}, + timezones: map[string]string{"MST": "MST", "UYST": "Уругвайскі летні час", "CHAST": "Стандартны час Чатэма", "CLST": "Чылійскі летні час", "ChST": "Час Чамора", "HEOG": "Летні час Заходняй Грэнландыі", "GMT": "Час па Грынвічы", "UYT": "Уругвайскі стандартны час", "HNT": "Ньюфаўндлендскі стандартны час", "HKT": "Стандартны час Ганконга", "LHDT": "Летні час Лорд-Хау", "TMT": "Стандартны час Туркменістана", "TMST": "Летні час Туркменістана", "WART": "Стандартны час Заходняй Аргенціны", "CDT": "Паўночнаамерыканскі цэнтральны летні час", "IST": "Час Індыі", "OEZ": "Усходнееўрапейскі стандартны час", "GYT": "Час Гаяны", "ADT": "Атлантычны летні час", "WEZ": "Заходнееўрапейскі стандартны час", "AWST": "Стандартны час заходняй Аўстраліі", "ACDT": "Летні час цэнтральнай Аўстраліі", "HENOMX": "Паўночна-заходні мексіканскі летні час", "HNPMX": "Мексіканскі ціхаакіянскі стандатны час", "ACWDT": "Заходні летні час Цэнтральнай Аўстраліі", "CLT": "Чылійскі стандартны час", "OESZ": "Усходнееўрапейскі летні час", "BT": "Час Бутана", "SRT": "Час Сурынама", "AEST": "Стандартны час усходняй Аўстраліі", "HKST": "Летні час Ганконга", "∅∅∅": "Амазонскі летні час", "ECT": "Эквадорскі час", "EDT": "Паўночнаамерыканскі ўсходні летні час", "ARST": "Аргенцінскі летні час", "MESZ": "Цэнтральнаеўрапейскі летні час", "HEEG": "Летні час Усходняй Грэнландыі", "SGT": "Сінгапурскі час", "ART": "Аргенцінскі стандартны час", "AKST": "Стандартны час Аляскі", "NZST": "Стандартны час Новай Зеландыі", "CHADT": "Летні час Чатэма", "GFT": "Час Французскай Гвіяны", "HEPMX": "Мексіканскі ціхаакіянскі летні час", "CAT": "Цэнтральнаафрыканскі час", "EAT": "Усходнеафрыканскі час", "AKDT": "Летні час Аляскі", "AST": "Атлантычны стандартны час", "WIT": "Усходнеінданезійскі час", "HNOG": "Стандартны час Заходняй Грэнландыі", "JDT": "Летні час Японіі", "BOT": "Балівійскі час", "PST": "Ціхаакіянскі стандартны час", "WESZ": "Заходнееўрапейскі летні час", "MYT": "Час Малайзіі", "ACWST": "Заходні стандартны час Цэнтральнай Аўстраліі", "COT": "Калумбійскі стандартны час", "EST": "Паўночнаамерыканскі ўсходні стандартны час", "HECU": "Летні час Кубы", "CST": "Паўночнаамерыканскі цэнтральны стандартны час", "AEDT": "Летні час усходняй Аўстраліі", "HNPM": "Стандартны час Сен-П’ер і Мікелон", "SAST": "Паўднёваафрыканскі час", "WAST": "Заходнеафрыканскі летні час", "HAST": "Гавайска-Алеуцкі стандартны час", "HADT": "Гавайска-Алеуцкі летні час", "AWDT": "Летні час заходняй Аўстраліі", "HEPM": "Стандартны летні час Сен-П’ер і Мікелон", "JST": "Стандартны час Японіі", "ACST": "Стандартны час цэнтральнай Аўстраліі", "WARST": "Летні час Заходняй Аргенціны", "COST": "Калумбійскі летні час", "HNCU": "Стандартны час Кубы", "HAT": "Ньюфаўндлендскі летні час", "WITA": "Цэнтральнаінданезійскі час", "MEZ": "Цэнтральнаеўрапейскі стандартны час", "HNEG": "Стандартны час Усходняй Грэнландыі", "WAT": "Заходнеафрыканскі стандартны час", "WIB": "Заходнеінданезійскі час", "VET": "Венесуэльскі час", "PDT": "Ціхаакіянскі летні час", "LHST": "Стандартны час Лорд-Хау", "NZDT": "Летні час Новай Зеландыі", "HNNOMX": "Паўночна-заходні мексіканскі стандартны час", "MDT": "MDT"}, } } @@ -131,7 +131,44 @@ func (be *be) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'be' func (be *be) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + + start := be.CardinalPluralRule(num1, v1) + end := be.CardinalPluralRule(num2, v2) + + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOne && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleFew && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleFew && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleMany && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleMany && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOther && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOther && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } + + return locales.PluralRuleOther + } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -285,7 +322,7 @@ func (be *be) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := be.currencies[currency] - l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -312,10 +349,6 @@ func (be *be) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - if num < 0 { b = append(b, be.minus[0]) } @@ -336,6 +369,10 @@ func (be *be) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, be.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -374,17 +411,7 @@ func (be *be) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - b = append(b, be.currencyNegativePrefix[0]) - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + b = append(b, be.minus[0]) } @@ -406,6 +433,11 @@ func (be *be) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { b = append(b, be.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, be.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -418,7 +450,13 @@ func (be *be) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -437,9 +475,20 @@ func (be *be) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +502,15 @@ func (be *be) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, be.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd0, 0xb3}...) + b = append(b, []byte{0x2e}...) return string(b) } @@ -469,7 +526,15 @@ func (be *be) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, be.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd0, 0xb3}...) + b = append(b, []byte{0x2e}...) return string(b) } @@ -484,7 +549,7 @@ func (be *be) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -505,14 +570,14 @@ func (be *be) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -533,14 +598,14 @@ func (be *be) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -565,21 +630,21 @@ func (be *be) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) tz, _ := t.Zone() diff --git a/be_BY/be_BY.go b/be_BY/be_BY.go index 1b1bda8d8..9405a4c2e 100644 --- a/be_BY/be_BY.go +++ b/be_BY/be_BY.go @@ -23,7 +23,7 @@ type be_BY struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -48,18 +48,18 @@ func New() locales.Translator { locale: "be_BY", pluralsCardinal: []locales.PluralRule{2, 4, 5, 6}, pluralsOrdinal: []locales.PluralRule{4, 6}, - pluralsRange: nil, + pluralsRange: []locales.PluralRule{2, 4, 5, 6}, decimal: ",", group: " ", minus: "-", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "сту", "лют", "сак", "кра", "мая", "чэр", "ліп", "жні", "вер", "кас", "ліс", "сне"}, monthsNarrow: []string{"", "с", "л", "с", "к", "м", "ч", "л", "ж", "в", "к", "л", "с"}, monthsWide: []string{"", "студзеня", "лютага", "сакавіка", "красавіка", "мая", "чэрвеня", "ліпеня", "жніўня", "верасня", "кастрычніка", "лістапада", "снежня"}, @@ -67,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"н", "п", "а", "с", "ч", "п", "с"}, daysShort: []string{"нд", "пн", "аў", "ср", "чц", "пт", "сб"}, daysWide: []string{"нядзеля", "панядзелак", "аўторак", "серада", "чацвер", "пятніца", "субота"}, - periodsAbbreviated: []string{"раніцы", "вечара"}, - periodsNarrow: []string{"ран.", "веч."}, - periodsWide: []string{"да паўдня", "пасля паўдня"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"am", "pm"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"да н.э.", "н.э."}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"EST": "Паўночнаамерыканскі ўсходні стандартны час", "EDT": "Паўночнаамерыканскі ўсходні летні час", "MDT": "Паўночнаамерыканскі горны летні час", "HADT": "Гавайска-Алеуцкі летні час", "IST": "Час Індыі", "AWDT": "Летні час заходняй Аўстраліі", "JDT": "Летні час Японіі", "UYT": "Уругвайскі стандартны час", "CHAST": "Стандартны час Чатэма", "OESZ": "Усходнееўрапейскі летні час", "BOT": "Балівійскі час", "WIT": "Усходнеінданезійскі час", "BT": "Час Бутана", "WAT": "Заходнеафрыканскі стандартны час", "TMT": "Стандартны час Туркменістана", "HKST": "Летні час Ганконга", "AEST": "Стандартны час усходняй Аўстраліі", "∅∅∅": "Летні час Азорскіх астравоў", "JST": "Стандартны час Японіі", "WEZ": "Заходнееўрапейскі стандартны час", "COT": "Калумбійскі стандартны час", "AKST": "Стандартны час Аляскі", "EAT": "Усходнеафрыканскі час", "CLST": "Чылійскі летні час", "GMT": "Час па Грынвічы", "WESZ": "Заходнееўрапейскі летні час", "WART": "Стандартны час Заходняй Аргенціны", "WARST": "Летні час Заходняй Аргенціны", "SAST": "Паўднёваафрыканскі час", "NZST": "Стандартны час Новай Зеландыі", "MEZ": "Цэнтральнаеўрапейскі стандартны час", "ART": "Аргенцінскі стандартны час", "AKDT": "Летні час Аляскі", "WITA": "Цэнтральнаінданезійскі час", "AWST": "Стандартны час заходняй Аўстраліі", "UYST": "Уругвайскі летні час", "CHADT": "Летні час Чатэма", "PST": "Ціхаакіянскі стандартны час", "GYT": "Час Гаяны", "ACDT": "Летні час цэнтральнай Аўстраліі", "ARST": "Аргенцінскі летні час", "WIB": "Заходнеінданезійскі час", "WAST": "Заходнеафрыканскі летні час", "CLT": "Чылійскі стандартны час", "OEZ": "Усходнееўрапейскі стандартны час", "HKT": "Стандартны час Ганконга", "LHDT": "Летні час Лорд-Хау", "VET": "Венесуэльскі час", "TMST": "Летні час Туркменістана", "CDT": "Паўночнаамерыканскі цэнтральны летні час", "NZDT": "Летні час Новай Зеландыі", "LHST": "Стандартны час Лорд-Хау", "ADT": "Атлантычны летні час", "MESZ": "Цэнтральнаеўрапейскі летні час", "ACST": "Стандартны час цэнтральнай Аўстраліі", "ACWDT": "Заходні летні час Цэнтральнай Аўстраліі", "SRT": "Час Сурынама", "AEDT": "Летні час усходняй Аўстраліі", "MYT": "Час Малайзіі", "ChST": "Час Чамора", "CAT": "Цэнтральнаафрыканскі час", "CST": "Паўночнаамерыканскі цэнтральны стандартны час", "SGT": "Сінгапурскі час", "HAST": "Гавайска-Алеуцкі стандартны час", "PDT": "Ціхаакіянскі летні час", "MST": "Паўночнаамерыканскі горны стандартны час", "HNT": "Ньюфаўндлендскі стандартны час", "HAT": "Ньюфаўндлендскі летні час", "ACWST": "Заходні стандартны час Цэнтральнай Аўстраліі", "AST": "Атлантычны стандартны час", "GFT": "Час Французскай Гвіяны", "COST": "Калумбійскі летні час", "ECT": "Эквадорскі час"}, + erasWide: []string{"да нараджэння Хрыстова", "ад нараджэння Хрыстова"}, + timezones: map[string]string{"COST": "Калумбійскі летні час", "AKDT": "Летні час Аляскі", "ARST": "Аргенцінскі летні час", "ACST": "Стандартны час цэнтральнай Аўстраліі", "SAST": "Паўднёваафрыканскі час", "EAT": "Усходнеафрыканскі час", "HNPMX": "Мексіканскі ціхаакіянскі стандатны час", "ART": "Аргенцінскі стандартны час", "AWST": "Стандартны час заходняй Аўстраліі", "LHST": "Стандартны час Лорд-Хау", "MEZ": "Цэнтральнаеўрапейскі стандартны час", "JDT": "Летні час Японіі", "HNEG": "Стандартны час Усходняй Грэнландыі", "HENOMX": "Паўночна-заходні мексіканскі летні час", "SGT": "Сінгапурскі час", "ACWST": "Заходні стандартны час Цэнтральнай Аўстраліі", "LHDT": "Летні час Лорд-Хау", "NZDT": "Летні час Новай Зеландыі", "HAT": "Ньюфаўндлендскі летні час", "AWDT": "Летні час заходняй Аўстраліі", "HEPM": "Стандартны летні час Сен-П’ер і Мікелон", "BOT": "Балівійскі час", "HEEG": "Летні час Усходняй Грэнландыі", "CDT": "Паўночнаамерыканскі цэнтральны летні час", "HAST": "Гавайска-Алеуцкі стандартны час", "BT": "Час Бутана", "CAT": "Цэнтральнаафрыканскі час", "WARST": "Летні час Заходняй Аргенціны", "EST": "Паўночнаамерыканскі ўсходні стандартны час", "OESZ": "Усходнееўрапейскі летні час", "GMT": "Час па Грынвічы", "UYST": "Уругвайскі летні час", "PDT": "Ціхаакіянскі летні час", "IST": "Час Індыі", "CHADT": "Летні час Чатэма", "OEZ": "Усходнееўрапейскі стандартны час", "ECT": "Эквадорскі час", "CST": "Паўночнаамерыканскі цэнтральны стандартны час", "WESZ": "Заходнееўрапейскі летні час", "AEDT": "Летні час усходняй Аўстраліі", "WEZ": "Заходнееўрапейскі стандартны час", "HECU": "Летні час Кубы", "HEPMX": "Мексіканскі ціхаакіянскі летні час", "JST": "Стандартны час Японіі", "GFT": "Час Французскай Гвіяны", "ACWDT": "Заходні летні час Цэнтральнай Аўстраліі", "HNT": "Ньюфаўндлендскі стандартны час", "NZST": "Стандартны час Новай Зеландыі", "TMST": "Летні час Туркменістана", "ACDT": "Летні час цэнтральнай Аўстраліі", "HNCU": "Стандартны час Кубы", "MST": "Паўночнаамерыканскі горны стандартны час", "HADT": "Гавайска-Алеуцкі летні час", "∅∅∅": "Амазонскі летні час", "MYT": "Час Малайзіі", "MDT": "Паўночнаамерыканскі горны летні час", "MESZ": "Цэнтральнаеўрапейскі летні час", "TMT": "Стандартны час Туркменістана", "WAT": "Заходнеафрыканскі стандартны час", "UYT": "Уругвайскі стандартны час", "VET": "Венесуэльскі час", "HKST": "Летні час Ганконга", "CHAST": "Стандартны час Чатэма", "WAST": "Заходнеафрыканскі летні час", "PST": "Ціхаакіянскі стандартны час", "WITA": "Цэнтральнаінданезійскі час", "HNPM": "Стандартны час Сен-П’ер і Мікелон", "AEST": "Стандартны час усходняй Аўстраліі", "CLST": "Чылійскі летні час", "ChST": "Час Чамора", "WART": "Стандартны час Заходняй Аргенціны", "GYT": "Час Гаяны", "HEOG": "Летні час Заходняй Грэнландыі", "HKT": "Стандартны час Ганконга", "ADT": "Атлантычны летні час", "HNNOMX": "Паўночна-заходні мексіканскі стандартны час", "EDT": "Паўночнаамерыканскі ўсходні летні час", "HNOG": "Стандартны час Заходняй Грэнландыі", "CLT": "Чылійскі стандартны час", "COT": "Калумбійскі стандартны час", "AKST": "Стандартны час Аляскі", "AST": "Атлантычны стандартны час", "WIT": "Усходнеінданезійскі час", "WIB": "Заходнеінданезійскі час", "SRT": "Час Сурынама"}, } } @@ -131,7 +131,44 @@ func (be *be_BY) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'be_BY' func (be *be_BY) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + + start := be.CardinalPluralRule(num1, v1) + end := be.CardinalPluralRule(num2, v2) + + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOne && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleFew && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleFew && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleMany && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleMany && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOther && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOther && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } + + return locales.PluralRuleOther + } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -285,7 +322,7 @@ func (be *be_BY) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := be.currencies[currency] - l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -312,10 +349,6 @@ func (be *be_BY) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - if num < 0 { b = append(b, be.minus[0]) } @@ -336,6 +369,10 @@ func (be *be_BY) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, be.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -374,17 +411,7 @@ func (be *be_BY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - b = append(b, be.currencyNegativePrefix[0]) - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + b = append(b, be.minus[0]) } @@ -406,6 +433,11 @@ func (be *be_BY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, be.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, be.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -418,7 +450,13 @@ func (be *be_BY) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -437,9 +475,20 @@ func (be *be_BY) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +502,15 @@ func (be *be_BY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, be.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd0, 0xb3}...) + b = append(b, []byte{0x2e}...) return string(b) } @@ -469,7 +526,15 @@ func (be *be_BY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, be.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd0, 0xb3}...) + b = append(b, []byte{0x2e}...) return string(b) } @@ -484,7 +549,7 @@ func (be *be_BY) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -505,14 +570,14 @@ func (be *be_BY) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -533,14 +598,14 @@ func (be *be_BY) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -565,21 +630,21 @@ func (be *be_BY) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, be.timeSeparator...) if t.Second() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) tz, _ := t.Zone() diff --git a/bem/bem.go b/bem/bem.go index 9ed7e3b5f..4cadeaadb 100644 --- a/bem/bem.go +++ b/bem/bem.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "K", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "K", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Epr", "Mei", "Jun", "Jul", "Oga", "Sep", "Okt", "Nov", "Dis"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Before Yesu", "After Yesu"}, - timezones: map[string]string{"COT": "COT", "CDT": "CDT", "GMT": "GMT", "GFT": "GFT", "MEZ": "MEZ", "CHAST": "CHAST", "ACDT": "ACDT", "ART": "ART", "AKDT": "AKDT", "TMT": "TMT", "ChST": "ChST", "BOT": "BOT", "WEZ": "WEZ", "PDT": "PDT", "BT": "BT", "UYT": "UYT", "HKST": "HKST", "AEST": "AEST", "WART": "WART", "EST": "EST", "ADT": "ADT", "GYT": "GYT", "HKT": "HKT", "COST": "COST", "HAST": "HAST", "LHDT": "LHDT", "WAST": "WAST", "AKST": "AKST", "WIT": "WIT", "HAT": "HAT", "EDT": "EDT", "WESZ": "WESZ", "ECT": "ECT", "WITA": "WITA", "TMST": "TMST", "NZST": "NZST", "CLST": "CLST", "∅∅∅": "∅∅∅", "CLT": "CLT", "OESZ": "OESZ", "VET": "VET", "ACST": "ACST", "SGT": "SGT", "MST": "MST", "AWST": "AWST", "JDT": "JDT", "MESZ": "MESZ", "ARST": "ARST", "WARST": "WARST", "PST": "PST", "SAST": "SAST", "MDT": "MDT", "JST": "JST", "CHADT": "CHADT", "AEDT": "AEDT", "UYST": "UYST", "HADT": "HADT", "ACWDT": "ACWDT", "MYT": "MYT", "CAT": "CAT", "HNT": "HNT", "LHST": "LHST", "OEZ": "OEZ", "CST": "CST", "NZDT": "NZDT", "ACWST": "ACWST", "WAT": "WAT", "AST": "AST", "EAT": "EAT", "IST": "IST", "AWDT": "AWDT", "SRT": "SRT", "WIB": "WIB"}, + timezones: map[string]string{"MEZ": "MEZ", "CLT": "CLT", "CLST": "CLST", "HNNOMX": "HNNOMX", "SGT": "SGT", "WIB": "WIB", "∅∅∅": "∅∅∅", "BOT": "BOT", "HNEG": "HNEG", "GFT": "GFT", "HNCU": "HNCU", "AST": "AST", "AKST": "AKST", "HAST": "HAST", "AEST": "AEST", "LHST": "LHST", "OEZ": "OEZ", "COT": "COT", "GMT": "GMT", "UYST": "UYST", "ART": "ART", "CHAST": "CHAST", "CHADT": "CHADT", "JDT": "JDT", "HNOG": "HNOG", "ChST": "ChST", "WART": "WART", "COST": "COST", "HECU": "HECU", "ADT": "ADT", "HADT": "HADT", "WIT": "WIT", "AWST": "AWST", "HEEG": "HEEG", "MDT": "MDT", "HEPMX": "HEPMX", "GYT": "GYT", "BT": "BT", "PDT": "PDT", "HAT": "HAT", "ACDT": "ACDT", "EST": "EST", "EDT": "EDT", "CDT": "CDT", "PST": "PST", "HEOG": "HEOG", "WAST": "WAST", "MST": "MST", "ECT": "ECT", "ACWST": "ACWST", "ACWDT": "ACWDT", "HNT": "HNT", "HNPM": "HNPM", "NZDT": "NZDT", "JST": "JST", "ACST": "ACST", "WESZ": "WESZ", "HKT": "HKT", "TMST": "TMST", "CAT": "CAT", "WARST": "WARST", "UYT": "UYT", "AEDT": "AEDT", "SAST": "SAST", "AKDT": "AKDT", "CST": "CST", "MYT": "MYT", "ARST": "ARST", "MESZ": "MESZ", "EAT": "EAT", "HKST": "HKST", "WITA": "WITA", "NZST": "NZST", "WAT": "WAT", "HNPMX": "HNPMX", "SRT": "SRT", "AWDT": "AWDT", "LHDT": "LHDT", "HENOMX": "HENOMX", "VET": "VET", "TMT": "TMT", "WEZ": "WEZ", "HEPM": "HEPM", "IST": "IST", "OESZ": "OESZ"}, } } @@ -335,7 +335,12 @@ func (bem *bem) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +354,12 @@ func (bem *bem) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -363,7 +373,12 @@ func (bem *bem) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -379,7 +394,12 @@ func (bem *bem) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bem_ZM/bem_ZM.go b/bem_ZM/bem_ZM.go index fe58f5c91..212cd072b 100644 --- a/bem_ZM/bem_ZM.go +++ b/bem_ZM/bem_ZM.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Epr", "Mei", "Jun", "Jul", "Oga", "Sep", "Okt", "Nov", "Dis"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Before Yesu", "After Yesu"}, - timezones: map[string]string{"HAST": "HAST", "ADT": "ADT", "TMT": "TMT", "MDT": "MDT", "OEZ": "OEZ", "SGT": "SGT", "COT": "COT", "VET": "VET", "ARST": "ARST", "AWST": "AWST", "JDT": "JDT", "AWDT": "AWDT", "LHST": "LHST", "HKST": "HKST", "COST": "COST", "EAT": "EAT", "GYT": "GYT", "MST": "MST", "ChST": "ChST", "JST": "JST", "AEST": "AEST", "IST": "IST", "AKDT": "AKDT", "EST": "EST", "WEZ": "WEZ", "HKT": "HKT", "ECT": "ECT", "AEDT": "AEDT", "WARST": "WARST", "EDT": "EDT", "PST": "PST", "MYT": "MYT", "ACWDT": "ACWDT", "WAT": "WAT", "WESZ": "WESZ", "AKST": "AKST", "NZST": "NZST", "BT": "BT", "GMT": "GMT", "CHADT": "CHADT", "GFT": "GFT", "WAST": "WAST", "HNT": "HNT", "CLST": "CLST", "PDT": "PDT", "CST": "CST", "∅∅∅": "∅∅∅", "NZDT": "NZDT", "MESZ": "MESZ", "ACDT": "ACDT", "WART": "WART", "CAT": "CAT", "SRT": "SRT", "UYT": "UYT", "ACWST": "ACWST", "HAT": "HAT", "CHAST": "CHAST", "MEZ": "MEZ", "ACST": "ACST", "WITA": "WITA", "TMST": "TMST", "ART": "ART", "CDT": "CDT", "BOT": "BOT", "CLT": "CLT", "WIT": "WIT", "LHDT": "LHDT", "OESZ": "OESZ", "WIB": "WIB", "HADT": "HADT", "SAST": "SAST", "AST": "AST", "UYST": "UYST"}, + timezones: map[string]string{"NZST": "NZST", "GYT": "GYT", "UYST": "UYST", "WIB": "WIB", "AEDT": "AEDT", "WAST": "WAST", "HNOG": "HNOG", "PST": "PST", "ACWDT": "ACWDT", "VET": "VET", "HEOG": "HEOG", "AEST": "AEST", "AWST": "AWST", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "AST": "AST", "PDT": "PDT", "HECU": "HECU", "HAST": "HAST", "HNPM": "HNPM", "MESZ": "MESZ", "LHDT": "LHDT", "HNEG": "HNEG", "ACDT": "ACDT", "OESZ": "OESZ", "TMT": "TMT", "AWDT": "AWDT", "EST": "EST", "MYT": "MYT", "ART": "ART", "CHADT": "CHADT", "CLT": "CLT", "ChST": "ChST", "MEZ": "MEZ", "JDT": "JDT", "GMT": "GMT", "HEPMX": "HEPMX", "WESZ": "WESZ", "HKT": "HKT", "IST": "IST", "TMST": "TMST", "ARST": "ARST", "HEPM": "HEPM", "HNPMX": "HNPMX", "UYT": "UYT", "AKDT": "AKDT", "BT": "BT", "HNT": "HNT", "CAT": "CAT", "EAT": "EAT", "MST": "MST", "CST": "CST", "AKST": "AKST", "WIT": "WIT", "ECT": "ECT", "MDT": "MDT", "LHST": "LHST", "NZDT": "NZDT", "JST": "JST", "CLST": "CLST", "BOT": "BOT", "ACST": "ACST", "ADT": "ADT", "HADT": "HADT", "CDT": "CDT", "WEZ": "WEZ", "ACWST": "ACWST", "CHAST": "CHAST", "WAT": "WAT", "SRT": "SRT", "HAT": "HAT", "COST": "COST", "HENOMX": "HENOMX", "WITA": "WITA", "HKST": "HKST", "GFT": "GFT", "OEZ": "OEZ", "WARST": "WARST", "COT": "COT", "EDT": "EDT", "SAST": "SAST", "WART": "WART", "SGT": "SGT", "HNCU": "HNCU"}, } } @@ -335,7 +335,12 @@ func (bem *bem_ZM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +354,12 @@ func (bem *bem_ZM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -363,7 +373,12 @@ func (bem *bem_ZM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -379,7 +394,12 @@ func (bem *bem_ZM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bem.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bez/bez.go b/bez/bez.go index 236ed7cdd..7cceeea81 100644 --- a/bez/bez.go +++ b/bez/bez.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Hut", "Vil", "Dat", "Tai", "Han", "Sit", "Sab", "Nan", "Tis", "Kum", "Kmj", "Kmb"}, monthsNarrow: []string{"", "H", "V", "D", "T", "H", "S", "S", "N", "T", "K", "K", "K"}, monthsWide: []string{"", "pa mwedzi gwa hutala", "pa mwedzi gwa wuvili", "pa mwedzi gwa wudatu", "pa mwedzi gwa wutai", "pa mwedzi gwa wuhanu", "pa mwedzi gwa sita", "pa mwedzi gwa saba", "pa mwedzi gwa nane", "pa mwedzi gwa tisa", "pa mwedzi gwa kumi", "pa mwedzi gwa kumi na moja", "pa mwedzi gwa kumi na mbili"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Mtwaa", "Baada ya Mtwaa"}, - timezones: map[string]string{"EDT": "EDT", "AWST": "AWST", "JST": "JST", "CHAST": "CHAST", "GFT": "GFT", "ACWDT": "ACWDT", "CDT": "CDT", "BT": "BT", "WARST": "WARST", "MST": "MST", "∅∅∅": "∅∅∅", "CHADT": "CHADT", "SRT": "SRT", "TMST": "TMST", "GYT": "GYT", "HNT": "HNT", "HAST": "HAST", "AEDT": "AEDT", "ARST": "ARST", "WART": "WART", "PDT": "PDT", "NZDT": "NZDT", "CAT": "CAT", "HAT": "HAT", "LHST": "LHST", "HKST": "HKST", "AKST": "AKST", "BOT": "BOT", "AEST": "AEST", "WAT": "WAT", "WIT": "WIT", "WIB": "WIB", "AST": "AST", "WAST": "WAST", "OEZ": "OEZ", "COT": "COT", "ART": "ART", "ADT": "ADT", "EAT": "EAT", "EST": "EST", "PST": "PST", "UYST": "UYST", "VET": "VET", "IST": "IST", "GMT": "GMT", "WEZ": "WEZ", "WESZ": "WESZ", "ACST": "ACST", "ECT": "ECT", "TMT": "TMT", "MDT": "MDT", "ACWST": "ACWST", "ChST": "ChST", "CLT": "CLT", "HADT": "HADT", "AKDT": "AKDT", "AWDT": "AWDT", "CLST": "CLST", "ACDT": "ACDT", "SGT": "SGT", "CST": "CST", "JDT": "JDT", "OESZ": "OESZ", "MEZ": "MEZ", "WITA": "WITA", "MYT": "MYT", "UYT": "UYT", "MESZ": "MESZ", "COST": "COST", "SAST": "SAST", "NZST": "NZST", "LHDT": "LHDT", "HKT": "HKT"}, + timezones: map[string]string{"MESZ": "MESZ", "JST": "JST", "SGT": "SGT", "SRT": "SRT", "WEZ": "WEZ", "ACWST": "ACWST", "AWDT": "AWDT", "LHDT": "LHDT", "BOT": "BOT", "ACST": "ACST", "WIB": "WIB", "AEST": "AEST", "WITA": "WITA", "COST": "COST", "HEPMX": "HEPMX", "CDT": "CDT", "PST": "PST", "HNOG": "HNOG", "ACDT": "ACDT", "OESZ": "OESZ", "GMT": "GMT", "LHST": "LHST", "∅∅∅": "∅∅∅", "HENOMX": "HENOMX", "AKST": "AKST", "CST": "CST", "VET": "VET", "HEOG": "HEOG", "GFT": "GFT", "GYT": "GYT", "ACWDT": "ACWDT", "CLT": "CLT", "ECT": "ECT", "HADT": "HADT", "WIT": "WIT", "HKST": "HKST", "TMT": "TMT", "WAST": "WAST", "OEZ": "OEZ", "UYST": "UYST", "IST": "IST", "HNEG": "HNEG", "CAT": "CAT", "HNCU": "HNCU", "HECU": "HECU", "EST": "EST", "MST": "MST", "HEEG": "HEEG", "WARST": "WARST", "HEPM": "HEPM", "TMST": "TMST", "AST": "AST", "UYT": "UYT", "ART": "ART", "AEDT": "AEDT", "CHAST": "CHAST", "WAT": "WAT", "WART": "WART", "MYT": "MYT", "HNPM": "HNPM", "NZST": "NZST", "NZDT": "NZDT", "HNNOMX": "HNNOMX", "MDT": "MDT", "HNPMX": "HNPMX", "HAT": "HAT", "HKT": "HKT", "CLST": "CLST", "ChST": "ChST", "EAT": "EAT", "BT": "BT", "ARST": "ARST", "COT": "COT", "EDT": "EDT", "AKDT": "AKDT", "WESZ": "WESZ", "HNT": "HNT", "MEZ": "MEZ", "CHADT": "CHADT", "SAST": "SAST", "JDT": "JDT", "ADT": "ADT", "HAST": "HAST", "PDT": "PDT", "AWST": "AWST"}, } } @@ -324,7 +324,12 @@ func (bez *bez) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (bez *bez) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (bez *bez) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (bez *bez) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bez_TZ/bez_TZ.go b/bez_TZ/bez_TZ.go index c9daabe06..a09b11905 100644 --- a/bez_TZ/bez_TZ.go +++ b/bez_TZ/bez_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Hut", "Vil", "Dat", "Tai", "Han", "Sit", "Sab", "Nan", "Tis", "Kum", "Kmj", "Kmb"}, monthsNarrow: []string{"", "H", "V", "D", "T", "H", "S", "S", "N", "T", "K", "K", "K"}, monthsWide: []string{"", "pa mwedzi gwa hutala", "pa mwedzi gwa wuvili", "pa mwedzi gwa wudatu", "pa mwedzi gwa wutai", "pa mwedzi gwa wuhanu", "pa mwedzi gwa sita", "pa mwedzi gwa saba", "pa mwedzi gwa nane", "pa mwedzi gwa tisa", "pa mwedzi gwa kumi", "pa mwedzi gwa kumi na moja", "pa mwedzi gwa kumi na mbili"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Mtwaa", "Baada ya Mtwaa"}, - timezones: map[string]string{"COT": "COT", "MEZ": "MEZ", "CST": "CST", "AWST": "AWST", "JDT": "JDT", "HKST": "HKST", "CHADT": "CHADT", "OEZ": "OEZ", "WESZ": "WESZ", "MYT": "MYT", "CLT": "CLT", "ChST": "ChST", "ACWST": "ACWST", "ACWDT": "ACWDT", "EST": "EST", "CLST": "CLST", "ACST": "ACST", "WAT": "WAT", "AKST": "AKST", "AKDT": "AKDT", "HNT": "HNT", "UYT": "UYT", "UYST": "UYST", "GMT": "GMT", "COST": "COST", "AEST": "AEST", "IST": "IST", "VET": "VET", "AWDT": "AWDT", "GFT": "GFT", "WEZ": "WEZ", "WART": "WART", "BT": "BT", "OESZ": "OESZ", "BOT": "BOT", "LHDT": "LHDT", "WIB": "WIB", "ART": "ART", "MST": "MST", "∅∅∅": "∅∅∅", "HAT": "HAT", "WIT": "WIT", "JST": "JST", "AEDT": "AEDT", "EDT": "EDT", "CAT": "CAT", "CHAST": "CHAST", "SRT": "SRT", "ARST": "ARST", "WAST": "WAST", "ADT": "ADT", "EAT": "EAT", "WITA": "WITA", "TMST": "TMST", "CDT": "CDT", "GYT": "GYT", "WARST": "WARST", "PST": "PST", "HKT": "HKT", "MESZ": "MESZ", "NZST": "NZST", "NZDT": "NZDT", "MDT": "MDT", "LHST": "LHST", "HAST": "HAST", "AST": "AST", "TMT": "TMT", "ACDT": "ACDT", "PDT": "PDT", "SAST": "SAST", "ECT": "ECT", "HADT": "HADT", "SGT": "SGT"}, + timezones: map[string]string{"WITA": "WITA", "CDT": "CDT", "GYT": "GYT", "WIB": "WIB", "WIT": "WIT", "ART": "ART", "HKST": "HKST", "HEPM": "HEPM", "SGT": "SGT", "PST": "PST", "ACWDT": "ACWDT", "∅∅∅": "∅∅∅", "COST": "COST", "ADT": "ADT", "HADT": "HADT", "HKT": "HKT", "HNPM": "HNPM", "SAST": "SAST", "WARST": "WARST", "GMT": "GMT", "HNOG": "HNOG", "OESZ": "OESZ", "HENOMX": "HENOMX", "HAT": "HAT", "HNEG": "HNEG", "EAT": "EAT", "HNCU": "HNCU", "MDT": "MDT", "HNPMX": "HNPMX", "HNT": "HNT", "NZDT": "NZDT", "COT": "COT", "HECU": "HECU", "WESZ": "WESZ", "AEST": "AEST", "HAST": "HAST", "BT": "BT", "MESZ": "MESZ", "NZST": "NZST", "CLST": "CLST", "JDT": "JDT", "WART": "WART", "UYST": "UYST", "ARST": "ARST", "CHAST": "CHAST", "CHADT": "CHADT", "WAT": "WAT", "MYT": "MYT", "AEDT": "AEDT", "WEZ": "WEZ", "HEOG": "HEOG", "ChST": "ChST", "CAT": "CAT", "WAST": "WAST", "HNNOMX": "HNNOMX", "EST": "EST", "AST": "AST", "MEZ": "MEZ", "LHST": "LHST", "LHDT": "LHDT", "CLT": "CLT", "MST": "MST", "AWST": "AWST", "AWDT": "AWDT", "OEZ": "OEZ", "ECT": "ECT", "HEPMX": "HEPMX", "AKDT": "AKDT", "CST": "CST", "SRT": "SRT", "IST": "IST", "GFT": "GFT", "TMT": "TMT", "AKST": "AKST", "ACWST": "ACWST", "UYT": "UYT", "JST": "JST", "BOT": "BOT", "ACDT": "ACDT", "EDT": "EDT", "HEEG": "HEEG", "TMST": "TMST", "ACST": "ACST", "VET": "VET", "PDT": "PDT"}, } } @@ -324,7 +324,12 @@ func (bez *bez_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (bez *bez_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (bez *bez_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (bez *bez_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bez.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bg/bg.go b/bg/bg.go index 78b4a13ff..857e9a494 100644 --- a/bg/bg.go +++ b/bg/bg.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "лв.", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "щ.д.", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "лв.", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "щ.д.", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -67,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"н", "п", "в", "с", "ч", "п", "с"}, daysShort: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysWide: []string{"неделя", "понеделник", "вторник", "сряда", "четвъртък", "петък", "събота"}, - periodsAbbreviated: []string{"пр.об.", "сл.об."}, - periodsNarrow: []string{"пр.об.", "сл.об."}, + periodsAbbreviated: []string{"am", "pm"}, + periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"пр.об.", "сл.об."}, erasAbbreviated: []string{"пр.Хр.", "сл.Хр."}, erasNarrow: []string{"", ""}, erasWide: []string{"преди Христа", "след Христа"}, - timezones: map[string]string{"ECT": "Еквадорско време", "AEST": "Австралия – източно стандартно време", "WAST": "Западноафриканско лятно часово време", "AWST": "Австралия – западно стандартно време", "COST": "Колумбийско лятно часово време", "ACWDT": "Австралия – западно централно лятно часово време", "PDT": "Северноамериканско тихоокеанско лятно часово време", "HAT": "Нюфаундлендско лятно часово време", "CLST": "Чилийско лятно часово време", "LHDT": "Лорд Хау – лятно часово време", "OESZ": "Източноевропейско лятно часово време", "WART": "Западноаржентинско стандартно време", "MDT": "Северноамериканско планинско лятно часово време", "WIT": "Източноиндонезийско време", "ACWST": "Австралия – западно централно стандартно време", "EDT": "Северноамериканско източно лятно часово време", "MST": "Северноамериканско планинско стандартно време", "BOT": "Боливийско време", "WEZ": "Западноевропейско стандартно време", "WIB": "Западноиндонезийско време", "PST": "Северноамериканско тихоокеанско стандартно време", "GMT": "Средно гринуичко време", "CDT": "Северноамериканско централно лятно часово време", "SRT": "Суринамско време", "MEZ": "Централноевропейско стандартно време", "EAT": "Източноафриканско време", "IST": "Индийско стандартно време", "JST": "Японско стандартно време", "SGT": "Сингапурско време", "HADT": "Хавайско-алеутско лятно часово време", "AEDT": "Австралия – източно лятно часово време", "ART": "Аржентинско стандартно време", "TMT": "Туркменистанско стандартно време", "TMST": "Туркменистанско лятно часово време", "MYT": "Малайзийско време", "OEZ": "Източноевропейско стандартно време", "CHAST": "Чатъм – стандартно време", "WARST": "Западноаржентинско лятно часово време", "UYT": "Уругвайско стандартно време", "SAST": "Южноафриканско време", "AKDT": "Аляска – лятно часово време", "NZDT": "Новозеландско лятно часово време", "HNT": "Нюфаундлендско стандартно време", "COT": "Колумбийско стандартно време", "VET": "Венецуелско време", "HAST": "Хавайско-алеутско стандартно време", "ARST": "Аржентинско лятно часово време", "WAT": "Западноафриканско стандартно време", "WITA": "Централноиндонезийско време", "NZST": "Новозеландско стандартно време", "∅∅∅": "Бразилско лятно часово време", "WESZ": "Западноевропейско лятно време", "GFT": "Френска Гвиана", "CST": "Северноамериканско централно стандартно време", "GYT": "Гаяна", "ChST": "Чаморо – стандартно време", "CLT": "Чилийско стандартно време", "CHADT": "Чатъм – лятно часово време", "ACST": "Австралия – централно стандартно време", "AKST": "Аляска – стандартно време", "AST": "Северноамериканско атлантическо стандартно време", "ADT": "Северноамериканско атлантическо лятно часово време", "CAT": "Централноафриканско време", "BT": "Бутанско време", "JDT": "Японско лятно часово време", "HKT": "Хонконгско стандартно време", "EST": "Северноамериканско източно стандартно време", "LHST": "Лорд Хау – стандартно време", "UYST": "Уругвайско лятно часово време", "ACDT": "Австралия – централно лятно часово време", "HKST": "Хонконгско лятно часово време", "MESZ": "Централноевропейско лятно часово време", "AWDT": "Австралия – западно лятно часово време"}, + timezones: map[string]string{"CLST": "Чилийско лятно часово време", "ADT": "Северноамериканско атлантическо лятно часово време", "WEZ": "Западноевропейско стандартно време", "BT": "Бутанско време", "HEOG": "Западногренландско лятно часово време", "HKST": "Хонконгско лятно часово време", "OESZ": "Източноевропейско лятно часово време", "CAT": "Централноафриканско време", "AKDT": "Аляска – лятно часово време", "WIB": "Западноиндонезийско време", "ACWDT": "Австралия – западно централно лятно часово време", "NZST": "Новозеландско стандартно време", "OEZ": "Източноевропейско стандартно време", "SRT": "Суринамско време", "HKT": "Хонконгско стандартно време", "NZDT": "Новозеландско лятно часово време", "PST": "Северноамериканско тихоокеанско стандартно време", "WITA": "Централноиндонезийско време", "SAST": "Южноафриканско време", "ACDT": "Австралия – централно лятно часово време", "EAT": "Източноафриканско време", "WARST": "Западноаржентинско лятно часово време", "UYST": "Уругвайско лятно часово време", "HADT": "Хавайско-алеутско лятно часово време", "WAT": "Западноафриканско стандартно време", "HNOG": "Западногренландско стандартно време", "COST": "Колумбийско лятно часово време", "UYT": "Уругвайско стандартно време", "HEPM": "Сен Пиер и Микелон – лятно часово време", "AEDT": "Австралия – източно лятно часово време", "AWDT": "Австралия – западно лятно часово време", "ChST": "Чаморо – стандартно време", "BOT": "Боливийско време", "ECT": "Еквадорско време", "HEPMX": "Мексиканско тихоокеанско лятно часово време", "HAT": "Нюфаундлендско лятно часово време", "AEST": "Австралия – източно стандартно време", "TMT": "Туркменистанско стандартно време", "HEEG": "Източногренландско лятно часово време", "WAST": "Западноафриканско лятно часово време", "COT": "Колумбийско стандартно време", "EDT": "Северноамериканско източно лятно часово време", "CDT": "Северноамериканско централно лятно часово време", "MEZ": "Централноевропейско стандартно време", "HNEG": "Източногренландско стандартно време", "HNNOMX": "Мексико – северозападно стандартно време", "MYT": "Малайзийско време", "HAST": "Хавайско-алеутско стандартно време", "PDT": "Северноамериканско тихоокеанско лятно часово време", "WESZ": "Западноевропейско лятно време", "GMT": "Средно гринуичко време", "AKST": "Аляска – стандартно време", "CHAST": "Чатъм – стандартно време", "IST": "Индийско стандартно време", "∅∅∅": "Амазонско лятно часово време", "EST": "Северноамериканско източно стандартно време", "WIT": "Източноиндонезийско време", "ARST": "Аржентинско лятно часово време", "AWST": "Австралия – западно стандартно време", "LHST": "Лорд Хау – стандартно време", "WART": "Западноаржентинско стандартно време", "HNCU": "Кубинско стандартно време", "MDT": "MDT", "AST": "Северноамериканско атлантическо стандартно време", "VET": "Венецуелско време", "ACWST": "Австралия – западно централно стандартно време", "HNPM": "Сен Пиер и Микелон – стандартно време", "JST": "Японско стандартно време", "JDT": "Японско лятно часово време", "HENOMX": "Мексико – северозападно лятно часово време", "SGT": "Сингапурско време", "HNPMX": "Мексиканско тихоокеанско стандартно време", "HNT": "Нюфаундлендско стандартно време", "CLT": "Чилийско стандартно време", "ACST": "Австралия – централно стандартно време", "GYT": "Гаяна", "MESZ": "Централноевропейско лятно часово време", "CHADT": "Чатъм – лятно часово време", "LHDT": "Лорд Хау – лятно часово време", "GFT": "Френска Гвиана", "TMST": "Туркменистанско лятно часово време", "HECU": "Кубинско лятно часово време", "MST": "MST", "CST": "Северноамериканско централно стандартно време", "ART": "Аржентинско стандартно време"}, } } @@ -268,30 +268,17 @@ func (bg *bg) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bg.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 - count := 0 - inWhole := v == 0 + l := len(s) + len(symbol) + 4 + b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, bg.decimal[0]) - inWhole = true continue } - if inWhole { - if count == 3 { - for j := len(bg.group) - 1; j >= 0; j-- { - b = append(b, bg.group[j]) - } - count = 1 - } else { - count++ - } - } - b = append(b, s[i]) } @@ -328,30 +315,17 @@ func (bg *bg) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bg.currencies[currency] - l := len(s) + len(symbol) + 6 + 2*len(s[:len(s)-int(v)-1])/3 - count := 0 - inWhole := v == 0 + l := len(s) + len(symbol) + 6 + b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, bg.decimal[0]) - inWhole = true continue } - if inWhole { - if count == 3 { - for j := len(bg.group) - 1; j >= 0; j-- { - b = append(b, bg.group[j]) - } - count = 1 - } else { - count++ - } - } - b = append(b, s[i]) } @@ -432,7 +406,13 @@ func (bg *bg) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -448,7 +428,13 @@ func (bg *bg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -466,7 +452,13 @@ func (bg *bg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/bg_BG/bg_BG.go b/bg_BG/bg_BG.go index 34f095b3c..07ac384db 100644 --- a/bg_BG/bg_BG.go +++ b/bg_BG/bg_BG.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -67,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"н", "п", "в", "с", "ч", "п", "с"}, daysShort: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysWide: []string{"неделя", "понеделник", "вторник", "сряда", "четвъртък", "петък", "събота"}, - periodsAbbreviated: []string{"пр.об.", "сл.об."}, - periodsNarrow: []string{"пр.об.", "сл.об."}, + periodsAbbreviated: []string{"am", "pm"}, + periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"пр.об.", "сл.об."}, erasAbbreviated: []string{"пр.Хр.", "сл.Хр."}, erasNarrow: []string{"", ""}, erasWide: []string{"преди Христа", "след Христа"}, - timezones: map[string]string{"NZST": "Новозеландско стандартно време", "WIT": "Източноиндонезийско време", "LHST": "Лорд Хау – стандартно време", "UYST": "Уругвайско лятно часово време", "SRT": "Суринамско време", "OESZ": "Източноевропейско лятно часово време", "HADT": "Хавайско-алеутско лятно часово време", "WITA": "Централноиндонезийско време", "CHADT": "Чатъм – лятно часово време", "WIB": "Западноиндонезийско време", "SAST": "Южноафриканско време", "TMST": "Туркменистанско лятно часово време", "CLT": "Чилийско стандартно време", "GFT": "Френска Гвиана", "HKST": "Хонконгско лятно часово време", "CHAST": "Чатъм – стандартно време", "HAST": "Хавайско-алеутско стандартно време", "ADT": "Северноамериканско атлантическо лятно часово време", "MEZ": "Централноевропейско стандартно време", "MESZ": "Централноевропейско лятно часово време", "IST": "Индийско стандартно време", "MST": "Северноамериканско планинско стандартно време", "BOT": "Боливийско време", "GMT": "Средно гринуичко време", "ECT": "Еквадорско време", "ART": "Аржентинско стандартно време", "AST": "Северноамериканско атлантическо стандартно време", "HNT": "Нюфаундлендско стандартно време", "AEST": "Австралия – източно стандартно време", "WAT": "Западноафриканско стандартно време", "COT": "Колумбийско стандартно време", "LHDT": "Лорд Хау – лятно часово време", "SGT": "Сингапурско време", "CDT": "Северноамериканско централно лятно часово време", "AWDT": "Австралия – западно лятно часово време", "PST": "Северноамериканско тихоокеанско стандартно време", "CST": "Северноамериканско централно стандартно време", "ACST": "Австралия – централно стандартно време", "EDT": "Северноамериканско източно лятно часово време", "HAT": "Нюфаундлендско лятно часово време", "MYT": "Малайзийско време", "WART": "Западноаржентинско стандартно време", "WAST": "Западноафриканско лятно часово време", "GYT": "Гаяна", "WESZ": "Западноевропейско лятно време", "HKT": "Хонконгско стандартно време", "ACWDT": "Австралия – западно централно лятно часово време", "EAT": "Източноафриканско време", "TMT": "Туркменистанско стандартно време", "MDT": "Северноамериканско планинско лятно часово време", "CLST": "Чилийско лятно часово време", "CAT": "Централноафриканско време", "JDT": "Японско лятно часово време", "OEZ": "Източноевропейско стандартно време", "WARST": "Западноаржентинско лятно часово време", "EST": "Северноамериканско източно стандартно време", "NZDT": "Новозеландско лятно часово време", "WEZ": "Западноевропейско стандартно време", "AKST": "Аляска – стандартно време", "∅∅∅": "Азорски острови – лятно часово време", "ACWST": "Австралия – западно централно стандартно време", "PDT": "Северноамериканско тихоокеанско лятно часово време", "JST": "Японско стандартно време", "VET": "Венецуелско време", "ACDT": "Австралия – централно лятно часово време", "AEDT": "Австралия – източно лятно часово време", "ChST": "Чаморо – стандартно време", "BT": "Бутанско време", "AWST": "Австралия – западно стандартно време", "UYT": "Уругвайско стандартно време", "ARST": "Аржентинско лятно часово време", "AKDT": "Аляска – лятно часово време", "COST": "Колумбийско лятно часово време"}, + timezones: map[string]string{"UYST": "Уругвайско лятно часово време", "AWST": "Австралия – западно стандартно време", "HKST": "Хонконгско лятно часово време", "MESZ": "Централноевропейско лятно часово време", "SAST": "Южноафриканско време", "HNCU": "Кубинско стандартно време", "AKST": "Аляска – стандартно време", "ACWST": "Австралия – западно централно стандартно време", "COT": "Колумбийско стандартно време", "HNPMX": "Мексиканско тихоокеанско стандартно време", "MYT": "Малайзийско време", "PST": "Северноамериканско тихоокеанско стандартно време", "HEPM": "Сен Пиер и Микелон – лятно часово време", "JST": "Японско стандартно време", "TMST": "Туркменистанско лятно часово време", "ECT": "Еквадорско време", "WEZ": "Западноевропейско стандартно време", "HNOG": "Западногренландско стандартно време", "WITA": "Централноиндонезийско време", "CLST": "Чилийско лятно часово време", "WAT": "Западноафриканско стандартно време", "AEDT": "Австралия – източно лятно часово време", "CHAST": "Чатъм – стандартно време", "IST": "Индийско стандартно време", "CLT": "Чилийско стандартно време", "HNEG": "Източногренландско стандартно време", "GFT": "Френска Гвиана", "WAST": "Западноафриканско лятно часово време", "EDT": "Северноамериканско източно лятно часово време", "CDT": "Северноамериканско централно лятно часово време", "EST": "Северноамериканско източно стандартно време", "AST": "Северноамериканско атлантическо стандартно време", "SRT": "Суринамско време", "AEST": "Австралия – източно стандартно време", "AWDT": "Австралия – западно лятно часово време", "JDT": "Японско лятно часово време", "EAT": "Източноафриканско време", "BT": "Бутанско време", "HNPM": "Сен Пиер и Микелон – стандартно време", "CHADT": "Чатъм – лятно часово време", "ACDT": "Австралия – централно лятно часово време", "MST": "MST", "HEPMX": "Мексиканско тихоокеанско лятно часово време", "HAST": "Хавайско-алеутско стандартно време", "LHDT": "Лорд Хау – лятно часово време", "∅∅∅": "Амазонско лятно часово време", "ChST": "Чаморо – стандартно време", "ACST": "Австралия – централно стандартно време", "WART": "Западноаржентинско стандартно време", "GMT": "Средно гринуичко време", "GYT": "Гаяна", "VET": "Венецуелско време", "HNT": "Нюфаундлендско стандартно време", "HAT": "Нюфаундлендско лятно часово време", "ART": "Аржентинско стандартно време", "HEEG": "Източногренландско лятно часово време", "OEZ": "Източноевропейско стандартно време", "HENOMX": "Мексико – северозападно лятно часово време", "WIT": "Източноиндонезийско време", "WESZ": "Западноевропейско лятно време", "ACWDT": "Австралия – западно централно лятно часово време", "ARST": "Аржентинско лятно часово време", "TMT": "Туркменистанско стандартно време", "OESZ": "Източноевропейско лятно часово време", "HNNOMX": "Мексико – северозападно стандартно време", "SGT": "Сингапурско време", "MDT": "MDT", "HEOG": "Западногренландско лятно часово време", "CST": "Северноамериканско централно стандартно време", "UYT": "Уругвайско стандартно време", "HADT": "Хавайско-алеутско лятно часово време", "LHST": "Лорд Хау – стандартно време", "NZST": "Новозеландско стандартно време", "HECU": "Кубинско лятно часово време", "WIB": "Западноиндонезийско време", "NZDT": "Новозеландско лятно часово време", "BOT": "Боливийско време", "CAT": "Централноафриканско време", "AKDT": "Аляска – лятно часово време", "ADT": "Северноамериканско атлантическо лятно часово време", "PDT": "Северноамериканско тихоокеанско лятно часово време", "MEZ": "Централноевропейско стандартно време", "WARST": "Западноаржентинско лятно часово време", "COST": "Колумбийско лятно часово време", "HKT": "Хонконгско стандартно време"}, } } @@ -268,30 +268,17 @@ func (bg *bg_BG) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bg.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 - count := 0 - inWhole := v == 0 + l := len(s) + len(symbol) + 4 + b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, bg.decimal[0]) - inWhole = true continue } - if inWhole { - if count == 3 { - for j := len(bg.group) - 1; j >= 0; j-- { - b = append(b, bg.group[j]) - } - count = 1 - } else { - count++ - } - } - b = append(b, s[i]) } @@ -328,30 +315,17 @@ func (bg *bg_BG) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bg.currencies[currency] - l := len(s) + len(symbol) + 6 + 2*len(s[:len(s)-int(v)-1])/3 - count := 0 - inWhole := v == 0 + l := len(s) + len(symbol) + 6 + b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, bg.decimal[0]) - inWhole = true continue } - if inWhole { - if count == 3 { - for j := len(bg.group) - 1; j >= 0; j-- { - b = append(b, bg.group[j]) - } - count = 1 - } else { - count++ - } - } - b = append(b, s[i]) } @@ -432,7 +406,13 @@ func (bg *bg_BG) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -448,7 +428,13 @@ func (bg *bg_BG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -466,7 +452,13 @@ func (bg *bg_BG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/bm/bm.go b/bm/bm.go index a94c197dc..49b16b5cf 100644 --- a/bm/bm.go +++ b/bm/bm.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "zan", "feb", "mar", "awi", "mɛ", "zuw", "zul", "uti", "sɛt", "ɔku", "now", "des"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"J.-C. ɲɛ", "ni J.-C."}, erasNarrow: []string{"", ""}, erasWide: []string{"jezu krisiti ɲɛ", "jezu krisiti minkɛ"}, - timezones: map[string]string{"AEDT": "AEDT", "EST": "EST", "MYT": "MYT", "SGT": "SGT", "HAST": "HAST", "MDT": "MDT", "NZST": "NZST", "JDT": "JDT", "SAST": "SAST", "BOT": "BOT", "BT": "BT", "AWDT": "AWDT", "SRT": "SRT", "CHADT": "CHADT", "ACDT": "ACDT", "WARST": "WARST", "AST": "AST", "ADT": "ADT", "TMT": "TMT", "UYT": "UYT", "UYST": "UYST", "JST": "JST", "OESZ": "OESZ", "WESZ": "WESZ", "MESZ": "MESZ", "VET": "VET", "AWST": "AWST", "HADT": "HADT", "MST": "MST", "HNT": "HNT", "LHDT": "LHDT", "TMST": "TMST", "MEZ": "MEZ", "WART": "WART", "IST": "IST", "AKST": "AKST", "CST": "CST", "CDT": "CDT", "WEZ": "WEZ", "HKST": "HKST", "GFT": "GFT", "COT": "COT", "AEST": "AEST", "ART": "ART", "AKDT": "AKDT", "EDT": "EDT", "GYT": "GYT", "ACWDT": "ACWDT", "ARST": "ARST", "PDT": "PDT", "CHAST": "CHAST", "WIB": "WIB", "WAT": "WAT", "WAST": "WAST", "NZDT": "NZDT", "HAT": "HAT", "CLT": "CLT", "CLST": "CLST", "WIT": "WIT", "LHST": "LHST", "ACST": "ACST", "COST": "COST", "ECT": "ECT", "ChST": "ChST", "GMT": "GMT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "HKT": "HKT", "WITA": "WITA", "CAT": "CAT", "ACWST": "ACWST", "PST": "PST", "EAT": "EAT"}, + timezones: map[string]string{"OEZ": "OEZ", "EDT": "EDT", "AST": "AST", "SRT": "SRT", "WEZ": "WEZ", "HNPMX": "HNPMX", "LHST": "LHST", "GFT": "GFT", "SGT": "SGT", "AKST": "AKST", "ARST": "ARST", "WESZ": "WESZ", "ACWST": "ACWST", "NZST": "NZST", "WIT": "WIT", "HEOG": "HEOG", "PDT": "PDT", "HNPM": "HNPM", "CLST": "CLST", "GYT": "GYT", "AKDT": "AKDT", "NZDT": "NZDT", "BOT": "BOT", "HNCU": "HNCU", "CST": "CST", "BT": "BT", "AEDT": "AEDT", "HEPM": "HEPM", "JDT": "JDT", "EAT": "EAT", "WAST": "WAST", "HNNOMX": "HNNOMX", "HADT": "HADT", "ART": "ART", "MEZ": "MEZ", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "WARST": "WARST", "COT": "COT", "GMT": "GMT", "HECU": "HECU", "HAT": "HAT", "TMT": "TMT", "WAT": "WAT", "ADT": "ADT", "MYT": "MYT", "UYT": "UYT", "HKST": "HKST", "COST": "COST", "EST": "EST", "ChST": "ChST", "HENOMX": "HENOMX", "UYST": "UYST", "HAST": "HAST", "HNT": "HNT", "ACWDT": "ACWDT", "ACST": "ACST", "CAT": "CAT", "WART": "WART", "VET": "VET", "IST": "IST", "CLT": "CLT", "CDT": "CDT", "WIB": "WIB", "AEST": "AEST", "AWST": "AWST", "AWDT": "AWDT", "HKT": "HKT", "JST": "JST", "ECT": "ECT", "HEPMX": "HEPMX", "HNOG": "HNOG", "WITA": "WITA", "CHADT": "CHADT", "TMST": "TMST", "HNEG": "HNEG", "MST": "MST", "MDT": "MDT", "PST": "PST", "LHDT": "LHDT", "ACDT": "ACDT", "OESZ": "OESZ", "CHAST": "CHAST", "SAST": "SAST"}, } } @@ -318,7 +318,12 @@ func (bm *bm) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -332,7 +337,12 @@ func (bm *bm) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +356,12 @@ func (bm *bm) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -362,7 +377,12 @@ func (bm *bm) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bm_ML/bm_ML.go b/bm_ML/bm_ML.go index 4b6463865..632ba9ab6 100644 --- a/bm_ML/bm_ML.go +++ b/bm_ML/bm_ML.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "zan", "feb", "mar", "awi", "mɛ", "zuw", "zul", "uti", "sɛt", "ɔku", "now", "des"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"J.-C. ɲɛ", "ni J.-C."}, erasNarrow: []string{"", ""}, erasWide: []string{"jezu krisiti ɲɛ", "jezu krisiti minkɛ"}, - timezones: map[string]string{"IST": "IST", "GYT": "GYT", "NZDT": "NZDT", "GMT": "GMT", "HKT": "HKT", "WART": "WART", "ARST": "ARST", "AKST": "AKST", "ChST": "ChST", "CLT": "CLT", "AEST": "AEST", "BOT": "BOT", "CAT": "CAT", "AWDT": "AWDT", "WESZ": "WESZ", "CST": "CST", "MST": "MST", "COST": "COST", "∅∅∅": "∅∅∅", "ACST": "ACST", "HAST": "HAST", "UYST": "UYST", "CHADT": "CHADT", "SRT": "SRT", "OEZ": "OEZ", "SGT": "SGT", "HADT": "HADT", "EST": "EST", "PDT": "PDT", "HAT": "HAT", "JDT": "JDT", "EAT": "EAT", "GFT": "GFT", "ECT": "ECT", "AKDT": "AKDT", "HNT": "HNT", "LHST": "LHST", "CHAST": "CHAST", "ACWDT": "ACWDT", "AEDT": "AEDT", "WAST": "WAST", "WITA": "WITA", "MYT": "MYT", "HKST": "HKST", "SAST": "SAST", "WIT": "WIT", "VET": "VET", "COT": "COT", "ACWST": "ACWST", "PST": "PST", "AST": "AST", "UYT": "UYT", "JST": "JST", "ART": "ART", "BT": "BT", "WIB": "WIB", "MESZ": "MESZ", "TMT": "TMT", "WARST": "WARST", "MDT": "MDT", "NZST": "NZST", "LHDT": "LHDT", "OESZ": "OESZ", "ACDT": "ACDT", "ADT": "ADT", "TMST": "TMST", "CDT": "CDT", "AWST": "AWST", "MEZ": "MEZ", "EDT": "EDT", "WAT": "WAT", "CLST": "CLST", "WEZ": "WEZ"}, + timezones: map[string]string{"EAT": "EAT", "WIT": "WIT", "CLST": "CLST", "∅∅∅": "∅∅∅", "MDT": "MDT", "VET": "VET", "MESZ": "MESZ", "WAST": "WAST", "AEST": "AEST", "SAST": "SAST", "ECT": "ECT", "CAT": "CAT", "HAT": "HAT", "ART": "ART", "MST": "MST", "LHDT": "LHDT", "WAT": "WAT", "ChST": "ChST", "HNPMX": "HNPMX", "ACWST": "ACWST", "LHST": "LHST", "TMT": "TMT", "GMT": "GMT", "WESZ": "WESZ", "HNOG": "HNOG", "OESZ": "OESZ", "EDT": "EDT", "UYST": "UYST", "NZDT": "NZDT", "CHAST": "CHAST", "HECU": "HECU", "HAST": "HAST", "HKST": "HKST", "AEDT": "AEDT", "HEOG": "HEOG", "HKT": "HKT", "WITA": "WITA", "HEPM": "HEPM", "JST": "JST", "TMST": "TMST", "ACWDT": "ACWDT", "HNT": "HNT", "AKDT": "AKDT", "SRT": "SRT", "COST": "COST", "AKST": "AKST", "COT": "COT", "EST": "EST", "HADT": "HADT", "AWST": "AWST", "ACDT": "ACDT", "NZST": "NZST", "ACST": "ACST", "OEZ": "OEZ", "SGT": "SGT", "HEPMX": "HEPMX", "CDT": "CDT", "ARST": "ARST", "PDT": "PDT", "MYT": "MYT", "HEEG": "HEEG", "GFT": "GFT", "WART": "WART", "AST": "AST", "ADT": "ADT", "UYT": "UYT", "AWDT": "AWDT", "HNEG": "HNEG", "WARST": "WARST", "GYT": "GYT", "PST": "PST", "HNPM": "HNPM", "HENOMX": "HENOMX", "WEZ": "WEZ", "CHADT": "CHADT", "CLT": "CLT", "BOT": "BOT", "CST": "CST", "BT": "BT", "MEZ": "MEZ", "IST": "IST", "HNCU": "HNCU", "WIB": "WIB", "JDT": "JDT", "HNNOMX": "HNNOMX"}, } } @@ -318,7 +318,12 @@ func (bm *bm_ML) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -332,7 +337,12 @@ func (bm *bm_ML) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +356,12 @@ func (bm *bm_ML) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -362,7 +377,12 @@ func (bm *bm_ML) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bn/bn.go b/bn/bn.go index dd01ad146..430d64295 100644 --- a/bn/bn.go +++ b/bn/bn.go @@ -10,62 +10,62 @@ import ( ) type bn struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'bn' locale func New() locales.Translator { return &bn{ - locale: "bn", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, - pluralsRange: []locales.PluralRule{2, 6}, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, - monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, - daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, - daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, - daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"পূর্বাহ্ণ", "অপরাহ্ণ"}, - erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - timezones: map[string]string{"MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "SGT": "সিঙ্গাপুর মানক সময়", "AKDT": "আলাস্কা দিবালোক সময়", "CLST": "চিলি গ্রীষ্মকাল সময়", "GFT": "ফরাসি গায়ানা সময়", "SRT": "সুরিনাম সময়", "HKT": "হং কং মানক সময়", "IST": "ভারতীয় মানক সময়", "MDT": "মাকাও গ্রীষ্মকাল সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের প্রমাণ সময়", "EAT": "পূর্ব আফ্রিকা সময়", "∅∅∅": "ব্রাসিলিয়া গৃষ্মকালীন সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "GYT": "গুয়ানা সময়", "ChST": "চামেরো মানক সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "CHADT": "চ্যাথাম দিবালোক সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "ECT": "ইকুয়েডর সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "ARST": "আর্জেনটিনা গৃষ্মকালীন সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "JST": "জাপান মানক সময়", "OEZ": "পূর্ব ইউরোপের প্রমাণ সময়", "WEZ": "পশ্চিম ইউরোপের প্রমাণ সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "GMT": "গ্রীনিচ মিন টাইম", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "CST": "কেন্দ্রীয় মানক সময়", "MST": "মাকাও মান সময়", "UYT": "উরুগুয়ে মানক সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "CLT": "চিলি মানক সময়", "COT": "কোলোম্বিয়া মানক সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "ADT": "অতলান্তিক দিবালোক সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "AKST": "আলাস্কা মানক সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "JDT": "জাপান দিবালোক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "MYT": "মালয়েশিয়া সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "AWST": "অস্ট্রেলিয়ান পশ্চিমি মানক সময়", "AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "VET": "ভেনেজুয়েলা সময়", "MEZ": "মধ্য ইউরোপের প্রমাণ সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "ART": "আর্জেনটিনা মানক সময়", "BOT": "বোলিভিয়া সময়", "CAT": "মধ্য আফ্রিকা সময়", "BT": "ভুটান সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "AST": "অতলান্তিক মানক সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "CHAST": "চ্যাথাম মানক সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়"}, + locale: "bn", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "জানু", "ফেব", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, + monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, + daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, + daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, + daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + timezones: map[string]string{"MYT": "মালয়েশিয়া সময়", "ART": "আর্জেনটিনা মানক সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "CLT": "চিলি মানক সময়", "ECT": "ইকুয়েডর সময়", "AST": "অতলান্তিক মানক সময়", "HKT": "হং কং মানক সময়", "MEZ": "মধ্য ইউরোপের মানক সময়", "GFT": "ফরাসি গায়ানা সময়", "CAT": "মধ্য আফ্রিকা সময়", "ADT": "অতলান্তিক দিবালোক সময়", "AKST": "আলাস্কা মানক সময়", "MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "BOT": "বোলিভিয়া সময়", "MDT": "মাকাও গ্রীষ্মকাল সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "UYT": "উরুগুয়ে মানক সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "JST": "জাপান মানক সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "BT": "ভুটান সময়", "HEOG": "পশ্চিম গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "∅∅∅": "অ্যামাজন গ্রীষ্মকালীন সময়", "HNOG": "পশ্চিম গ্রীনল্যান্ড মানক সময়", "AWST": "অস্ট্রেলীয় পশ্চিমি মানক সময়", "HEPM": "সেন্ট পিয়ের ও মিকেলন দিবালোক সময়", "COT": "কোলোম্বিয়া মানক সময়", "HENOMX": "উত্তরপশ্চিম মেক্সিকোর দিনের সময়", "HECU": "কিউবা দিবালোক সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "SRT": "সুরিনাম সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "EAT": "পূর্ব আফ্রিকা সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "HNPMX": "মেক্সিকান প্রশান্ত মহসাগরীয় মানক সময়", "ARST": "আর্জেনটিনা গ্রীষ্মকালীন সময়", "CHAST": "চ্যাথাম মানক সময়", "IST": "ভারতীয় মানক সময়", "GMT": "গ্রীনিচ মিন টাইম", "HNCU": "কিউবা মানক সময়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়", "PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের মানক সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "JDT": "জাপান দিবালোক সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "ChST": "চামেরো মানক সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়", "AKDT": "আলাস্কা দিবালোক সময়", "HNEG": "পূর্ব গ্রীনল্যান্ড মানক সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "HNPM": "সেন্ট পিয়ের ও মিকেলন মানক সময়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "HEPMX": "মেক্সিকান প্রশান্ত মহাসাগরীয় দিবালোক সময়", "WEZ": "পশ্চিম ইউরোপের মানক সময়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "CLST": "চিলি গ্রীষ্মকাল সময়", "OEZ": "পূর্ব ইউরোপের মানক সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "MST": "মাকাও মান সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "VET": "ভেনেজুয়েলা সময়", "HNNOMX": "উত্তরপশ্চিম মেক্সিকোর মানক সময়", "SGT": "সিঙ্গাপুর মানক সময়", "CST": "কেন্দ্রীয় মানক সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "GYT": "গুয়ানা সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "HEEG": "পূর্ব গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "CHADT": "চ্যাথাম দিবালোক সময়"}, } } @@ -210,7 +210,7 @@ func (bn *bn) WeekdaysWide() []string { func (bn *bn) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -260,7 +260,7 @@ func (bn *bn) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bn *bn) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + l := len(s) + 2 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -292,7 +292,7 @@ func (bn *bn) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -357,7 +357,7 @@ func (bn *bn) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -393,7 +393,7 @@ func (bn *bn) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - b = append(b, bn.currencyNegativePrefix[0]) + b = append(b, bn.minus[0]) } @@ -414,7 +414,6 @@ func (bn *bn) FmtAccounting(num float64, v uint64, currency currency.Type) strin } if num < 0 { - b = append(b, bn.currencyNegativeSuffix...) b = append(b, symbol...) } else { @@ -452,7 +451,12 @@ func (bn *bn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +470,12 @@ func (bn *bn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +491,12 @@ func (bn *bn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bn_BD/bn_BD.go b/bn_BD/bn_BD.go index dfffb90d6..9fb0d1167 100644 --- a/bn_BD/bn_BD.go +++ b/bn_BD/bn_BD.go @@ -10,62 +10,62 @@ import ( ) type bn_BD struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'bn_BD' locale func New() locales.Translator { return &bn_BD{ - locale: "bn_BD", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, - pluralsRange: []locales.PluralRule{2, 6}, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, - monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, - daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, - daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, - daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"পূর্বাহ্ণ", "অপরাহ্ণ"}, - erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - timezones: map[string]string{"CLST": "চিলি গ্রীষ্মকাল সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "CHAST": "চ্যাথাম মানক সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "AKST": "আলাস্কা মানক সময়", "AKDT": "আলাস্কা দিবালোক সময়", "MYT": "মালয়েশিয়া সময়", "AST": "অতলান্তিক মানক সময়", "CST": "কেন্দ্রীয় মানক সময়", "CHADT": "চ্যাথাম দিবালোক সময়", "SGT": "সিঙ্গাপুর মানক সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "VET": "ভেনেজুয়েলা সময়", "PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের প্রমাণ সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "ECT": "ইকুয়েডর সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "BOT": "বোলিভিয়া সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়", "MDT": "পার্বত্য অঞ্চলের দিনের সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "GYT": "গুয়ানা সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "AWST": "অস্ট্রেলিয়ান পশ্চিমি মানক সময়", "OEZ": "পূর্ব ইউরোপের প্রমাণ সময়", "HKT": "হং কং মানক সময়", "MEZ": "মধ্য ইউরোপের প্রমাণ সময়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "ARST": "আর্জেনটিনা গৃষ্মকালীন সময়", "MST": "পার্বত্য অঞ্চলের প্রমাণ সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "BT": "ভুটান সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "GMT": "গ্রীনিচ মিন টাইম", "WEZ": "পশ্চিম ইউরোপের প্রমাণ সময়", "GFT": "ফরাসি গায়ানা সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "ART": "আর্জেনটিনা মানক সময়", "CAT": "মধ্য আফ্রিকা সময়", "UYT": "উরুগুয়ে মানক সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়", "COT": "কোলোম্বিয়া মানক সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "ChST": "চামেরো মানক সময়", "JST": "জাপান মানক সময়", "JDT": "জাপান দিবালোক সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "IST": "ভারতীয় মানক সময়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "EAT": "পূর্ব আফ্রিকা সময়", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "CLT": "চিলি মানক সময়", "SRT": "সুরিনাম সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "∅∅∅": "ব্রাসিলিয়া গৃষ্মকালীন সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "ADT": "অতলান্তিক দিবালোক সময়"}, + locale: "bn_BD", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "জানু", "ফেব", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, + monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, + daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, + daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, + daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + timezones: map[string]string{"PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের মানক সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "ECT": "ইকুয়েডর সময়", "HNPMX": "মেক্সিকান প্রশান্ত মহসাগরীয় মানক সময়", "AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "CLST": "চিলি গ্রীষ্মকাল সময়", "ChST": "চামেরো মানক সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "WEZ": "পশ্চিম ইউরোপের মানক সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "HNPM": "সেন্ট পিয়ের ও মিকেলন মানক সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়", "HEOG": "পশ্চিম গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "AKDT": "আলাস্কা দিবালোক সময়", "CLT": "চিলি মানক সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "MST": "মাকাও মান সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "AWST": "অস্ট্রেলীয় পশ্চিমি মানক সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "GFT": "ফরাসি গায়ানা সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "GMT": "গ্রীনিচ মিন টাইম", "VET": "ভেনেজুয়েলা সময়", "CST": "কেন্দ্রীয় মানক সময়", "ADT": "অতলান্তিক দিবালোক সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "HNOG": "পশ্চিম গ্রীনল্যান্ড মানক সময়", "CHAST": "চ্যাথাম মানক সময়", "IST": "ভারতীয় মানক সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "HNNOMX": "উত্তরপশ্চিম মেক্সিকোর মানক সময়", "HECU": "কিউবা দিবালোক সময়", "HEPMX": "মেক্সিকান প্রশান্ত মহাসাগরীয় দিবালোক সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "ARST": "আর্জেনটিনা গ্রীষ্মকালীন সময়", "BOT": "বোলিভিয়া সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "UYT": "উরুগুয়ে মানক সময়", "AST": "অতলান্তিক মানক সময়", "JDT": "জাপান দিবালোক সময়", "HEEG": "পূর্ব গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "HENOMX": "উত্তরপশ্চিম মেক্সিকোর দিনের সময়", "HNCU": "কিউবা মানক সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "SRT": "সুরিনাম সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "HEPM": "সেন্ট পিয়ের ও মিকেলন দিবালোক সময়", "CHADT": "চ্যাথাম দিবালোক সময়", "JST": "জাপান মানক সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "MYT": "মালয়েশিয়া সময়", "BT": "ভুটান সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "SGT": "সিঙ্গাপুর মানক সময়", "AKST": "আলাস্কা মানক সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "HNEG": "পূর্ব গ্রীনল্যান্ড মানক সময়", "EAT": "পূর্ব আফ্রিকা সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়", "ART": "আর্জেনটিনা মানক সময়", "∅∅∅": "অ্যামাজন গ্রীষ্মকালীন সময়", "OEZ": "পূর্ব ইউরোপের মানক সময়", "MDT": "মাকাও গ্রীষ্মকাল সময়", "GYT": "গুয়ানা সময়", "HKT": "হং কং মানক সময়", "MEZ": "মধ্য ইউরোপের মানক সময়", "MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "CAT": "মধ্য আফ্রিকা সময়", "COT": "কোলোম্বিয়া মানক সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়"}, } } @@ -210,7 +210,7 @@ func (bn *bn_BD) WeekdaysWide() []string { func (bn *bn_BD) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -260,7 +260,7 @@ func (bn *bn_BD) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bn *bn_BD) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + l := len(s) + 2 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -292,7 +292,7 @@ func (bn *bn_BD) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -357,7 +357,7 @@ func (bn *bn_BD) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -393,7 +393,7 @@ func (bn *bn_BD) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - b = append(b, bn.currencyNegativePrefix[0]) + b = append(b, bn.minus[0]) } @@ -414,7 +414,6 @@ func (bn *bn_BD) FmtAccounting(num float64, v uint64, currency currency.Type) st } if num < 0 { - b = append(b, bn.currencyNegativeSuffix...) b = append(b, symbol...) } else { @@ -452,7 +451,12 @@ func (bn *bn_BD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +470,12 @@ func (bn *bn_BD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +491,12 @@ func (bn *bn_BD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bn_IN/bn_IN.go b/bn_IN/bn_IN.go index 8d340cc33..8c69d6004 100644 --- a/bn_IN/bn_IN.go +++ b/bn_IN/bn_IN.go @@ -10,62 +10,62 @@ import ( ) type bn_IN struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'bn_IN' locale func New() locales.Translator { return &bn_IN{ - locale: "bn_IN", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, - pluralsRange: []locales.PluralRule{2, 6}, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, - monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, - daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, - daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, - daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, - daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"পূর্বাহ্ণ", "অপরাহ্ণ"}, - erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, - timezones: map[string]string{"CAT": "মধ্য আফ্রিকা সময়", "COT": "কোলোম্বিয়া মানক সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "MYT": "মালয়েশিয়া সময়", "ChST": "চামেরো মানক সময়", "ART": "আর্জেনটিনা মানক সময়", "GMT": "গ্রীনিচ মিন টাইম", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "CST": "কেন্দ্রীয় মানক সময়", "GYT": "গুয়ানা সময়", "MDT": "পার্বত্য অঞ্চলের দিনের সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "EAT": "পূর্ব আফ্রিকা সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "OEZ": "পূর্ব ইউরোপের প্রমাণ সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "CHADT": "চ্যাথাম দিবালোক সময়", "GFT": "ফরাসি গায়ানা সময়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়", "BT": "ভুটান সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "AKDT": "আলাস্কা দিবালোক সময়", "ARST": "আর্জেনটিনা গৃষ্মকালীন সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "∅∅∅": "পেরু গ্রীষ্মকালীন সময়", "AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "HKT": "হং কং মানক সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "SRT": "সুরিনাম সময়", "CLST": "চিলি গ্রীষ্মকাল সময়", "AST": "অতলান্তিক মানক সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "UYT": "উরুগুয়ে মানক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "AWST": "অস্ট্রেলিয়ান পশ্চিমি মানক সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "WEZ": "পশ্চিম ইউরোপের প্রমাণ সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "CLT": "চিলি মানক সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "SGT": "সিঙ্গাপুর মানক সময়", "VET": "ভেনেজুয়েলা সময়", "ADT": "অতলান্তিক দিবালোক সময়", "PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের প্রমাণ সময়", "JDT": "জাপান দিবালোক সময়", "CHAST": "চ্যাথাম মানক সময়", "IST": "ভারতীয় মানক সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "MST": "পার্বত্য অঞ্চলের প্রমাণ সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "MEZ": "মধ্য ইউরোপের প্রমাণ সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "AKST": "আলাস্কা মানক সময়", "BOT": "বোলিভিয়া সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়", "JST": "জাপান মানক সময়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "ECT": "ইকুয়েডর সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়"}, + locale: "bn_IN", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "জানু", "ফেব", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + monthsNarrow: []string{"", "জা", "ফে", "মা", "এ", "মে", "জুন", "জু", "আ", "সে", "অ", "ন", "ডি"}, + monthsWide: []string{"", "জানুয়ারী", "ফেব্রুয়ারী", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"}, + daysAbbreviated: []string{"রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"}, + daysNarrow: []string{"র", "সো", "ম", "বু", "বৃ", "শু", "শ"}, + daysShort: []string{"রঃ", "সোঃ", "মঃ", "বুঃ", "বৃঃ", "শুঃ", "শোঃ"}, + daysWide: []string{"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"খ্রিস্টপূর্ব", "খৃষ্টাব্দ"}, + timezones: map[string]string{"AWDT": "অস্ট্রেলীয় পশ্চিমি দিবালোক সময়", "HKST": "হং কং গ্রীষ্মকালীন সময়", "MESZ": "মধ্য ইউরোপের গ্রীষ্মকালীন সময়", "JDT": "জাপান দিবালোক সময়", "WAST": "পশ্চিম আফ্রিকা গ্রীষ্মকালীন সময়", "SGT": "সিঙ্গাপুর মানক সময়", "ART": "আর্জেনটিনা মানক সময়", "AWST": "অস্ট্রেলীয় পশ্চিমি মানক সময়", "CST": "কেন্দ্রীয় মানক সময়", "BT": "ভুটান সময়", "GMT": "গ্রীনিচ মিন টাইম", "HNCU": "কিউবা মানক সময়", "ACWST": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি মানক সময়", "HEOG": "পশ্চিম গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "TMST": "তুর্কমেনিস্তান গ্রীষ্মকালীন সময়", "CAT": "মধ্য আফ্রিকা সময়", "AST": "অতলান্তিক মানক সময়", "VET": "ভেনেজুয়েলা সময়", "WIT": "পূর্ব ইন্দোনেশিয়া সময়", "AEDT": "অস্ট্রেলীয় পূর্ব দিবালোক সময়", "HNEG": "পূর্ব গ্রীনল্যান্ড মানক সময়", "HECU": "কিউবা দিবালোক সময়", "UYST": "উরুগুয়ে গ্রীষ্মকালীন সময়", "WITA": "কেন্দ্রীয় ইন্দোনেশিয়া সময়", "HEPM": "সেন্ট পিয়ের ও মিকেলন দিবালোক সময়", "CHAST": "চ্যাথাম মানক সময়", "WAT": "পশ্চিম আফ্রিকা মানক সময়", "COST": "কোলোম্বিয়া গ্রীষ্মকালীন সময়", "EST": "পূর্বাঞ্চলের প্রমাণ সময়", "HNT": "নিউফাউন্ডল্যান্ড মানক সময়", "HKT": "হং কং মানক সময়", "HNPM": "সেন্ট পিয়ের ও মিকেলন মানক সময়", "WART": "পশ্চিমি আর্জেনটিনার প্রমাণ সময়", "ARST": "আর্জেনটিনা গ্রীষ্মকালীন সময়", "MEZ": "মধ্য ইউরোপের মানক সময়", "CLT": "চিলি মানক সময়", "COT": "কোলোম্বিয়া মানক সময়", "AKDT": "আলাস্কা দিবালোক সময়", "WESZ": "পশ্চিম ইউরোপের গ্রীষ্মকালীন সময়", "ACWDT": "অস্ট্রেলীয় কেন্দ্রীয় পশ্চিমি দিবালোক সময়", "NZDT": "নিউজিল্যান্ড দিবালোক সময়", "HEEG": "পূর্ব গ্রীনল্যান্ড গ্রীষ্মকালীন সময়", "LHDT": "লর্ড হাওয়ে দিবালোক মসয়", "ChST": "চামেরো মানক সময়", "TMT": "তুর্কমেনিস্তান মানক সময়", "ACDT": "অস্ট্রেলীয় কেন্দ্রীয় দিবালোক সময়", "OESZ": "পূর্ব ইউরোপের গ্রীষ্মকালীন সময়", "HNOG": "পশ্চিম গ্রীনল্যান্ড মানক সময়", "AEST": "অস্ট্রেলীয় পূর্ব মানক সময়", "EDT": "পূর্বাঞ্চলের দিবালোক সময়", "MYT": "মালয়েশিয়া সময়", "NZST": "নিউজিল্যান্ড মানক সময়", "OEZ": "পূর্ব ইউরোপের মানক সময়", "HNPMX": "মেক্সিকান প্রশান্ত মহসাগরীয় মানক সময়", "CDT": "কেন্দ্রীয় দিবালোক সময়", "HADT": "হাওয়াই-আলেউত দিবালোক সময়", "CLST": "চিলি গ্রীষ্মকাল সময়", "GFT": "ফরাসি গায়ানা সময়", "UYT": "উরুগুয়ে মানক সময়", "HAST": "হাওয়াই-আলেউত মানক সময়", "SRT": "সুরিনাম সময়", "PST": "প্রশান্ত মহাসাগরীয় অঞ্চলের মানক সময়", "HAT": "নিউফাউন্ডল্যান্ড দিবালোক সময়", "HNNOMX": "উত্তরপশ্চিম মেক্সিকোর মানক সময়", "MDT": "মাকাও গ্রীষ্মকাল সময়", "GYT": "গুয়ানা সময়", "JST": "জাপান মানক সময়", "BOT": "বোলিভিয়া সময়", "LHST": "লর্ড হাওয়ে মানক মসয়", "CHADT": "চ্যাথাম দিবালোক সময়", "IST": "ভারতীয় মানক সময়", "ACST": "অস্ট্রেলীয় কেন্দ্রীয় মানক সময়", "ECT": "ইকুয়েডর সময়", "MST": "মাকাও মান সময়", "PDT": "প্রশান্ত মহাসাগরীয় অঞ্চলের দিনের সময়", "WEZ": "পশ্চিম ইউরোপের মানক সময়", "HEPMX": "মেক্সিকান প্রশান্ত মহাসাগরীয় দিবালোক সময়", "WIB": "পশ্চিমী ইন্দোনেশিয়া সময়", "∅∅∅": "অ্যামাজন গ্রীষ্মকালীন সময়", "WARST": "পশ্চিমি আর্জেনটিনা গৃষ্মকালীন সময়", "HENOMX": "উত্তরপশ্চিম মেক্সিকোর দিনের সময়", "AKST": "আলাস্কা মানক সময়", "ADT": "অতলান্তিক দিবালোক সময়", "SAST": "দক্ষিণ আফ্রিকা মানক সময়", "EAT": "পূর্ব আফ্রিকা সময়"}, } } @@ -210,7 +210,7 @@ func (bn *bn_IN) WeekdaysWide() []string { func (bn *bn_IN) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -260,7 +260,7 @@ func (bn *bn_IN) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bn *bn_IN) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + l := len(s) + 2 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -292,7 +292,7 @@ func (bn *bn_IN) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -357,7 +357,7 @@ func (bn *bn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := bn.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 1 + 0*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 inSecondary := false @@ -393,7 +393,7 @@ func (bn *bn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - b = append(b, bn.currencyNegativePrefix[0]) + b = append(b, bn.minus[0]) } @@ -414,7 +414,6 @@ func (bn *bn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st } if num < 0 { - b = append(b, bn.currencyNegativeSuffix...) b = append(b, symbol...) } else { @@ -452,7 +451,12 @@ func (bn *bn_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +470,12 @@ func (bn *bn_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +491,12 @@ func (bn *bn_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, bn.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bo/bo.go b/bo/bo.go index 9a8426d9d..4d84656d7 100644 --- a/bo/bo.go +++ b/bo/bo.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ཟླ་༡", "ཟླ་༢", "ཟླ་༣", "ཟླ་༤", "ཟླ་༥", "ཟླ་༦", "ཟླ་༧", "ཟླ་༨", "ཟླ་༩", "ཟླ་༡༠", "ཟླ་༡༡", "ཟླ་༡༢"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"སྤྱི་ལོ་སྔོན་", "སྤྱི་ལོ་"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CDT": "CDT", "MDT": "MDT", "LHDT": "LHDT", "EST": "EST", "ACDT": "ACDT", "WART": "WART", "ADT": "ADT", "WITA": "WITA", "CLST": "CLST", "UYST": "UYST", "ART": "ART", "NZDT": "NZDT", "UYT": "UYT", "NZST": "NZST", "WIT": "WIT", "CHAST": "CHAST", "ACST": "ACST", "ACWST": "ACWST", "TMST": "TMST", "AWDT": "AWDT", "COST": "COST", "IST": "IST", "TMT": "TMT", "CAT": "CAT", "COT": "COT", "MEZ": "MEZ", "MESZ": "MESZ", "EAT": "EAT", "AKST": "AKST", "LHST": "LHST", "WESZ": "WESZ", "CHADT": "CHADT", "VET": "VET", "HADT": "HADT", "AEST": "AEST", "CST": "CST", "WEZ": "WEZ", "HKST": "HKST", "WIB": "WIB", "JDT": "JDT", "OESZ": "OESZ", "HKT": "HKT", "WAT": "WAT", "MST": "MST", "ChST": "ChST", "AWST": "AWST", "HAT": "HAT", "ARST": "ARST", "OEZ": "OEZ", "SGT": "SGT", "ECT": "ECT", "PST": "PST", "WAST": "WAST", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "BOT": "BOT", "ACWDT": "ACWDT", "EDT": "EDT", "SAST": "SAST", "CLT": "CLT", "GMT": "GMT", "WARST": "WARST", "GFT": "GFT", "AEDT": "AEDT", "PDT": "PDT", "AST": "AST", "GYT": "GYT", "MYT": "MYT", "BT": "BT", "HNT": "HNT", "JST": "JST", "SRT": "SRT", "HAST": "HAST"}, + timezones: map[string]string{"WESZ": "WESZ", "MESZ": "MESZ", "CLT": "CLT", "GFT": "GFT", "IST": "IST", "JDT": "JDT", "TMST": "TMST", "HEPMX": "HEPMX", "WIB": "WIB", "ARST": "ARST", "PDT": "PDT", "MEZ": "MEZ", "ADT": "ADT", "AEST": "AEST", "LHST": "LHST", "CLST": "CLST", "TMT": "TMT", "GMT": "GMT", "HNT": "HNT", "WEZ": "WEZ", "HNPM": "HNPM", "NZST": "NZST", "WARST": "WARST", "WIT": "WIT", "ACWDT": "ACWDT", "OEZ": "OEZ", "OESZ": "OESZ", "ACST": "ACST", "HNNOMX": "HNNOMX", "COST": "COST", "HNCU": "HNCU", "HEOG": "HEOG", "JST": "JST", "EST": "EST", "AST": "AST", "WAT": "WAT", "MST": "MST", "AKST": "AKST", "CDT": "CDT", "UYT": "UYT", "ACDT": "ACDT", "HENOMX": "HENOMX", "VET": "VET", "HEEG": "HEEG", "NZDT": "NZDT", "LHDT": "LHDT", "ECT": "ECT", "AKDT": "AKDT", "HADT": "HADT", "ART": "ART", "HNOG": "HNOG", "AEDT": "AEDT", "MYT": "MYT", "UYST": "UYST", "HAST": "HAST", "CHAST": "CHAST", "BOT": "BOT", "∅∅∅": "∅∅∅", "EDT": "EDT", "AWST": "AWST", "ChST": "ChST", "CHADT": "CHADT", "COT": "COT", "HECU": "HECU", "MDT": "MDT", "GYT": "GYT", "HKT": "HKT", "WAST": "WAST", "BT": "BT", "ACWST": "ACWST", "HKST": "HKST", "HEPM": "HEPM", "SAST": "SAST", "AWDT": "AWDT", "CAT": "CAT", "WART": "WART", "SRT": "SRT", "HAT": "HAT", "PST": "PST", "WITA": "WITA", "SGT": "SGT", "HNPMX": "HNPMX", "CST": "CST", "HNEG": "HNEG", "EAT": "EAT"}, } } @@ -385,7 +385,12 @@ func (bo *bo) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (bo *bo) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b}...) b = append(b, bo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -425,7 +435,13 @@ func (bo *bo) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -439,7 +455,12 @@ func (bo *bo) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) diff --git a/bo_CN/bo_CN.go b/bo_CN/bo_CN.go index 5fe119025..fd3597193 100644 --- a/bo_CN/bo_CN.go +++ b/bo_CN/bo_CN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ཟླ་༡", "ཟླ་༢", "ཟླ་༣", "ཟླ་༤", "ཟླ་༥", "ཟླ་༦", "ཟླ་༧", "ཟླ་༨", "ཟླ་༩", "ཟླ་༡༠", "ཟླ་༡༡", "ཟླ་༡༢"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"སྤྱི་ལོ་སྔོན་", "སྤྱི་ལོ་"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACWST": "ACWST", "MYT": "MYT", "CLST": "CLST", "WESZ": "WESZ", "HKST": "HKST", "CHADT": "CHADT", "WART": "WART", "HKT": "HKT", "SGT": "SGT", "COST": "COST", "HAT": "HAT", "NZDT": "NZDT", "BOT": "BOT", "BT": "BT", "LHST": "LHST", "WEZ": "WEZ", "ACST": "ACST", "ACDT": "ACDT", "NZST": "NZST", "UYST": "UYST", "OEZ": "OEZ", "WITA": "WITA", "TMST": "TMST", "EDT": "EDT", "AST": "AST", "ADT": "ADT", "GYT": "GYT", "VET": "VET", "HAST": "HAST", "ART": "ART", "AKST": "AKST", "ChST": "ChST", "LHDT": "LHDT", "HADT": "HADT", "CDT": "CDT", "CLT": "CLT", "CAT": "CAT", "MDT": "MDT", "WIT": "WIT", "WAST": "WAST", "JDT": "JDT", "∅∅∅": "∅∅∅", "ARST": "ARST", "EST": "EST", "EAT": "EAT", "OESZ": "OESZ", "AEST": "AEST", "PDT": "PDT", "IST": "IST", "GFT": "GFT", "UYT": "UYT", "SRT": "SRT", "MESZ": "MESZ", "TMT": "TMT", "AWST": "AWST", "HNT": "HNT", "GMT": "GMT", "MEZ": "MEZ", "COT": "COT", "AKDT": "AKDT", "CST": "CST", "ACWDT": "ACWDT", "PST": "PST", "SAST": "SAST", "MST": "MST", "CHAST": "CHAST", "WARST": "WARST", "AWDT": "AWDT", "JST": "JST", "ECT": "ECT", "WIB": "WIB", "AEDT": "AEDT", "WAT": "WAT"}, + timezones: map[string]string{"MYT": "MYT", "VET": "VET", "SRT": "SRT", "HKST": "HKST", "CAT": "CAT", "HAST": "HAST", "HEPM": "HEPM", "CLT": "CLT", "ACDT": "ACDT", "OESZ": "OESZ", "GYT": "GYT", "UYST": "UYST", "ARST": "ARST", "AEST": "AEST", "TMST": "TMST", "ChST": "ChST", "WART": "WART", "HEOG": "HEOG", "NZST": "NZST", "MESZ": "MESZ", "COST": "COST", "HECU": "HECU", "NZDT": "NZDT", "CHADT": "CHADT", "AKST": "AKST", "HNCU": "HNCU", "ADT": "ADT", "UYT": "UYT", "HKT": "HKT", "BOT": "BOT", "ECT": "ECT", "JDT": "JDT", "HNNOMX": "HNNOMX", "AKDT": "AKDT", "HADT": "HADT", "ACWDT": "ACWDT", "SAST": "SAST", "CHAST": "CHAST", "GFT": "GFT", "SGT": "SGT", "HAT": "HAT", "PST": "PST", "HNPM": "HNPM", "GMT": "GMT", "BT": "BT", "CLST": "CLST", "COT": "COT", "WAST": "WAST", "EAT": "EAT", "MST": "MST", "ACWST": "ACWST", "HNEG": "HNEG", "WAT": "WAT", "WIT": "WIT", "EST": "EST", "CDT": "CDT", "ACST": "ACST", "CST": "CST", "HNT": "HNT", "PDT": "PDT", "WESZ": "WESZ", "JST": "JST", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "EDT": "EDT", "MDT": "MDT", "ART": "ART", "AWST": "AWST", "IST": "IST", "AST": "AST", "MEZ": "MEZ", "LHST": "LHST", "LHDT": "LHDT", "∅∅∅": "∅∅∅", "TMT": "TMT", "HNOG": "HNOG", "WITA": "WITA", "AEDT": "AEDT", "OEZ": "OEZ", "WARST": "WARST", "HNPMX": "HNPMX", "WIB": "WIB", "WEZ": "WEZ", "AWDT": "AWDT", "HEEG": "HEEG"}, } } @@ -385,7 +385,12 @@ func (bo *bo_CN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (bo *bo_CN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b}...) b = append(b, bo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -425,7 +435,13 @@ func (bo *bo_CN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -439,7 +455,12 @@ func (bo *bo_CN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) diff --git a/bo_IN/bo_IN.go b/bo_IN/bo_IN.go index 7ff6a45bb..a8fb1b416 100644 --- a/bo_IN/bo_IN.go +++ b/bo_IN/bo_IN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ཟླ་༡", "ཟླ་༢", "ཟླ་༣", "ཟླ་༤", "ཟླ་༥", "ཟླ་༦", "ཟླ་༧", "ཟླ་༨", "ཟླ་༩", "ཟླ་༡༠", "ཟླ་༡༡", "ཟླ་༡༢"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"སྤྱི་ལོ་སྔོན་", "སྤྱི་ལོ་"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"PDT": "PDT", "EAT": "EAT", "MDT": "MDT", "WESZ": "WESZ", "HAST": "HAST", "PST": "PST", "CHADT": "CHADT", "GFT": "GFT", "ACWST": "ACWST", "ARST": "ARST", "NZDT": "NZDT", "WIT": "WIT", "WAST": "WAST", "EST": "EST", "EDT": "EDT", "∅∅∅": "∅∅∅", "GMT": "GMT", "ECT": "ECT", "SAST": "SAST", "TMT": "TMT", "ACWDT": "ACWDT", "AKST": "AKST", "AWST": "AWST", "TMST": "TMST", "WEZ": "WEZ", "HKST": "HKST", "VET": "VET", "AEST": "AEST", "GYT": "GYT", "LHDT": "LHDT", "JDT": "JDT", "CHAST": "CHAST", "COT": "COT", "MESZ": "MESZ", "AEDT": "AEDT", "HAT": "HAT", "WITA": "WITA", "MST": "MST", "NZST": "NZST", "ChST": "ChST", "HNT": "HNT", "CLT": "CLT", "AKDT": "AKDT", "UYST": "UYST", "OESZ": "OESZ", "ACST": "ACST", "SGT": "SGT", "WIB": "WIB", "MEZ": "MEZ", "MYT": "MYT", "CST": "CST", "BT": "BT", "AWDT": "AWDT", "CLST": "CLST", "ADT": "ADT", "CDT": "CDT", "BOT": "BOT", "OEZ": "OEZ", "WAT": "WAT", "ACDT": "ACDT", "COST": "COST", "HADT": "HADT", "AST": "AST", "UYT": "UYT", "HKT": "HKT", "WART": "WART", "CAT": "CAT", "WARST": "WARST", "LHST": "LHST", "JST": "JST", "SRT": "SRT", "ART": "ART", "IST": "IST"}, + timezones: map[string]string{"HEOG": "HEOG", "AWST": "AWST", "NZST": "NZST", "ACDT": "ACDT", "MST": "MST", "ADT": "ADT", "GYT": "GYT", "HADT": "HADT", "VET": "VET", "HNT": "HNT", "WESZ": "WESZ", "HEPM": "HEPM", "HENOMX": "HENOMX", "EDT": "EDT", "WIB": "WIB", "PDT": "PDT", "AEST": "AEST", "AWDT": "AWDT", "CLST": "CLST", "CAT": "CAT", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "HAT": "HAT", "LHST": "LHST", "LHDT": "LHDT", "OESZ": "OESZ", "GMT": "GMT", "BT": "BT", "HKST": "HKST", "ECT": "ECT", "HNEG": "HNEG", "HNCU": "HNCU", "WITA": "WITA", "CHAST": "CHAST", "EAT": "EAT", "COST": "COST", "CST": "CST", "TMT": "TMT", "EST": "EST", "ART": "ART", "MESZ": "MESZ", "GFT": "GFT", "ChST": "ChST", "WARST": "WARST", "COT": "COT", "HNPMX": "HNPMX", "WAST": "WAST", "ACWST": "ACWST", "HECU": "HECU", "UYST": "UYST", "HAST": "HAST", "SAST": "SAST", "JDT": "JDT", "MDT": "MDT", "AST": "AST", "NZDT": "NZDT", "HNPM": "HNPM", "IST": "IST", "CLT": "CLT", "HEEG": "HEEG", "ACST": "ACST", "∅∅∅": "∅∅∅", "SRT": "SRT", "HNOG": "HNOG", "CHADT": "CHADT", "OEZ": "OEZ", "AKST": "AKST", "WEZ": "WEZ", "AEDT": "AEDT", "TMST": "TMST", "MYT": "MYT", "WIT": "WIT", "JST": "JST", "HKT": "HKT", "MEZ": "MEZ", "BOT": "BOT", "WAT": "WAT", "WART": "WART", "SGT": "SGT", "ARST": "ARST", "CDT": "CDT", "ACWDT": "ACWDT", "PST": "PST", "AKDT": "AKDT", "UYT": "UYT"}, } } @@ -385,7 +385,12 @@ func (bo *bo_IN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (bo *bo_IN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b}...) b = append(b, bo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -425,7 +435,13 @@ func (bo *bo_IN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -439,7 +455,12 @@ func (bo *bo_IN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, bo.monthsWide[t.Month()]...) b = append(b, []byte{0xe0, 0xbd, 0xa0, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) diff --git a/br/br.go b/br/br.go index f58a5b0ca..53f9a682d 100644 --- a/br/br.go +++ b/br/br.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$A", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£ RU", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$ HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$ ZN", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$ SU", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$A", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£ RU", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$ HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$ ZN", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$ SU", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,6 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "Genver", "Cʼhwevrer", "Meurzh", "Ebrel", "Mae", "Mezheven", "Gouere", "Eost", "Gwengolo", "Here", "Du", "Kerzu"}, daysAbbreviated: []string{"Sul", "Lun", "Meu.", "Mer.", "Yaou", "Gwe.", "Sad."}, daysNarrow: []string{"Su", "L", "Mz", "Mc", "Y", "G", "Sa"}, + daysShort: []string{"Sul", "Lun", "Meu.", "Mer.", "Yaou", "Gwe.", "Sad."}, daysWide: []string{"Sul", "Lun", "Meurzh", "Mercʼher", "Yaou", "Gwener", "Sadorn"}, periodsAbbreviated: []string{"A.M.", "G.M."}, periodsNarrow: []string{"am", "gm"}, @@ -72,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a-raok J.K.", "goude J.K."}, erasNarrow: []string{"a-raok J.K.", "goude J.K."}, erasWide: []string{"a-raok Jezuz-Krist", "goude Jezuz-Krist"}, - timezones: map[string]string{"WIT": "eur Indonezia ar Reter", "COT": "eur cʼhoañv Kolombia", "ACWDT": "eur hañv Kreizaostralia ar Cʼhornôg", "ACST": "eur cʼhoañv Kreizaostralia", "AEDT": "eur hañv Aostralia ar Reter", "BOT": "eur Bolivia", "MDT": "eur hañv ar Menezioù", "ChST": "ChST", "LHST": "LHST", "OESZ": "eur hañv Europa ar Reter", "HKST": "eur hañv Hong Kong", "ACWST": "eur cʼhoañv Kreizaostralia ar Cʼhornôg", "TMT": "eur cʼhoañv Turkmenistan", "BT": "eur Bhoutan", "CLT": "eur cʼhoañv Chile", "ADT": "ADT", "WITA": "WITA", "ARST": "eur hañv Arcʼhantina", "WART": "eur cʼhoañv Arcʼhantina ar Cʼhornôg", "PST": "PST", "IST": "eur cʼhoañv India", "HAT": "eur hañv Newfoundland", "WEZ": "eur cʼhoañv Europa ar Cʼhornôg", "SAST": "eur cʼhoañv Suafrika", "CST": "CST", "∅∅∅": "eur hañv an Amazon", "SGT": "eur cʼhoañv Singapour", "ECT": "eur Ecuador", "AKDT": "eur hañv Alaska", "MYT": "eur Malaysia", "HNT": "eur cʼhoañv Newfoundland", "LHDT": "LHDT", "PDT": "PDT", "CDT": "CDT", "WESZ": "eur hañv Europa ar Cʼhornôg", "VET": "eur Venezuela", "ACDT": "eur hañv Kreizaostralia", "CAT": "eur Kreizafrika", "HKT": "eur cʼhoañv Hong Kong", "MEZ": "eur cʼhoañv Kreizeuropa", "NZDT": "eur hañv Zeland-Nevez", "MST": "eur cʼhoañv ar Menezioù", "JDT": "eur hañv Japan", "OEZ": "eur cʼhoañv Europa ar Reter", "ART": "eur cʼhoañv Arcʼhantina", "EAT": "eur Afrika ar Reter", "AKST": "eur cʼhoañv Alaska", "HAST": "HAST", "EST": "eur cʼhoañv ar Reter", "NZST": "eur cʼhoañv Zeland-Nevez", "AWST": "eur cʼhoañv Aostralia ar Cʼhornôg", "CLST": "eur hañv Chile", "UYT": "eur cʼhoañv Uruguay", "UYST": "eur hañv Uruguay", "CHAST": "eur cʼhoañv Chatham", "JST": "eur cʼhoañv Japan", "WIB": "eur Indonezia ar Cʼhornôg", "MESZ": "eur hañv Kreizeuropa", "HADT": "HADT", "WARST": "eur hañv Arcʼhantina ar Cʼhornôg", "WAST": "eur hañv Afrika ar Cʼhornôg", "GFT": "eur Gwiana cʼhall", "SRT": "eur Surinam", "CHADT": "eur hañv Chatham", "AEST": "eur cʼhoañv Aostralia ar Reter", "WAT": "eur cʼhoañv Afrika ar Cʼhornôg", "COST": "eur hañv Kolombia", "EDT": "eur hañv ar Reter", "AST": "AST", "TMST": "eur hañv Turkmenistan", "AWDT": "eur hañv Aostralia ar Cʼhornôg", "GMT": "Amzer keitat Greenwich (AKG)", "GYT": "eur Guyana"}, + timezones: map[string]string{"JST": "eur cʼhoañv Japan", "WAT": "eur cʼhoañv Afrika ar Cʼhornôg", "HECU": "eur hañv Kuba", "EST": "eur cʼhoañv ar Reter", "CDT": "CDT", "WIT": "eur Indonezia ar Reter", "MEZ": "eur cʼhoañv Kreizeuropa", "CHADT": "eur hañv Chatham", "HNEG": "eur cʼhoañv Greunland ar Reter", "HEEG": "eur hañv Greunland ar Reter", "GFT": "eur Gwiana cʼhall", "ACST": "eur cʼhoañv Kreizaostralia", "ART": "eur cʼhoañv Arcʼhantina", "WITA": "WITA", "CHAST": "eur cʼhoañv Chatham", "IST": "eur cʼhoañv India", "CLST": "eur hañv Chile", "CAT": "eur Kreizafrika", "HNCU": "eur cʼhoañv Kuba", "ACWDT": "eur hañv Kreizaostralia ar Cʼhornôg", "AWST": "eur cʼhoañv Aostralia ar Cʼhornôg", "NZST": "eur cʼhoañv Zeland-Nevez", "TMT": "eur cʼhoañv Turkmenistan", "WART": "eur cʼhoañv Arcʼhantina ar Cʼhornôg", "CST": "CST", "SAST": "eur cʼhoañv Suafrika", "ECT": "eur Ecuador", "AEDT": "eur hañv Aostralia ar Reter", "MESZ": "eur hañv Kreizeuropa", "LHDT": "LHDT", "AWDT": "eur hañv Aostralia ar Cʼhornôg", "HNPM": "eur cʼhoañv Sant-Pêr-ha-Mikelon", "WIB": "eur Indonezia ar Cʼhornôg", "PST": "PST", "PDT": "PDT", "COT": "eur cʼhoañv Kolombia", "HADT": "HADT", "∅∅∅": "eur hañv an Amazon", "WARST": "eur hañv Arcʼhantina ar Cʼhornôg", "TMST": "eur hañv Turkmenistan", "COST": "eur hañv Kolombia", "EDT": "eur hañv ar Reter", "MYT": "eur Malaysia", "UYST": "eur hañv Uruguay", "ADT": "ADT", "ACWST": "eur cʼhoañv Kreizaostralia ar Cʼhornôg", "ARST": "eur hañv Arcʼhantina", "EAT": "eur Afrika ar Reter", "OESZ": "eur hañv Europa ar Reter", "HNPMX": "HNPMX", "AKDT": "eur hañv Alaska", "WEZ": "eur cʼhoañv Europa ar Cʼhornôg", "CLT": "eur cʼhoañv Chile", "ChST": "ChST", "JDT": "eur hañv Japan", "HEPMX": "HEPMX", "UYT": "eur cʼhoañv Uruguay", "HNNOMX": "eur cʼhoañv Gwalarn Mecʼhiko", "HENOMX": "eur hañv Gwalarn Mecʼhiko", "BT": "eur Bhoutan", "ACDT": "eur hañv Kreizaostralia", "WAST": "eur hañv Afrika ar Cʼhornôg", "GYT": "eur Guyana", "AKST": "eur cʼhoañv Alaska", "AEST": "eur cʼhoañv Aostralia ar Reter", "BOT": "eur Bolivia", "SGT": "eur cʼhoañv Singapour", "AST": "AST", "HAT": "eur hañv Newfoundland", "HKT": "eur cʼhoañv Hong Kong", "HEPM": "eur hañv Sant-Pêr-ha-Mikelon", "HNOG": "eur cʼhoañv Greunland ar Cʼhornôg", "HEOG": "eur hañv Greunland ar Cʼhornôg", "HNT": "eur cʼhoañv Newfoundland", "NZDT": "eur hañv Zeland-Nevez", "MST": "eur cʼhoañv ar Menezioù", "HAST": "HAST", "VET": "eur Venezuela", "HKST": "eur hañv Hong Kong", "LHST": "LHST", "OEZ": "eur cʼhoañv Europa ar Reter", "GMT": "Amzer keitat Greenwich (AKG)", "MDT": "eur hañv ar Menezioù", "SRT": "eur Surinam", "WESZ": "eur hañv Europa ar Cʼhornôg"}, } } @@ -100,9 +101,9 @@ func (br *br) PluralsRange() []locales.PluralRule { func (br *br) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) + nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) nMod1000000 := math.Mod(n, 1000000) - nMod10 := math.Mod(n, 10) if nMod10 == 1 && (nMod100 != 11 && nMod100 != 71 && nMod100 != 91) { return locales.PluralRuleOne @@ -404,6 +405,28 @@ func (br *br) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +435,17 @@ func (br *br) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +454,17 @@ func (br *br) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +473,19 @@ func (br *br) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, br.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +494,19 @@ func (br *br) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +515,26 @@ func (br *br) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +543,30 @@ func (br *br) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +575,34 @@ func (br *br) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := br.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/br_FR/br_FR.go b/br_FR/br_FR.go index a6030c1e3..be061feba 100644 --- a/br_FR/br_FR.go +++ b/br_FR/br_FR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,6 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "Genver", "Cʼhwevrer", "Meurzh", "Ebrel", "Mae", "Mezheven", "Gouere", "Eost", "Gwengolo", "Here", "Du", "Kerzu"}, daysAbbreviated: []string{"Sul", "Lun", "Meu.", "Mer.", "Yaou", "Gwe.", "Sad."}, daysNarrow: []string{"Su", "L", "Mz", "Mc", "Y", "G", "Sa"}, + daysShort: []string{"Sul", "Lun", "Meu.", "Mer.", "Yaou", "Gwe.", "Sad."}, daysWide: []string{"Sul", "Lun", "Meurzh", "Mercʼher", "Yaou", "Gwener", "Sadorn"}, periodsAbbreviated: []string{"A.M.", "G.M."}, periodsNarrow: []string{"am", "gm"}, @@ -72,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a-raok J.K.", "goude J.K."}, erasNarrow: []string{"a-raok J.K.", "goude J.K."}, erasWide: []string{"a-raok Jezuz-Krist", "goude Jezuz-Krist"}, - timezones: map[string]string{"LHST": "LHST", "AST": "AST", "ChST": "ChST", "AWDT": "eur hañv Aostralia ar Cʼhornôg", "IST": "eur cʼhoañv India", "BT": "eur Bhoutan", "ACWDT": "eur hañv Kreizaostralia ar Cʼhornôg", "GYT": "eur Guyana", "JST": "eur cʼhoañv Japan", "OEZ": "eur cʼhoañv Europa ar Reter", "MESZ": "eur hañv Kreizeuropa", "EDT": "eur hañv ar Reter", "UYT": "eur cʼhoañv Uruguay", "NZDT": "eur hañv Zeland-Nevez", "JDT": "eur hañv Japan", "WEZ": "eur cʼhoañv Europa ar Cʼhornôg", "ARST": "eur hañv Arcʼhantina", "PDT": "PDT", "WAST": "eur hañv Afrika ar Cʼhornôg", "MST": "eur cʼhoañv ar Menezioù", "HAT": "eur hañv Newfoundland", "GFT": "eur Gwiana cʼhall", "OESZ": "eur hañv Europa ar Reter", "ECT": "eur Ecuador", "HAST": "HAST", "EST": "eur cʼhoañv ar Reter", "EAT": "eur Afrika ar Reter", "HADT": "HADT", "AEST": "eur cʼhoañv Aostralia ar Reter", "UYST": "eur hañv Uruguay", "WIB": "eur Indonezia ar Cʼhornôg", "AEDT": "eur hañv Aostralia ar Reter", "AKDT": "eur hañv Alaska", "BOT": "eur Bolivia", "HKT": "eur cʼhoañv Hong Kong", "COT": "eur cʼhoañv Kolombia", "VET": "eur Venezuela", "MEZ": "eur cʼhoañv Kreizeuropa", "TMST": "eur hañv Turkmenistan", "CLT": "eur cʼhoañv Chile", "CST": "CST", "CLST": "eur hañv Chile", "CAT": "eur Kreizafrika", "WESZ": "eur hañv Europa ar Cʼhornôg", "ART": "eur cʼhoañv Arcʼhantina", "ADT": "ADT", "TMT": "eur cʼhoañv Turkmenistan", "MDT": "eur hañv ar Menezioù", "WIT": "eur Indonezia ar Reter", "HNT": "eur cʼhoañv Newfoundland", "GMT": "Amzer keitat Greenwich (AKG)", "LHDT": "LHDT", "AKST": "eur cʼhoañv Alaska", "SAST": "eur cʼhoañv Suafrika", "ACWST": "eur cʼhoañv Kreizaostralia ar Cʼhornôg", "WAT": "eur cʼhoañv Afrika ar Cʼhornôg", "∅∅∅": "eur hañv an Azorez", "MYT": "eur Malaysia", "HKST": "eur hañv Hong Kong", "CDT": "CDT", "CHAST": "eur cʼhoañv Chatham", "ACDT": "eur hañv Kreizaostralia", "WART": "eur cʼhoañv Arcʼhantina ar Cʼhornôg", "PST": "PST", "WITA": "WITA", "WARST": "eur hañv Arcʼhantina ar Cʼhornôg", "ACST": "eur cʼhoañv Kreizaostralia", "COST": "eur hañv Kolombia", "SRT": "eur Surinam", "CHADT": "eur hañv Chatham", "SGT": "eur cʼhoañv Singapour", "NZST": "eur cʼhoañv Zeland-Nevez", "AWST": "eur cʼhoañv Aostralia ar Cʼhornôg"}, + timezones: map[string]string{"HEPMX": "HEPMX", "JST": "eur cʼhoañv Japan", "HEEG": "eur hañv Greunland ar Reter", "SGT": "eur cʼhoañv Singapour", "AKDT": "eur hañv Alaska", "AST": "AST", "ADT": "ADT", "EST": "eur cʼhoañv ar Reter", "MDT": "eur hañv Macau", "HNCU": "eur cʼhoañv Kuba", "AKST": "eur cʼhoañv Alaska", "ARST": "eur hañv Arcʼhantina", "IST": "eur cʼhoañv India", "ACDT": "eur hañv Kreizaostralia", "PST": "PST", "HKT": "eur cʼhoañv Hong Kong", "WITA": "WITA", "WAST": "eur hañv Afrika ar Cʼhornôg", "WART": "eur cʼhoañv Arcʼhantina ar Cʼhornôg", "GMT": "Amzer keitat Greenwich (AKG)", "SRT": "eur Surinam", "HAT": "eur hañv Newfoundland", "TMST": "eur hañv Turkmenistan", "CLST": "eur hañv Chile", "GFT": "eur Gwiana cʼhall", "HAST": "HAST", "PDT": "PDT", "AWST": "eur cʼhoañv Aostralia ar Cʼhornôg", "LHDT": "LHDT", "JDT": "eur hañv Japan", "BOT": "eur Bolivia", "ACST": "eur cʼhoañv Kreizaostralia", "HECU": "eur hañv Kuba", "CDT": "CDT", "HNT": "eur cʼhoañv Newfoundland", "MEZ": "eur cʼhoañv Kreizeuropa", "HNEG": "eur cʼhoañv Greunland ar Reter", "ACWDT": "eur hañv Kreizaostralia ar Cʼhornôg", "AEST": "eur cʼhoañv Aostralia ar Reter", "AWDT": "eur hañv Aostralia ar Cʼhornôg", "HNPM": "eur cʼhoañv Sant-Pêr-ha-Mikelon", "CHADT": "eur hañv Chatham", "WEZ": "eur cʼhoañv Europa ar Cʼhornôg", "WESZ": "eur hañv Europa ar Cʼhornôg", "CLT": "eur cʼhoañv Chile", "OESZ": "eur hañv Europa ar Reter", "∅∅∅": "eur hañv Perou", "CST": "CST", "GYT": "eur Guyana", "HNOG": "eur cʼhoañv Greunland ar Cʼhornôg", "TMT": "eur cʼhoañv Turkmenistan", "ChST": "ChST", "WARST": "eur hañv Arcʼhantina ar Cʼhornôg", "UYT": "eur cʼhoañv Uruguay", "BT": "eur Bhoutan", "NZST": "eur cʼhoañv Zeland-Nevez", "COST": "eur hañv Kolombia", "HNPMX": "HNPMX", "HKST": "eur hañv Hong Kong", "AEDT": "eur hañv Aostralia ar Reter", "HEPM": "eur hañv Sant-Pêr-ha-Mikelon", "WAT": "eur cʼhoañv Afrika ar Cʼhornôg", "HENOMX": "eur hañv Gwalarn Mecʼhiko", "COT": "eur cʼhoañv Kolombia", "HADT": "HADT", "VET": "eur Venezuela", "LHST": "LHST", "ECT": "eur Ecuador", "CAT": "eur Kreizafrika", "HNNOMX": "eur cʼhoañv Gwalarn Mecʼhiko", "MST": "eur cʼhoañv Macau", "MYT": "eur Malaysia", "OEZ": "eur cʼhoañv Europa ar Reter", "ACWST": "eur cʼhoañv Kreizaostralia ar Cʼhornôg", "ART": "eur cʼhoañv Arcʼhantina", "HEOG": "eur hañv Greunland ar Cʼhornôg", "NZDT": "eur hañv Zeland-Nevez", "SAST": "eur cʼhoañv Suafrika", "EAT": "eur Afrika ar Reter", "EDT": "eur hañv ar Reter", "UYST": "eur hañv Uruguay", "CHAST": "eur cʼhoañv Chatham", "MESZ": "eur hañv Kreizeuropa", "WIB": "eur Indonezia ar Cʼhornôg", "WIT": "eur Indonezia ar Reter"}, } } @@ -404,6 +405,28 @@ func (br *br_FR) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +435,17 @@ func (br *br_FR) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +454,17 @@ func (br *br_FR) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +473,19 @@ func (br *br_FR) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, br.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, br.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +494,19 @@ func (br *br_FR) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +515,26 @@ func (br *br_FR) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +543,30 @@ func (br *br_FR) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +575,34 @@ func (br *br_FR) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, br.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, br.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := br.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/brx/brx.go b/brx/brx.go index a0b975df2..eba178a01 100644 --- a/brx/brx.go +++ b/brx/brx.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsNarrow: []string{"", "ज", "फे", "मा", "ए", "मे", "जु", "जु", "आ", "से", "अ", "न", "दि"}, @@ -68,7 +68,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ईसा.पूर्व", "सन"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"OESZ": "ईस्टर्न यूरोप समर टाईम", "HKT": "हाँगकॉंग स्टैंडर्ड टाईम", "HKST": "हाँगकॉंग समर टाईम", "ART": "अर्जनटिना स्टैंडर्ड टाईम", "BOT": "बोलिविया स्टैंडर्ड टाईम", "BT": "भुटान स्टैंडर्ड टाईम", "LHDT": "लार्ड़ होव डेलाईट टाईम", "UYT": "ऊरुगुए स्टैंडर्ड टाईम", "GFT": "फ्रान्सीसी गुयाना स्टैंडर्ड टाईम", "ARST": "अर्जण्टिना समर टाईम", "AKDT": "अलास्का डेलाईट टाईम", "EST": "ईस्टर्न अमरिका स्टैंडर्ड टाईम", "COT": "कोलंबिया स्टैंडर्ड टाईम", "COST": "कोलंबिया समर टाईम", "NZST": "न्युज़ीलैण्ड स्टैंडर्ड टाईम", "HAT": "न्युफाऊंडलैण्ड डेलाईट टाईम", "JST": "जपान स्टैंडर्ड टाईम", "AEST": "पूर्वी ओस्ट्रेलिया स्टैंडर्ड टाईम", "WAST": "पश्चीम अफ्रीका समर टाईम", "MYT": "मलेशिया स्टैंडर्ड टाईम", "MEZ": "मध्य यूरोप स्टैंडर्ड टाईम", "MESZ": "मध्य यूरोप समर टाईम", "PDT": "पैसीफीक डेलाईट टाईम", "CDT": "सैंट्रल अमरिका डेलाईट टाईम", "GMT": "ग्रीनीच स्टैंडर्ड टाईम", "ECT": "एक्वाडौर स्टैंडर्ड टाईम", "AST": "अटलांटीक स्टैंडर्ड टाईम", "HADT": "हवाई आलटन डेलाईट टाईम", "SAST": "दक्षिण अफ्रीका स्टैंडर्ड टाईम", "ADT": "अटलांटीक डेलाईट टाईम", "CAT": "मध्य अफ्रीका स्टैंडर्ड टाईम", "WESZ": "वेस्टर्न यूरोप समर टाईम", "AEDT": "पूर्वी ओस्ट्रेलिया डेलाईट टाईम", "PST": "पैसीफीक स्टैंडर्ड टाईम", "WITA": "ईंडोनीशिया स्टैंडर्ड टाईम", "HNT": "न्युफाऊंडलैण्ड स्टैंडर्ड टाईम", "JDT": "जपान डेलाईट टाईम", "WEZ": "वेस्टर्न यूरोप स्टैंडर्ड टाईम", "VET": "वेनेज़ुएला स्टैंडर्ड टाईम", "WIT": "ईस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "LHST": "लार्ड़ होव स्टैंडर्ड टाईम", "OEZ": "ईस्टर्न यूरोप स्टैंडर्ड टाईम", "CHADT": "चैथम डेलाईट टाईम", "TMT": "तुर्कमेनीस्तान स्टैंडर्ड टाईम", "MST": "माकाऊ स्टैंडर्ड टाईम", "HAST": "हवाई आलटन स्टैंडर्ड टाईम", "WARST": "पश्चीम अर्जण्टिना समर टाईम", "CLT": "चीली स्टैंडर्ड टाईम", "CLST": "चीली समर टाईम", "∅∅∅": "ब्राज़ीलिया समर टाईम", "SGT": "सींगापुर स्टैंडर्ड टाईम", "EAT": "पूर्वी अफ्रीका स्टैंडर्ड टाईम", "ChST": "चामरो स्टैंडर्ड टाईम", "UYST": "ऊरुगुए समर टाईम", "ACWST": "मध्य-पश्चीम ओस्ट्रेलिया स्टैंडर्ड टाईम", "AKST": "अलास्का स्टैंडर्ड टाईम", "EDT": "ईस्टर्न अमरिका डेलाईट टाईम", "TMST": "तुर्कमेनीस्तान समर टाईम", "MDT": "माकाऊ समर टाईम", "NZDT": "न्युज़ीलैण्ड डेलाईट टाईम", "AWDT": "दक्षिण ओस्ट्रेलिया डेलाईट टाईम", "CHAST": "चैथम स्टैंडर्ड टाईम", "WIB": "वेस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "ACWDT": "मध्य-पश्चीम ओस्ट्रेलिया डेलाईट टाईम", "WART": "पश्चीम अर्जण्टिना स्टैंडर्ड टाईम", "SRT": "सुरीनाम स्टैंडर्ड टाईम", "ACST": "मध्य ओस्ट्रेलिया स्टैंडर्ड टाईम", "WAT": "पश्चीम अफ्रीका स्टैंडर्ड टाईम", "IST": "भारतीय स्टैंडर्ड टाईम", "CST": "सैंट्रल अमरिका स्टैंडर्ड टाईम", "GYT": "गुयाना स्टैंडर्ड टाईम", "AWST": "दक्षिण ओस्ट्रेलिया स्टैंडर्ड टाईम", "ACDT": "मध्य ओस्ट्रेलिया डेलाईट टाईम"}, + timezones: map[string]string{"HKT": "हाँगकॉंग स्टैंडर्ड टाईम", "CAT": "मध्य अफ्रीका स्टैंडर्ड टाईम", "GMT": "ग्रीनीच स्टैंडर्ड टाईम", "HECU": "क्युबा डेलाईट टाईम", "MDT": "माकाऊ समर टाईम", "MYT": "मलेशिया स्टैंडर्ड टाईम", "HADT": "हवाई आलटन डेलाईट टाईम", "HEOG": "ग्रीनलैण्ड वेस्टर्न समर टाईम", "WESZ": "वेस्टर्न यूरोप समर टाईम", "LHST": "लार्ड़ होव स्टैंडर्ड टाईम", "TMST": "तुर्कमेनीस्तान समर टाईम", "WART": "पश्चीम अर्जण्टिना स्टैंडर्ड टाईम", "COST": "कोलंबिया समर टाईम", "HNPMX": "HNPMX", "AKDT": "अलास्का डेलाईट टाईम", "VET": "वेनेज़ुएला स्टैंडर्ड टाईम", "HAT": "न्युफाऊंडलैण्ड डेलाईट टाईम", "PST": "पैसीफीक स्टैंडर्ड टाईम", "PDT": "पैसीफीक डेलाईट टाईम", "HEPM": "सेँ पीयॅर एवं मीकलों डेलाईट टाईम", "CHADT": "चैथम डेलाईट टाईम", "MEZ": "मध्य यूरोप स्टैंडर्ड टाईम", "HNNOMX": "HNNOMX", "GYT": "गुयाना स्टैंडर्ड टाईम", "HKST": "हाँगकॉंग समर टाईम", "JST": "जपान स्टैंडर्ड टाईम", "EAT": "पूर्वी अफ्रीका स्टैंडर्ड टाईम", "WARST": "पश्चीम अर्जण्टिना समर टाईम", "EST": "ईस्टर्न अमरिका स्टैंडर्ड टाईम", "EDT": "ईस्टर्न अमरिका डेलाईट टाईम", "HEPMX": "HEPMX", "CDT": "सैंट्रल अमरिका डेलाईट टाईम", "AEST": "पूर्वी ओस्ट्रेलिया स्टैंडर्ड टाईम", "MESZ": "मध्य यूरोप समर टाईम", "ACST": "मध्य ओस्ट्रेलिया स्टैंडर्ड टाईम", "ACDT": "मध्य ओस्ट्रेलिया डेलाईट टाईम", "COT": "कोलंबिया स्टैंडर्ड टाईम", "WEZ": "वेस्टर्न यूरोप स्टैंडर्ड टाईम", "NZDT": "न्युज़ीलैण्ड डेलाईट टाईम", "BOT": "बोलिविया स्टैंडर्ड टाईम", "CST": "सैंट्रल अमरिका स्टैंडर्ड टाईम", "UYT": "ऊरुगुए स्टैंडर्ड टाईम", "ARST": "अर्जण्टिना समर टाईम", "WITA": "ईंडोनीशिया स्टैंडर्ड टाईम", "AEDT": "पूर्वी ओस्ट्रेलिया डेलाईट टाईम", "CLT": "चीली स्टैंडर्ड टाईम", "CLST": "चीली समर टाईम", "BT": "भुटान स्टैंडर्ड टाईम", "ART": "अर्जनटिना स्टैंडर्ड टाईम", "JDT": "जपान डेलाईट टाईम", "HEEG": "ग्रीनलैण्ड ईस्टर्न समर टाईम", "OESZ": "ईस्टर्न यूरोप समर टाईम", "HNCU": "क्युबा स्टैंडर्ड टाईम", "SAST": "दक्षिण अफ्रीका स्टैंडर्ड टाईम", "ECT": "एक्वाडौर स्टैंडर्ड टाईम", "UYST": "ऊरुगुए समर टाईम", "ACWDT": "मध्य-पश्चीम ओस्ट्रेलिया डेलाईट टाईम", "LHDT": "लार्ड़ होव डेलाईट टाईम", "IST": "भारतीय स्टैंडर्ड टाईम", "∅∅∅": "अमाज़ोन समर टाईम", "HENOMX": "HENOMX", "ADT": "अटलांटीक डेलाईट टाईम", "NZST": "न्युज़ीलैण्ड स्टैंडर्ड टाईम", "TMT": "तुर्कमेनीस्तान स्टैंडर्ड टाईम", "MST": "माकाऊ स्टैंडर्ड टाईम", "AKST": "अलास्का स्टैंडर्ड टाईम", "WIT": "ईस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "HNOG": "ग्रीनलैण्ड वेस्टर्न स्टैंडर्ड टाईम", "CHAST": "चैथम स्टैंडर्ड टाईम", "ChST": "चामरो स्टैंडर्ड टाईम", "ACWST": "मध्य-पश्चीम ओस्ट्रेलिया स्टैंडर्ड टाईम", "HNT": "न्युफाऊंडलैण्ड स्टैंडर्ड टाईम", "HNPM": "सेँ पीयॅर एवं मीकलों स्टैंडर्ड टाईम", "HNEG": "ग्रीनलैण्ड ईस्टर्न स्टैंडर्ड टाईम", "OEZ": "ईस्टर्न यूरोप स्टैंडर्ड टाईम", "WAT": "पश्चीम अफ्रीका स्टैंडर्ड टाईम", "SRT": "सुरीनाम स्टैंडर्ड टाईम", "AWDT": "दक्षिण ओस्ट्रेलिया डेलाईट टाईम", "GFT": "फ्रान्सीसी गुयाना स्टैंडर्ड टाईम", "WAST": "पश्चीम अफ्रीका समर टाईम", "WIB": "वेस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "AWST": "दक्षिण ओस्ट्रेलिया स्टैंडर्ड टाईम", "SGT": "सींगापुर स्टैंडर्ड टाईम", "AST": "अटलांटीक स्टैंडर्ड टाईम", "HAST": "हवाई आलटन स्टैंडर्ड टाईम"}, } } @@ -446,7 +446,12 @@ func (brx *brx) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +465,12 @@ func (brx *brx) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +486,12 @@ func (brx *brx) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/brx_IN/brx_IN.go b/brx_IN/brx_IN.go index 1453f68ae..e7119ff20 100644 --- a/brx_IN/brx_IN.go +++ b/brx_IN/brx_IN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsNarrow: []string{"", "ज", "फे", "मा", "ए", "मे", "जु", "जु", "आ", "से", "अ", "न", "दि"}, @@ -68,7 +68,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ईसा.पूर्व", "सन"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"EST": "ईस्टर्न अमरिका स्टैंडर्ड टाईम", "TMST": "तुर्कमेनीस्तान समर टाईम", "CST": "सैंट्रल अमरिका स्टैंडर्ड टाईम", "CDT": "सैंट्रल अमरिका डेलाईट टाईम", "∅∅∅": "आकर समर टाईम", "ECT": "एक्वाडौर स्टैंडर्ड टाईम", "AEDT": "पूर्वी ओस्ट्रेलिया डेलाईट टाईम", "WAST": "पश्चीम अफ्रीका समर टाईम", "NZDT": "न्युज़ीलैण्ड डेलाईट टाईम", "HKT": "हाँगकॉंग स्टैंडर्ड टाईम", "COT": "कोलंबिया स्टैंडर्ड टाईम", "MEZ": "मध्य यूरोप स्टैंडर्ड टाईम", "LHST": "लार्ड़ होव स्टैंडर्ड टाईम", "AWST": "दक्षिण ओस्ट्रेलिया स्टैंडर्ड टाईम", "CHAST": "चैथम स्टैंडर्ड टाईम", "CHADT": "चैथम डेलाईट टाईम", "ADT": "अटलांटीक डेलाईट टाईम", "EAT": "पूर्वी अफ्रीका स्टैंडर्ड टाईम", "SAST": "दक्षिण अफ्रीका स्टैंडर्ड टाईम", "HNT": "न्युफाऊंडलैण्ड स्टैंडर्ड टाईम", "CLST": "चीली समर टाईम", "SRT": "सुरीनाम स्टैंडर्ड टाईम", "WIB": "वेस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "ARST": "अर्जण्टिना समर टाईम", "AST": "अटलांटीक स्टैंडर्ड टाईम", "HAT": "न्युफाऊंडलैण्ड डेलाईट टाईम", "WARST": "पश्चीम अर्जण्टिना समर टाईम", "AKDT": "अलास्का डेलाईट टाईम", "PDT": "पैसीफीक डेलाईट टाईम", "BT": "भुटान स्टैंडर्ड टाईम", "AWDT": "दक्षिण ओस्ट्रेलिया डेलाईट टाईम", "UYT": "ऊरुगुए स्टैंडर्ड टाईम", "OESZ": "ईस्टर्न यूरोप समर टाईम", "WESZ": "वेस्टर्न यूरोप समर टाईम", "AKST": "अलास्का स्टैंडर्ड टाईम", "PST": "पैसीफीक स्टैंडर्ड टाईम", "BOT": "बोलिविया स्टैंडर्ड टाईम", "HKST": "हाँगकॉंग समर टाईम", "GFT": "फ्रान्सीसी गुयाना स्टैंडर्ड टाईम", "ART": "अर्जनटिना स्टैंडर्ड टाईम", "MST": "अमरिका माऊन्टन स्टैंडर्ड टाईम", "SGT": "सींगापुर स्टैंडर्ड टाईम", "TMT": "तुर्कमेनीस्तान स्टैंडर्ड टाईम", "ChST": "चामरो स्टैंडर्ड टाईम", "UYST": "ऊरुगुए समर टाईम", "LHDT": "लार्ड़ होव डेलाईट टाईम", "AEST": "पूर्वी ओस्ट्रेलिया स्टैंडर्ड टाईम", "ACWST": "मध्य-पश्चीम ओस्ट्रेलिया स्टैंडर्ड टाईम", "WITA": "ईंडोनीशिया स्टैंडर्ड टाईम", "GYT": "गुयाना स्टैंडर्ड टाईम", "JST": "जपान स्टैंडर्ड टाईम", "JDT": "जपान डेलाईट टाईम", "VET": "वेनेज़ुएला स्टैंडर्ड टाईम", "MESZ": "मध्य यूरोप समर टाईम", "ACDT": "मध्य ओस्ट्रेलिया डेलाईट टाईम", "CLT": "चीली स्टैंडर्ड टाईम", "COST": "कोलंबिया समर टाईम", "HAST": "हवाई आलटन स्टैंडर्ड टाईम", "HADT": "हवाई आलटन डेलाईट टाईम", "NZST": "न्युज़ीलैण्ड स्टैंडर्ड टाईम", "ACST": "मध्य ओस्ट्रेलिया स्टैंडर्ड टाईम", "EDT": "ईस्टर्न अमरिका डेलाईट टाईम", "MDT": "अमरिका माऊन्टन डेलाईट टाईम", "ACWDT": "मध्य-पश्चीम ओस्ट्रेलिया डेलाईट टाईम", "WIT": "ईस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "CAT": "मध्य अफ्रीका स्टैंडर्ड टाईम", "GMT": "ग्रीनीच स्टैंडर्ड टाईम", "OEZ": "ईस्टर्न यूरोप स्टैंडर्ड टाईम", "WART": "पश्चीम अर्जण्टिना स्टैंडर्ड टाईम", "IST": "भारतीय स्टैंडर्ड टाईम", "MYT": "मलेशिया स्टैंडर्ड टाईम", "WEZ": "वेस्टर्न यूरोप स्टैंडर्ड टाईम", "WAT": "पश्चीम अफ्रीका स्टैंडर्ड टाईम"}, + timezones: map[string]string{"OEZ": "ईस्टर्न यूरोप स्टैंडर्ड टाईम", "HNOG": "ग्रीनलैण्ड वेस्टर्न स्टैंडर्ड टाईम", "IST": "भारतीय स्टैंडर्ड टाईम", "TMST": "तुर्कमेनीस्तान समर टाईम", "∅∅∅": "पेरु समर टाईम", "WIT": "ईस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "PST": "पैसीफीक स्टैंडर्ड टाईम", "ACWST": "मध्य-पश्चीम ओस्ट्रेलिया स्टैंडर्ड टाईम", "NZST": "न्युज़ीलैण्ड स्टैंडर्ड टाईम", "TMT": "तुर्कमेनीस्तान स्टैंडर्ड टाईम", "AKST": "अलास्का स्टैंडर्ड टाईम", "HEPMX": "HEPMX", "MEZ": "मध्य यूरोप स्टैंडर्ड टाईम", "JDT": "जपान डेलाईट टाईम", "COT": "कोलंबिया स्टैंडर्ड टाईम", "MDT": "माकाऊ समर टाईम", "HADT": "हवाई आलटन डेलाईट टाईम", "HKST": "हाँगकॉंग समर टाईम", "HNPM": "सेँ पीयॅर एवं मीकलों स्टैंडर्ड टाईम", "COST": "कोलंबिया समर टाईम", "HNNOMX": "HNNOMX", "HNCU": "क्युबा स्टैंडर्ड टाईम", "UYST": "ऊरुगुए समर टाईम", "AST": "अटलांटीक स्टैंडर्ड टाईम", "HNT": "न्युफाऊंडलैण्ड स्टैंडर्ड टाईम", "HEPM": "सेँ पीयॅर एवं मीकलों डेलाईट टाईम", "MESZ": "मध्य यूरोप समर टाईम", "HNEG": "ग्रीनलैण्ड ईस्टर्न स्टैंडर्ड टाईम", "OESZ": "ईस्टर्न यूरोप समर टाईम", "CST": "सैंट्रल अमरिका स्टैंडर्ड टाईम", "HEOG": "ग्रीनलैण्ड वेस्टर्न समर टाईम", "CLST": "चीली समर टाईम", "SGT": "सींगापुर स्टैंडर्ड टाईम", "UYT": "ऊरुगुए स्टैंडर्ड टाईम", "HAST": "हवाई आलटन स्टैंडर्ड टाईम", "WEZ": "वेस्टर्न यूरोप स्टैंडर्ड टाईम", "ACST": "मध्य ओस्ट्रेलिया स्टैंडर्ड टाईम", "EAT": "पूर्वी अफ्रीका स्टैंडर्ड टाईम", "HNPMX": "HNPMX", "CDT": "सैंट्रल अमरिका डेलाईट टाईम", "WESZ": "वेस्टर्न यूरोप समर टाईम", "CAT": "मध्य अफ्रीका स्टैंडर्ड टाईम", "WAST": "पश्चीम अफ्रीका समर टाईम", "JST": "जपान स्टैंडर्ड टाईम", "GFT": "फ्रान्सीसी गुयाना स्टैंडर्ड टाईम", "VET": "वेनेज़ुएला स्टैंडर्ड टाईम", "MYT": "मलेशिया स्टैंडर्ड टाईम", "AKDT": "अलास्का डेलाईट टाईम", "WIB": "वेस्टर्न ईंडोनीशिया स्टैंडर्ड टाईम", "WITA": "ईंडोनीशिया स्टैंडर्ड टाईम", "HEEG": "ग्रीनलैण्ड ईस्टर्न समर टाईम", "MST": "माकाऊ स्टैंडर्ड टाईम", "CHADT": "चैथम डेलाईट टाईम", "GYT": "गुयाना स्टैंडर्ड टाईम", "HAT": "न्युफाऊंडलैण्ड डेलाईट टाईम", "WARST": "पश्चीम अर्जण्टिना समर टाईम", "EST": "ईस्टर्न अमरिका स्टैंडर्ड टाईम", "ADT": "अटलांटीक डेलाईट टाईम", "BT": "भुटान स्टैंडर्ड टाईम", "AEST": "पूर्वी ओस्ट्रेलिया स्टैंडर्ड टाईम", "AEDT": "पूर्वी ओस्ट्रेलिया डेलाईट टाईम", "ChST": "चामरो स्टैंडर्ड टाईम", "ACDT": "मध्य ओस्ट्रेलिया डेलाईट टाईम", "LHST": "लार्ड़ होव स्टैंडर्ड टाईम", "CHAST": "चैथम स्टैंडर्ड टाईम", "ACWDT": "मध्य-पश्चीम ओस्ट्रेलिया डेलाईट टाईम", "AWST": "दक्षिण ओस्ट्रेलिया स्टैंडर्ड टाईम", "LHDT": "लार्ड़ होव डेलाईट टाईम", "GMT": "ग्रीनीच स्टैंडर्ड टाईम", "HECU": "क्युबा डेलाईट टाईम", "ART": "अर्जनटिना स्टैंडर्ड टाईम", "AWDT": "दक्षिण ओस्ट्रेलिया डेलाईट टाईम", "NZDT": "न्युज़ीलैण्ड डेलाईट टाईम", "CLT": "चीली स्टैंडर्ड टाईम", "WART": "पश्चीम अर्जण्टिना स्टैंडर्ड टाईम", "EDT": "ईस्टर्न अमरिका डेलाईट टाईम", "HENOMX": "HENOMX", "PDT": "पैसीफीक डेलाईट टाईम", "ARST": "अर्जण्टिना समर टाईम", "BOT": "बोलिविया स्टैंडर्ड टाईम", "WAT": "पश्चीम अफ्रीका स्टैंडर्ड टाईम", "HKT": "हाँगकॉंग स्टैंडर्ड टाईम", "SAST": "दक्षिण अफ्रीका स्टैंडर्ड टाईम", "ECT": "एक्वाडौर स्टैंडर्ड टाईम", "SRT": "सुरीनाम स्टैंडर्ड टाईम"}, } } @@ -446,7 +446,12 @@ func (brx *brx_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +465,12 @@ func (brx *brx_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +486,12 @@ func (brx *brx_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/bs/bs.go b/bs/bs.go index 08d0b277b..0c75b36a6 100644 --- a/bs/bs.go +++ b/bs/bs.go @@ -18,6 +18,7 @@ type bs struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,23 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "kn", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "din.", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "kn", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "din.", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, + monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, - monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "august", "septembar", "oktobar", "novembar", "decembar"}, + monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar"}, daysAbbreviated: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysNarrow: []string{"N", "P", "U", "S", "Č", "P", "S"}, daysShort: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysWide: []string{"nedjelja", "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, periodsAbbreviated: []string{"prijepodne", "popodne"}, periodsNarrow: []string{"prijepodne", "popodne"}, - periodsWide: []string{"prije podne", "popodne"}, + periodsWide: []string{"prijepodne", "popodne"}, erasAbbreviated: []string{"p. n. e.", "n. e."}, erasNarrow: []string{"pr.n.e.", "AD"}, - erasWide: []string{"Prije nove ere", "Nove ere"}, - timezones: map[string]string{"NZDT": "Novozelandsko ljetno računanje vremena", "CAT": "Centralnoafričko vrijeme", "AWST": "Standardno zapadnoaustralijsko vrijeme", "LHDT": "Ljetno računanje vremena na Ostrvu Lord Hau", "OEZ": "Standardno istočnoevropsko vrijeme", "AKDT": "Aljaskansko ljetno računanje vremena", "PDT": "Ljetno računanje pacifičkog vremena (SAD)", "BT": "Butansko vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "JDT": "Japansko ljetno računanje vremena", "CHADT": "Čatamsko ljetno računanje vremena", "ACWST": "Standardno australijsko centralno zapadno vrijeme", "ChST": "Standardno čamorsko vrijeme", "ACDT": "Centralnoaustralijsko ljetno računanje vremena", "AWDT": "Zapadnoaustralijsko ljetno računanje vremena", "OESZ": "Istočnoevropsko ljetno računanje vremena", "JST": "Standardno japansko vrijeme", "WEZ": "Standardno zapadnoevropsko vrijeme", "VET": "Venecuelansko vrijeme", "CDT": "Ljetno računanje centralnog vremena (SAD)", "NZST": "Standardno novozelandsko vrijeme", "CST": "Standardno centralno vrijeme (SAD)", "HADT": "Havajsko-aleućansko ljetno rečunanje vremena", "TMST": "Turkmenistansko ljetno računanje vremena", "HNT": "Standardno njufaundlendsko vrijeme", "UYST": "Urugvajsko ljetno računanje vremena", "SRT": "Surinamsko vrijeme", "HKST": "Hongkonško ljetno računanje vremena", "MESZ": "Centralnoevropsko ljetno računanje vremena", "PST": "Standardno pacifičko vrijeme (SAD)", "CLT": "Standardno čileansko vrijeme", "∅∅∅": "Azorsko ljetno računanje vremena", "UYT": "Standardno urugvajsko vrijeme", "CHAST": "Standardno čatamsko vrijeme", "WART": "Standardno zapadnoargentinsko vrijeme", "EAT": "Istočnoafričko vrijeme", "IST": "Standardno indijsko vrijeme", "MYT": "Malezijsko vrijeme", "EST": "Standardno istočno vrijeme (SAD)", "EDT": "Ljetno računanje istočnog vremena (SAD)", "WAT": "Standardno zapadnoafričko vrijeme", "ACST": "Standardno centralnoaustralijsko vrijeme", "SGT": "Standardno singapursko vrijeme", "ACWDT": "Australijsko centralno zapadno ljetno računanje vremena", "GYT": "Gvajansko vrijeme", "AKST": "Standardno aljaskansko vrijeme", "HAT": "Njufaundlendsko ljetno računanje vremena", "GMT": "Vrijeme po Grinviču", "GFT": "Vrijeme Francuske Gvajane", "WESZ": "Zapadnoevropsko ljetno računanje vremena", "COT": "Standardno kolumbijsko vrijeme", "WARST": "Zapadnoargentinsko ljetno računanje vremena", "HAST": "Standardno havajsko-aleućansko vrijeme", "AEST": "Standardno istočnoaustralijsko vrijeme", "CLST": "Čileansko ljetno računanje vremena", "WAST": "Zapadnoafričko ljetno računanje vremena", "TMT": "Standardno turkmenistansko vrijeme", "MST": "Standardno planinsko vrijeme (SAD)", "WIT": "Istočnoindonezijsko vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "COST": "Kolumbijsko ljetno računanje vremena", "ART": "Standardno argentinsko vrijeme", "ADT": "Ljetno računanje atlantskog vremena", "WITA": "Centralnoindonezijsko vrijeme", "MDT": "Ljetno računanje planinskog vremena (SAD)", "BOT": "Bolivijsko vrijeme", "HKT": "Standardno hongkonško vrijeme", "MEZ": "Standardno centralnoevropsko vrijeme", "AST": "Standardno atlantsko vrijeme", "SAST": "Standardno južnoafričko vrijeme", "ECT": "Ekvadorsko vrijeme", "AEDT": "Istočnoaustralijsko ljetno računanje vremena", "ARST": "Argentinsko ljetno računanje vremena"}, + erasWide: []string{"prije nove ere", "nove ere"}, + timezones: map[string]string{"GYT": "Gvajansko vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "OESZ": "Istočnoevropsko ljetno vrijeme", "MST": "Makao standardno vreme", "HNPMX": "Meksičko pacifičko standardno vrijeme", "AST": "Sjevernoameričko atlantsko standardno vrijeme", "BOT": "Bolivijsko vrijeme", "OEZ": "Istočnoevropsko standardno vrijeme", "AWDT": "Zapadnoaustralijsko ljetno vrijeme", "CLT": "Čileansko standardno vrijeme", "TMST": "Turkmenistansko ljetno vrijeme", "ChST": "Čamorsko standardno vrijeme", "ACDT": "Centralnoaustralijsko ljetno vrijeme", "HNPM": "Standardno vrijeme na Ostrvima Sen Pjer i Mikelon", "MEZ": "Centralnoevropsko standardno vrijeme", "MESZ": "Centralnoevropsko ljetno vrijeme", "SAST": "Južnoafričko standardno vrijeme", "ADT": "Sjevernoameričko atlantsko ljetno vrijeme", "WEZ": "Zapadnoevropsko standardno vrijeme", "ARST": "Argentinsko ljetno vrijeme", "WAST": "Zapadnoafričko ljetno vrijeme", "CAT": "Centralnoafričko vrijeme", "HNNOMX": "Sjeverozapadno meksičko standardno vrijeme", "HENOMX": "Sjeverozapadno meksičko ljetno vrijeme", "GMT": "Griničko vrijeme", "LHDT": "Ljetno vrijeme na Ostrvu Lord Hau", "MYT": "Malezijsko vrijeme", "AEDT": "Istočnoaustralijsko ljetno vrijeme", "CDT": "Sjevernoameričko centralno ljetno vrijeme", "WESZ": "Zapadnoevropsko ljetno vrijeme", "PST": "Sjevernoameričko pacifičko standardno vrijeme", "PDT": "Sjevernoameričko pacifičko ljetno vrijeme", "AWST": "Zapadnoaustralijsko standardno vrijeme", "HKST": "Hongkonško ljetno vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "IST": "Indijsko standardno vrijeme", "WAT": "Zapadnoafričko standardno vrijeme", "HADT": "Havajsko-aleućansko ljetno vrijeme", "AKST": "Aljaskansko standardno vrijeme", "CST": "Sjevernoameričko centralno standardno vrijeme", "HAST": "Havajsko-aleućansko standardno vrijeme", "ACWDT": "Australijsko centralnozapadno ljetno vrijeme", "CHAST": "Čatamsko standardno vrijeme", "∅∅∅": "Amazonsko ljetno vrijeme", "COT": "Kolumbijsko standardno vrijeme", "WART": "Zapadnoargentinsko standardno vrijeme", "HKT": "Hongkonško standardno vrijeme", "HNEG": "Istočnogrenlandsko standardno vrijeme", "GFT": "Francuskogvajansko vrijeme", "TMT": "Turkmenistansko standardno vrijeme", "AKDT": "Aljaskansko ljetno vrijeme", "ACST": "Centralnoaustralijsko standardno vrijeme", "VET": "Venecuelansko vrijeme", "ACWST": "Australijsko centralnozapadno standardno vrijeme", "ART": "Argentinsko standardno vrijeme", "NZDT": "Novozelandsko ljetno vrijeme", "JST": "Japansko standardno vrijeme", "JDT": "Japansko ljetno vrijeme", "HEEG": "Istočnogrenlandsko ljetno vrijeme", "HNOG": "Zapadnogrenlandsko standardno vrijeme", "WITA": "Centralnoindonezijsko vrijeme", "HEPM": "Ljetno vrijeme na Ostrvima Sen Pjer i Mikelon", "COST": "Kolumbijsko ljetno vrijeme", "AEST": "Istočnoaustralijsko standardno vrijeme", "SGT": "Singapursko standardno vrijeme", "EDT": "Sjevernoameričko istočno ljetno vrijeme", "WIT": "Istočnoindonezijsko vrijeme", "BT": "Butansko vrijeme", "CHADT": "Čatamsko ljetno vrijeme", "EAT": "Istočnoafričko vrijeme", "HNCU": "Kubansko standardno vrijeme", "UYST": "Urugvajsko ljetno vrijeme", "HEOG": "Zapadnogrenlandsko ljetno vrijeme", "CLST": "Čileansko ljetno vrijeme", "ECT": "Ekvadorsko vrijeme", "HEPMX": "Meksičko pacifičko ljetno vrijeme", "EST": "Sjevernoameričko istočno standardno vrijeme", "WARST": "Zapadnoargentinsko ljetno vrijeme", "HAT": "Njufaundlendsko ljetno vrijeme", "SRT": "Surinamsko vrijeme", "HNT": "Njufaundlendsko standardno vrijeme", "NZST": "Novozelandsko standardno vrijeme", "HECU": "Kubansko ljetno vrijeme", "MDT": "Makao letnje računanje vremena", "UYT": "Urugvajsko standardno vrijeme"}, } } @@ -101,8 +103,8 @@ func (bs *bs) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) f := locales.F(n, v) - iMod100 := i % 100 iMod10 := i % 10 + iMod100 := i % 100 fMod10 := f % 10 fMod100 := f % 100 @@ -263,7 +265,7 @@ func (bs *bs) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bs *bs) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -285,6 +287,8 @@ func (bs *bs) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, bs.percentSuffix...) + b = append(b, bs.percent...) return string(b) @@ -417,19 +421,9 @@ func (bs *bs) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -448,15 +442,17 @@ func (bs *bs) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -467,15 +463,17 @@ func (bs *bs) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -488,16 +486,17 @@ func (bs *bs) FmtDateFull(t time.Time) string { b = append(b, bs.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/bs_Cyrl/bs_Cyrl.go b/bs_Cyrl/bs_Cyrl.go index aba7c7a2e..80819695f 100644 --- a/bs_Cyrl/bs_Cyrl.go +++ b/bs_Cyrl/bs_Cyrl.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "КМ", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "Кч", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "зл", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "дин.", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "Тл", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "КМ", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "Кч", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "зл", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "дин.", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "Тл", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"Пре нове ере", "Нове ере"}, - timezones: map[string]string{"TMT": "Туркменистан стандардно време", "NZST": "Нови Зеланд стандардно време", "HKT": "Хонг Конг стандардно време", "WEZ": "Западноевропско стандардно време", "ECT": "Еквадор време", "ACST": "Аустралијско централно стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "BT": "Бутан време", "UYT": "Уругвај стандардно време", "UYST": "Уругвај летње рачунање времена", "LHDT": "Лорд Хов летње рачунање времена", "VET": "Венецуела време", "∅∅∅": "Бразилија летње рачунање времена", "WART": "Западна Аргентина стандардно време", "PDT": "Пацифичко летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "GYT": "Гвајана време", "JDT": "Јапанско летње рачунање времена", "WIB": "Западно-индонезијско време", "AKDT": "Аљашко летње време", "EST": "Источно стандардно време", "COST": "Колумбија летње рачунање времена", "AST": "Атланско стандардно време", "MST": "Планинско стандардно време", "WAST": "Западно-афричко летње рачунање времена", "EDT": "Источно летње рачунање времена", "JST": "Јапанско стандардно време", "OEZ": "Источноевропско стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "PST": "Пацифичко стандардно време", "HKST": "Хонгконшко летње рачунање времена", "CHAST": "Чатам стандардно време", "CHADT": "Чатам летње рачунање времена", "COT": "Колумбија стандардно време", "CAT": "Централно-афричко време", "ADT": "Атланско лтње рачунање времена", "EAT": "Источно-афричко време", "GFT": "Француска Гвајана време", "AEDT": "Аустралијско источно летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "IST": "Индијско стандардно време", "SRT": "Суринам време", "WITA": "Централно-индонезијско време", "MDT": "Планинско летње рачунање времена", "BOT": "Боливија време", "GMT": "Гринвич средње време", "HAST": "Хавајско-алеутско стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "ChST": "Чаморо време", "HNT": "Њуфаундленд стандардно време", "CDT": "Централно летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "SGT": "Сингапур стандардно време", "ARST": "Аргентина летње рачунање времена", "AKST": "Аљашко стандардно време", "CST": "Централно стандардно време", "CLT": "Чиле стандардно време", "WESZ": "Западноевропско летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "WAT": "Западно-афричко стандардно време", "AWST": "Аустралијско западно стандардно време", "ART": "Аргентина стандардно време", "SAST": "Јужно-афричко време", "AWDT": "Аустралијско западно летње рачунање времена", "WIT": "Источно-индонезијско време", "LHST": "Лорд Хов стандардно време", "OESZ": "Источноевропско летње рачунање времена", "MYT": "Малезија време", "CLST": "Чиле летње рачунање времена"}, + timezones: map[string]string{"ACWDT": "Аустралијско централно западно летње рачунање времена", "LHST": "Лорд Хов стандардно време", "WART": "Западна Аргентина стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "∅∅∅": "Азори летње рачунање времена", "HADT": "Хавајско-алеутско летње рачунање времена", "SRT": "Суринам време", "HNOG": "Западни Гренланд стандардно време", "HNPM": "Сен Пјер и Микелон стандардно време", "MST": "Макао стандардно време", "HAST": "Хавајско-алеутско стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "WAT": "Западно-афричко стандардно време", "HNNOMX": "Sjeverozapadno meksičko standardno vrijeme", "CST": "Централно стандардно време", "HKST": "Хонгконшко летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "NZST": "Нови Зеланд стандардно време", "SAST": "Јужно-афричко време", "AKDT": "Аљашко летње време", "CHADT": "Чатам летње рачунање времена", "ChST": "Чаморо време", "BT": "Бутан време", "MDT": "Макао летње рачунање вемена", "CHAST": "Чатам стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "HNCU": "Куба стандардно време", "PDT": "Пацифичко летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "HEPMX": "Meksičko pacifičko ljetno vrijeme", "WEZ": "Западноевропско стандардно време", "CLST": "Чиле летње рачунање времена", "HENOMX": "Sjeverozapadno meksičko ljetno vrijeme", "WIT": "Источно-индонезијско време", "GYT": "Гвајана време", "CLT": "Чиле стандардно време", "GMT": "Гринвич средње време", "HNPMX": "Meksičko pacifičko standardno vrijeme", "ADT": "Атланско лтње рачунање времена", "VET": "Венецуела време", "NZDT": "Нови Зеланд летње рачунање времена", "JST": "Јапанско стандардно време", "SGT": "Сингапур стандардно време", "UYST": "Уругвај летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "AWST": "Аустралијско западно стандардно време", "HKT": "Хонг Конг стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање вемена", "JDT": "Јапанско летње рачунање времена", "TMT": "Туркменистан стандардно време", "UYT": "Уругвај стандардно време", "WAST": "Западно-афричко летње рачунање времена", "EDT": "Источно летње рачунање времена", "CDT": "Централно летње рачунање времена", "MYT": "Малезија време", "WIB": "Западно-индонезијско време", "PST": "Пацифичко стандардно време", "WITA": "Централно-индонезијско време", "BOT": "Боливија време", "EST": "Источно стандардно време", "HNT": "Њуфаундленд стандардно време", "ART": "Аргентина стандардно време", "ARST": "Аргентина летње рачунање времена", "HEOG": "Западни Гренланд летње рачунање времена", "WESZ": "Западноевропско летње рачунање времена", "GFT": "Француска Гвајана време", "COT": "Колумбија стандардно време", "HECU": "Куба летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена", "LHDT": "Лорд Хов летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "OEZ": "Источноевропско стандардно време", "EAT": "Источно-афричко време", "AST": "Атланско стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "ACST": "Аустралијско централно стандардно време", "CAT": "Централно-афричко време", "AKST": "Аљашко стандардно време", "IST": "Индијско стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "ECT": "Еквадор време", "COST": "Колумбија летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена"}, } } @@ -452,7 +452,13 @@ func (bs *bs_Cyrl) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -471,7 +477,13 @@ func (bs *bs_Cyrl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -493,7 +505,13 @@ func (bs *bs_Cyrl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/bs_Cyrl_BA/bs_Cyrl_BA.go b/bs_Cyrl_BA/bs_Cyrl_BA.go index 49a080dd0..6db31c209 100644 --- a/bs_Cyrl_BA/bs_Cyrl_BA.go +++ b/bs_Cyrl_BA/bs_Cyrl_BA.go @@ -18,6 +18,7 @@ type bs_Cyrl_BA struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,23 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, + monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, - monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "august", "septembar", "oktobar", "novembar", "decembar"}, + monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar"}, daysAbbreviated: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysNarrow: []string{"N", "P", "U", "S", "Č", "P", "S"}, daysShort: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysWide: []string{"nedjelja", "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, periodsAbbreviated: []string{"prijepodne", "popodne"}, periodsNarrow: []string{"prijepodne", "popodne"}, - periodsWide: []string{"prije podne", "popodne"}, + periodsWide: []string{"prijepodne", "popodne"}, erasAbbreviated: []string{"p. n. e.", "n. e."}, erasNarrow: []string{"pr.n.e.", "AD"}, - erasWide: []string{"Prije nove ere", "Nove ere"}, - timezones: map[string]string{"GMT": "Vrijeme po Grinviču", "OESZ": "Istočnoevropsko ljetno računanje vremena", "ART": "Standardno argentinsko vrijeme", "ChST": "Standardno čamorsko vrijeme", "BOT": "Bolivijsko vrijeme", "TMT": "Standardno turkmenistansko vrijeme", "CLST": "Čileansko ljetno računanje vremena", "HAT": "Njufaundlendsko ljetno računanje vremena", "JDT": "Japansko ljetno računanje vremena", "CHADT": "Čatamsko ljetno računanje vremena", "CDT": "Ljetno računanje centralnog vremena (SAD)", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "CHAST": "Standardno čatamsko vrijeme", "SAST": "Standardno južnoafričko vrijeme", "UYT": "Standardno urugvajsko vrijeme", "EST": "Standardno istočno vrijeme (SAD)", "WITA": "Centralnoindonezijsko vrijeme", "NZST": "Standardno novozelandsko vrijeme", "CAT": "Centralnoafričko vrijeme", "EAT": "Istočnoafričko vrijeme", "CLT": "Standardno čileansko vrijeme", "JST": "Standardno japansko vrijeme", "GFT": "Vrijeme Francuske Gvajane", "SRT": "Surinamsko vrijeme", "SGT": "Standardno singapursko vrijeme", "WART": "Standardno zapadnoargentinsko vrijeme", "OEZ": "Standardno istočnoevropsko vrijeme", "ADT": "Ljetno računanje atlantskog vremena", "GYT": "Gvajansko vrijeme", "AWST": "Standardno zapadnoaustralijsko vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "ACST": "Standardno centralnoaustralijsko vrijeme", "COT": "Standardno kolumbijsko vrijeme", "TMST": "Turkmenistansko ljetno računanje vremena", "WESZ": "Zapadnoevropsko ljetno računanje vremena", "AEDT": "Istočnoaustralijsko ljetno računanje vremena", "NZDT": "Novozelandsko ljetno računanje vremena", "BT": "Butansko vrijeme", "ARST": "Argentinsko ljetno računanje vremena", "IST": "Standardno indijsko vrijeme", "MDT": "Ljetno računanje planinskog vremena (SAD)", "UYST": "Urugvajsko ljetno računanje vremena", "∅∅∅": "Acre letnje računanje vremena", "WEZ": "Standardno zapadnoevropsko vrijeme", "HAST": "Standardno havajsko-aleućansko vrijeme", "ACWDT": "Australijsko centralno zapadno ljetno računanje vremena", "WIT": "Istočnoindonezijsko vrijeme", "HKT": "Standardno hongkonško vrijeme", "COST": "Kolumbijsko ljetno računanje vremena", "EDT": "Ljetno računanje istočnog vremena (SAD)", "WAT": "Standardno zapadnoafričko vrijeme", "AEST": "Standardno istočnoaustralijsko vrijeme", "PST": "Standardno pacifičko vrijeme (SAD)", "AWDT": "Zapadnoaustralijsko ljetno računanje vremena", "VET": "Venecuelansko vrijeme", "MESZ": "Centralnoevropsko ljetno računanje vremena", "HADT": "Havajsko-aleućansko ljetno rečunanje vremena", "ACWST": "Standardno australijsko centralno zapadno vrijeme", "HNT": "Standardno njufaundlendsko vrijeme", "LHDT": "Ljetno računanje vremena na Ostrvu Lord Hau", "HKST": "Hongkonško ljetno računanje vremena", "ECT": "Ekvadorsko vrijeme", "AKST": "Standardno aljaskansko vrijeme", "MYT": "Malezijsko vrijeme", "MEZ": "Standardno centralnoevropsko vrijeme", "PDT": "Ljetno računanje pacifičkog vremena (SAD)", "CST": "Standardno centralno vrijeme (SAD)", "MST": "Standardno planinsko vrijeme (SAD)", "WAST": "Zapadnoafričko ljetno računanje vremena", "ACDT": "Centralnoaustralijsko ljetno računanje vremena", "WARST": "Zapadnoargentinsko ljetno računanje vremena", "AKDT": "Aljaskansko ljetno računanje vremena", "AST": "Standardno atlantsko vrijeme"}, + erasWide: []string{"prije nove ere", "nove ere"}, + timezones: map[string]string{"WEZ": "Zapadnoevropsko standardno vrijeme", "ARST": "Argentinsko ljetno vrijeme", "HEPMX": "Meksičko pacifičko ljetno vrijeme", "WIT": "Istočnoindonezijsko vrijeme", "AWST": "Zapadnoaustralijsko standardno vrijeme", "OESZ": "Istočnoevropsko ljetno vrijeme", "VET": "Venecuelansko vrijeme", "MDT": "Makao letnje računanje vremena", "ADT": "Sjevernoameričko atlantsko ljetno vrijeme", "GYT": "Gvajansko vrijeme", "HKST": "Hongkonško ljetno vrijeme", "NZDT": "Novozelandsko ljetno vrijeme", "SAST": "Južnoafričko standardno vrijeme", "OEZ": "Istočnoevropsko standardno vrijeme", "HECU": "Kubansko ljetno vrijeme", "MYT": "Malezijsko vrijeme", "BT": "Butansko vrijeme", "PST": "Sjevernoameričko pacifičko standardno vrijeme", "PDT": "Sjevernoameričko pacifičko ljetno vrijeme", "MESZ": "Centralnoevropsko ljetno vrijeme", "LHDT": "Ljetno vrijeme na Ostrvu Lord Hau", "BOT": "Bolivijsko vrijeme", "HNCU": "Kubansko standardno vrijeme", "HEEG": "Istočnogrenlandsko ljetno vrijeme", "WAT": "Zapadnoafričko standardno vrijeme", "WARST": "Zapadnoargentinsko ljetno vrijeme", "HNEG": "Istočnogrenlandsko standardno vrijeme", "AKST": "Aljaskansko standardno vrijeme", "HNOG": "Zapadnogrenlandsko standardno vrijeme", "HEPM": "Ljetno vrijeme na Ostrvima Sen Pjer i Mikelon", "MST": "Makao standardno vreme", "ChST": "Čamorsko standardno vrijeme", "ACWST": "Australijsko centralnozapadno standardno vrijeme", "ACWDT": "Australijsko centralnozapadno ljetno vrijeme", "JST": "Japansko standardno vrijeme", "ECT": "Ekvadorsko vrijeme", "HNNOMX": "Sjeverozapadno meksičko standardno vrijeme", "HAST": "Havajsko-aleućansko standardno vrijeme", "ART": "Argentinsko standardno vrijeme", "CHAST": "Čatamsko standardno vrijeme", "GFT": "Francuskogvajansko vrijeme", "COT": "Kolumbijsko standardno vrijeme", "UYST": "Urugvajsko ljetno vrijeme", "WESZ": "Zapadnoevropsko ljetno vrijeme", "AEDT": "Istočnoaustralijsko ljetno vrijeme", "AWDT": "Zapadnoaustralijsko ljetno vrijeme", "WITA": "Centralnoindonezijsko vrijeme", "HNPM": "Standardno vrijeme na Ostrvima Sen Pjer i Mikelon", "EAT": "Istočnoafričko vrijeme", "WART": "Zapadnoargentinsko standardno vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "CLST": "Čileansko ljetno vrijeme", "TMT": "Turkmenistansko standardno vrijeme", "CAT": "Centralnoafričko vrijeme", "GMT": "Griničko vrijeme", "JDT": "Japansko ljetno vrijeme", "HENOMX": "Sjeverozapadno meksičko ljetno vrijeme", "HEOG": "Zapadnogrenlandsko ljetno vrijeme", "EST": "Sjevernoameričko istočno standardno vrijeme", "IST": "Indijsko standardno vrijeme", "ACST": "Centralnoaustralijsko standardno vrijeme", "COST": "Kolumbijsko ljetno vrijeme", "∅∅∅": "Azorsko ljetno vrijeme", "AST": "Sjevernoameričko atlantsko standardno vrijeme", "HADT": "Havajsko-aleućansko ljetno vrijeme", "AEST": "Istočnoaustralijsko standardno vrijeme", "CHADT": "Čatamsko ljetno vrijeme", "TMST": "Turkmenistansko ljetno vrijeme", "CST": "Sjevernoameričko centralno standardno vrijeme", "HAT": "Njufaundlendsko ljetno vrijeme", "HKT": "Hongkonško standardno vrijeme", "NZST": "Novozelandsko standardno vrijeme", "CLT": "Čileansko standardno vrijeme", "UYT": "Urugvajsko standardno vrijeme", "ACDT": "Centralnoaustralijsko ljetno vrijeme", "WAST": "Zapadnoafričko ljetno vrijeme", "AKDT": "Aljaskansko ljetno vrijeme", "EDT": "Sjevernoameričko istočno ljetno vrijeme", "HNPMX": "Meksičko pacifičko standardno vrijeme", "CDT": "Sjevernoameričko centralno ljetno vrijeme", "SRT": "Surinamsko vrijeme", "HNT": "Njufaundlendsko standardno vrijeme", "MEZ": "Centralnoevropsko standardno vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "SGT": "Singapursko standardno vrijeme"}, } } @@ -263,7 +265,7 @@ func (bs *bs_Cyrl_BA) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bs *bs_Cyrl_BA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -285,6 +287,8 @@ func (bs *bs_Cyrl_BA) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, bs.percentSuffix...) + b = append(b, bs.percent...) return string(b) @@ -417,19 +421,9 @@ func (bs *bs_Cyrl_BA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -448,15 +442,17 @@ func (bs *bs_Cyrl_BA) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -467,15 +463,17 @@ func (bs *bs_Cyrl_BA) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -488,16 +486,17 @@ func (bs *bs_Cyrl_BA) FmtDateFull(t time.Time) string { b = append(b, bs.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/bs_Latn/bs_Latn.go b/bs_Latn/bs_Latn.go index 455434d92..d60df144a 100644 --- a/bs_Latn/bs_Latn.go +++ b/bs_Latn/bs_Latn.go @@ -18,6 +18,7 @@ type bs_Latn struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,23 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, + monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, - monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "august", "septembar", "oktobar", "novembar", "decembar"}, + monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar"}, daysAbbreviated: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysNarrow: []string{"N", "P", "U", "S", "Č", "P", "S"}, daysShort: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysWide: []string{"nedjelja", "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, periodsAbbreviated: []string{"prijepodne", "popodne"}, periodsNarrow: []string{"prijepodne", "popodne"}, - periodsWide: []string{"prije podne", "popodne"}, + periodsWide: []string{"prijepodne", "popodne"}, erasAbbreviated: []string{"p. n. e.", "n. e."}, erasNarrow: []string{"pr.n.e.", "AD"}, - erasWide: []string{"Prije nove ere", "Nove ere"}, - timezones: map[string]string{"HKST": "Hongkonško ljetno računanje vremena", "ART": "Standardno argentinsko vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "LHDT": "Ljetno računanje vremena na Ostrvu Lord Hau", "AEDT": "Istočnoaustralijsko ljetno računanje vremena", "NZDT": "Novozelandsko ljetno računanje vremena", "WIT": "Istočnoindonezijsko vrijeme", "JDT": "Japansko ljetno računanje vremena", "ADT": "Ljetno računanje atlantskog vremena", "EAT": "Istočnoafričko vrijeme", "WAT": "Standardno zapadnoafričko vrijeme", "WITA": "Centralnoindonezijsko vrijeme", "TMT": "Standardno turkmenistansko vrijeme", "CLT": "Standardno čileansko vrijeme", "BT": "Butansko vrijeme", "UYST": "Urugvajsko ljetno računanje vremena", "AKST": "Standardno aljaskansko vrijeme", "WAST": "Zapadnoafričko ljetno računanje vremena", "CLST": "Čileansko ljetno računanje vremena", "ECT": "Ekvadorsko vrijeme", "SGT": "Standardno singapursko vrijeme", "UYT": "Standardno urugvajsko vrijeme", "EDT": "Ljetno računanje istočnog vremena (SAD)", "GYT": "Gvajansko vrijeme", "MESZ": "Centralnoevropsko ljetno računanje vremena", "ACDT": "Centralnoaustralijsko ljetno računanje vremena", "WART": "Standardno zapadnoargentinsko vrijeme", "COT": "Standardno kolumbijsko vrijeme", "MEZ": "Standardno centralnoevropsko vrijeme", "ACWST": "Standardno australijsko centralno zapadno vrijeme", "AST": "Standardno atlantsko vrijeme", "AWDT": "Zapadnoaustralijsko ljetno računanje vremena", "OESZ": "Istočnoevropsko ljetno računanje vremena", "WEZ": "Standardno zapadnoevropsko vrijeme", "HKT": "Standardno hongkonško vrijeme", "MST": "Makao standardno vreme", "NZST": "Standardno novozelandsko vrijeme", "HNT": "Standardno njufaundlendsko vrijeme", "∅∅∅": "Brazilijsko ljetno računanje vremena", "ACWDT": "Australijsko centralno zapadno ljetno računanje vremena", "AKDT": "Aljaskansko ljetno računanje vremena", "ChST": "Standardno čamorsko vrijeme", "PDT": "Ljetno računanje pacifičkog vremena (SAD)", "CAT": "Centralnoafričko vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "WARST": "Zapadnoargentinsko ljetno računanje vremena", "PST": "Standardno pacifičko vrijeme (SAD)", "CST": "Standardno centralno vrijeme (SAD)", "GMT": "Vrijeme po Grinviču", "HAST": "Standardno havajsko-aleućansko vrijeme", "AEST": "Standardno istočnoaustralijsko vrijeme", "GFT": "Vrijeme Francuske Gvajane", "SRT": "Surinamsko vrijeme", "COST": "Kolumbijsko ljetno računanje vremena", "VET": "Venecuelansko vrijeme", "ARST": "Argentinsko ljetno računanje vremena", "BOT": "Bolivijsko vrijeme", "AWST": "Standardno zapadnoaustralijsko vrijeme", "JST": "Standardno japansko vrijeme", "EST": "Standardno istočno vrijeme (SAD)", "OEZ": "Standardno istočnoevropsko vrijeme", "SAST": "Standardno južnoafričko vrijeme", "TMST": "Turkmenistansko ljetno računanje vremena", "HAT": "Njufaundlendsko ljetno računanje vremena", "CHAST": "Standardno čatamsko vrijeme", "CHADT": "Čatamsko ljetno računanje vremena", "IST": "Standardno indijsko vrijeme", "WESZ": "Zapadnoevropsko ljetno računanje vremena", "ACST": "Standardno centralnoaustralijsko vrijeme", "HADT": "Havajsko-aleućansko ljetno rečunanje vremena", "MDT": "Makao letnje računanje vremena", "MYT": "Malezijsko vrijeme", "CDT": "Ljetno računanje centralnog vremena (SAD)"}, + erasWide: []string{"prije nove ere", "nove ere"}, + timezones: map[string]string{"VET": "Venecuelansko vrijeme", "HAT": "Njufaundlendsko ljetno vrijeme", "ADT": "Sjevernoameričko atlantsko ljetno vrijeme", "HNT": "Njufaundlendsko standardno vrijeme", "NZST": "Novozelandsko standardno vrijeme", "TMT": "Turkmenistansko standardno vrijeme", "OEZ": "Istočnoevropsko standardno vrijeme", "COST": "Kolumbijsko ljetno vrijeme", "WESZ": "Zapadnoevropsko ljetno vrijeme", "WEZ": "Zapadnoevropsko standardno vrijeme", "TMST": "Turkmenistansko ljetno vrijeme", "MYT": "Malezijsko vrijeme", "GMT": "Griničko vrijeme", "HEPMX": "Meksičko pacifičko ljetno vrijeme", "BOT": "Bolivijsko vrijeme", "SGT": "Singapursko standardno vrijeme", "GYT": "Gvajansko vrijeme", "ART": "Argentinsko standardno vrijeme", "AEDT": "Istočnoaustralijsko ljetno vrijeme", "CHADT": "Čatamsko ljetno vrijeme", "CLT": "Čileansko standardno vrijeme", "WAT": "Zapadnoafričko standardno vrijeme", "ECT": "Ekvadorsko vrijeme", "COT": "Kolumbijsko standardno vrijeme", "ACWDT": "Australijsko centralnozapadno ljetno vrijeme", "JST": "Japansko standardno vrijeme", "GFT": "Francuskogvajansko vrijeme", "ACDT": "Centralnoaustralijsko ljetno vrijeme", "EAT": "Istočnoafričko vrijeme", "AKDT": "Aljaskansko ljetno vrijeme", "HADT": "Havajsko-aleućansko ljetno vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "CHAST": "Čatamsko standardno vrijeme", "CLST": "Čileansko ljetno vrijeme", "∅∅∅": "Amazonsko ljetno vrijeme", "HNPMX": "Meksičko pacifičko standardno vrijeme", "JDT": "Japansko ljetno vrijeme", "CST": "Sjevernoameričko centralno standardno vrijeme", "UYT": "Urugvajsko standardno vrijeme", "ACWST": "Australijsko centralnozapadno standardno vrijeme", "HEOG": "Zapadnogrenlandsko ljetno vrijeme", "AWST": "Zapadnoaustralijsko standardno vrijeme", "IST": "Indijsko standardno vrijeme", "ACST": "Centralnoaustralijsko standardno vrijeme", "MDT": "Makao letnje računanje vremena", "OESZ": "Istočnoevropsko ljetno vrijeme", "AST": "Sjevernoameričko atlantsko standardno vrijeme", "SRT": "Surinamsko vrijeme", "PST": "Sjevernoameričko pacifičko standardno vrijeme", "AWDT": "Zapadnoaustralijsko ljetno vrijeme", "HEPM": "Ljetno vrijeme na Ostrvima Sen Pjer i Mikelon", "MESZ": "Centralnoevropsko ljetno vrijeme", "SAST": "Južnoafričko standardno vrijeme", "EST": "Sjevernoameričko istočno standardno vrijeme", "WART": "Zapadnoargentinsko standardno vrijeme", "WARST": "Zapadnoargentinsko ljetno vrijeme", "ChST": "Čamorsko standardno vrijeme", "HKST": "Hongkonško ljetno vrijeme", "MEZ": "Centralnoevropsko standardno vrijeme", "HKT": "Hongkonško standardno vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "ARST": "Argentinsko ljetno vrijeme", "HNPM": "Standardno vrijeme na Ostrvima Sen Pjer i Mikelon", "LHDT": "Ljetno vrijeme na Ostrvu Lord Hau", "NZDT": "Novozelandsko ljetno vrijeme", "WAST": "Zapadnoafričko ljetno vrijeme", "HNNOMX": "Sjeverozapadno meksičko standardno vrijeme", "MST": "Makao standardno vreme", "HECU": "Kubansko ljetno vrijeme", "CDT": "Sjevernoameričko centralno ljetno vrijeme", "HAST": "Havajsko-aleućansko standardno vrijeme", "PDT": "Sjevernoameričko pacifičko ljetno vrijeme", "HENOMX": "Sjeverozapadno meksičko ljetno vrijeme", "EDT": "Sjevernoameričko istočno ljetno vrijeme", "HNOG": "Zapadnogrenlandsko standardno vrijeme", "WITA": "Centralnoindonezijsko vrijeme", "HNEG": "Istočnogrenlandsko standardno vrijeme", "HEEG": "Istočnogrenlandsko ljetno vrijeme", "WIT": "Istočnoindonezijsko vrijeme", "UYST": "Urugvajsko ljetno vrijeme", "BT": "Butansko vrijeme", "AEST": "Istočnoaustralijsko standardno vrijeme", "CAT": "Centralnoafričko vrijeme", "HNCU": "Kubansko standardno vrijeme", "AKST": "Aljaskansko standardno vrijeme"}, } } @@ -101,8 +103,8 @@ func (bs *bs_Latn) CardinalPluralRule(num float64, v uint64) locales.PluralRule n := math.Abs(num) i := int64(n) f := locales.F(n, v) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 fMod10 := f % 10 fMod100 := f % 100 @@ -263,7 +265,7 @@ func (bs *bs_Latn) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bs *bs_Latn) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -285,6 +287,8 @@ func (bs *bs_Latn) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, bs.percentSuffix...) + b = append(b, bs.percent...) return string(b) @@ -417,19 +421,9 @@ func (bs *bs_Latn) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -448,15 +442,17 @@ func (bs *bs_Latn) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -467,15 +463,17 @@ func (bs *bs_Latn) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -488,16 +486,17 @@ func (bs *bs_Latn) FmtDateFull(t time.Time) string { b = append(b, bs.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/bs_Latn_BA/bs_Latn_BA.go b/bs_Latn_BA/bs_Latn_BA.go index ca133a935..0f647410d 100644 --- a/bs_Latn_BA/bs_Latn_BA.go +++ b/bs_Latn_BA/bs_Latn_BA.go @@ -18,6 +18,7 @@ type bs_Latn_BA struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,23 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, + monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, - monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "august", "septembar", "oktobar", "novembar", "decembar"}, + monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "juni", "juli", "avgust", "septembar", "oktobar", "novembar", "decembar"}, daysAbbreviated: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysNarrow: []string{"N", "P", "U", "S", "Č", "P", "S"}, daysShort: []string{"ned", "pon", "uto", "sri", "čet", "pet", "sub"}, daysWide: []string{"nedjelja", "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, periodsAbbreviated: []string{"prijepodne", "popodne"}, periodsNarrow: []string{"prijepodne", "popodne"}, - periodsWide: []string{"prije podne", "popodne"}, + periodsWide: []string{"prijepodne", "popodne"}, erasAbbreviated: []string{"p. n. e.", "n. e."}, erasNarrow: []string{"pr.n.e.", "AD"}, - erasWide: []string{"Prije nove ere", "Nove ere"}, - timezones: map[string]string{"EAT": "Istočnoafričko vrijeme", "MDT": "Ljetno računanje planinskog vremena (SAD)", "ChST": "Standardno čamorsko vrijeme", "HKT": "Standardno hongkonško vrijeme", "AEDT": "Istočnoaustralijsko ljetno računanje vremena", "GYT": "Gvajansko vrijeme", "CLT": "Standardno čileansko vrijeme", "CLST": "Čileansko ljetno računanje vremena", "LHDT": "Ljetno računanje vremena na Ostrvu Lord Hau", "JDT": "Japansko ljetno računanje vremena", "GFT": "Vrijeme Francuske Gvajane", "ART": "Standardno argentinsko vrijeme", "AST": "Standardno atlantsko vrijeme", "EDT": "Ljetno računanje istočnog vremena (SAD)", "OESZ": "Istočnoevropsko ljetno računanje vremena", "HKST": "Hongkonško ljetno računanje vremena", "MEZ": "Standardno centralnoevropsko vrijeme", "COT": "Standardno kolumbijsko vrijeme", "HAST": "Standardno havajsko-aleućansko vrijeme", "WAT": "Standardno zapadnoafričko vrijeme", "AKDT": "Aljaskansko ljetno računanje vremena", "PST": "Standardno pacifičko vrijeme (SAD)", "AWST": "Standardno zapadnoaustralijsko vrijeme", "ADT": "Ljetno računanje atlantskog vremena", "ARST": "Argentinsko ljetno računanje vremena", "PDT": "Ljetno računanje pacifičkog vremena (SAD)", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "NZDT": "Novozelandsko ljetno računanje vremena", "WESZ": "Zapadnoevropsko ljetno računanje vremena", "CHADT": "Čatamsko ljetno računanje vremena", "AEST": "Standardno istočnoaustralijsko vrijeme", "IST": "Standardno indijsko vrijeme", "∅∅∅": "Peruansko ljetno računanje vremena", "CHAST": "Standardno čatamsko vrijeme", "MESZ": "Centralnoevropsko ljetno računanje vremena", "SGT": "Standardno singapursko vrijeme", "COST": "Kolumbijsko ljetno računanje vremena", "ECT": "Ekvadorsko vrijeme", "HAT": "Njufaundlendsko ljetno računanje vremena", "WAST": "Zapadnoafričko ljetno računanje vremena", "AWDT": "Zapadnoaustralijsko ljetno računanje vremena", "HNT": "Standardno njufaundlendsko vrijeme", "JST": "Standardno japansko vrijeme", "ACDT": "Centralnoaustralijsko ljetno računanje vremena", "VET": "Venecuelansko vrijeme", "HADT": "Havajsko-aleućansko ljetno rečunanje vremena", "EST": "Standardno istočno vrijeme (SAD)", "WITA": "Centralnoindonezijsko vrijeme", "BT": "Butansko vrijeme", "WIT": "Istočnoindonezijsko vrijeme", "UYT": "Standardno urugvajsko vrijeme", "AKST": "Standardno aljaskansko vrijeme", "MST": "Standardno planinsko vrijeme (SAD)", "MYT": "Malezijsko vrijeme", "CAT": "Centralnoafričko vrijeme", "UYST": "Urugvajsko ljetno računanje vremena", "WIB": "Zapadnoindonezijsko vrijeme", "WART": "Standardno zapadnoargentinsko vrijeme", "TMST": "Turkmenistansko ljetno računanje vremena", "NZST": "Standardno novozelandsko vrijeme", "GMT": "Vrijeme po Grinviču", "ACST": "Standardno centralnoaustralijsko vrijeme", "ACWST": "Standardno australijsko centralno zapadno vrijeme", "WARST": "Zapadnoargentinsko ljetno računanje vremena", "SAST": "Standardno južnoafričko vrijeme", "CDT": "Ljetno računanje centralnog vremena (SAD)", "BOT": "Bolivijsko vrijeme", "WEZ": "Standardno zapadnoevropsko vrijeme", "TMT": "Standardno turkmenistansko vrijeme", "CST": "Standardno centralno vrijeme (SAD)", "OEZ": "Standardno istočnoevropsko vrijeme", "SRT": "Surinamsko vrijeme", "ACWDT": "Australijsko centralno zapadno ljetno računanje vremena"}, + erasWide: []string{"prije nove ere", "nove ere"}, + timezones: map[string]string{"AKDT": "Aljaskansko ljetno vrijeme", "MEZ": "Centralnoevropsko standardno vrijeme", "CHAST": "Čatamsko standardno vrijeme", "UYST": "Urugvajsko ljetno vrijeme", "CHADT": "Čatamsko ljetno vrijeme", "HAST": "Havajsko-aleućansko standardno vrijeme", "CLT": "Čileansko standardno vrijeme", "JST": "Japansko standardno vrijeme", "GFT": "Francuskogvajansko vrijeme", "OEZ": "Istočnoevropsko standardno vrijeme", "SAST": "Južnoafričko standardno vrijeme", "HNEG": "Istočnogrenlandsko standardno vrijeme", "OESZ": "Istočnoevropsko ljetno vrijeme", "MESZ": "Centralnoevropsko ljetno vrijeme", "CDT": "Sjevernoameričko centralno ljetno vrijeme", "PDT": "Sjevernoameričko pacifičko ljetno vrijeme", "ACWST": "Australijsko centralnozapadno standardno vrijeme", "HNOG": "Zapadnogrenlandsko standardno vrijeme", "HKST": "Hongkonško ljetno vrijeme", "BOT": "Bolivijsko vrijeme", "ACDT": "Centralnoaustralijsko ljetno vrijeme", "UYT": "Urugvajsko standardno vrijeme", "EAT": "Istočnoafričko vrijeme", "ADT": "Sjevernoameričko atlantsko ljetno vrijeme", "AEST": "Istočnoaustralijsko standardno vrijeme", "AWDT": "Zapadnoaustralijsko ljetno vrijeme", "HNPM": "Standardno vrijeme na Ostrvima Sen Pjer i Mikelon", "NZST": "Novozelandsko standardno vrijeme", "HECU": "Kubansko ljetno vrijeme", "GMT": "Griničko vrijeme", "WIB": "Zapadnoindonezijsko vrijeme", "PST": "Sjevernoameričko pacifičko standardno vrijeme", "WEZ": "Zapadnoevropsko standardno vrijeme", "NZDT": "Novozelandsko ljetno vrijeme", "ACST": "Centralnoaustralijsko standardno vrijeme", "HENOMX": "Sjeverozapadno meksičko ljetno vrijeme", "HEPM": "Ljetno vrijeme na Ostrvima Sen Pjer i Mikelon", "IST": "Indijsko standardno vrijeme", "TMST": "Turkmenistansko ljetno vrijeme", "HNT": "Njufaundlendsko standardno vrijeme", "AST": "Sjevernoameričko atlantsko standardno vrijeme", "HADT": "Havajsko-aleućansko ljetno vrijeme", "WESZ": "Zapadnoevropsko ljetno vrijeme", "WAT": "Zapadnoafričko standardno vrijeme", "HNPMX": "Meksičko pacifičko standardno vrijeme", "HNCU": "Kubansko standardno vrijeme", "∅∅∅": "Brazilijsko ljetno vrijeme", "HEPMX": "Meksičko pacifičko ljetno vrijeme", "AKST": "Aljaskansko standardno vrijeme", "WITA": "Centralnoindonezijsko vrijeme", "COST": "Kolumbijsko ljetno vrijeme", "HNNOMX": "Sjeverozapadno meksičko standardno vrijeme", "EST": "Sjevernoameričko istočno standardno vrijeme", "MDT": "Makao letnje računanje vremena", "CST": "Sjevernoameričko centralno standardno vrijeme", "VET": "Venecuelansko vrijeme", "LHDT": "Ljetno vrijeme na Ostrvu Lord Hau", "WART": "Zapadnoargentinsko standardno vrijeme", "HEOG": "Zapadnogrenlandsko ljetno vrijeme", "AEDT": "Istočnoaustralijsko ljetno vrijeme", "TMT": "Turkmenistansko standardno vrijeme", "SGT": "Singapursko standardno vrijeme", "EDT": "Sjevernoameričko istočno ljetno vrijeme", "BT": "Butansko vrijeme", "JDT": "Japansko ljetno vrijeme", "WAST": "Zapadnoafričko ljetno vrijeme", "COT": "Kolumbijsko standardno vrijeme", "GYT": "Gvajansko vrijeme", "MYT": "Malezijsko vrijeme", "AWST": "Zapadnoaustralijsko standardno vrijeme", "MST": "Makao standardno vreme", "ACWDT": "Australijsko centralnozapadno ljetno vrijeme", "HAT": "Njufaundlendsko ljetno vrijeme", "ARST": "Argentinsko ljetno vrijeme", "HKT": "Hongkonško standardno vrijeme", "LHST": "Standardno vrijeme na Ostrvu Lord Hau", "CLST": "Čileansko ljetno vrijeme", "CAT": "Centralnoafričko vrijeme", "WIT": "Istočnoindonezijsko vrijeme", "ECT": "Ekvadorsko vrijeme", "SRT": "Surinamsko vrijeme", "ART": "Argentinsko standardno vrijeme", "ChST": "Čamorsko standardno vrijeme", "HEEG": "Istočnogrenlandsko ljetno vrijeme", "WARST": "Zapadnoargentinsko ljetno vrijeme"}, } } @@ -263,7 +265,7 @@ func (bs *bs_Latn_BA) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (bs *bs_Latn_BA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -285,6 +287,8 @@ func (bs *bs_Latn_BA) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, bs.percentSuffix...) + b = append(b, bs.percent...) return string(b) @@ -417,19 +421,9 @@ func (bs *bs_Latn_BA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) if t.Year() > 9 { @@ -448,15 +442,17 @@ func (bs *bs_Latn_BA) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -467,15 +463,17 @@ func (bs *bs_Latn_BA) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -488,16 +486,17 @@ func (bs *bs_Latn_BA) FmtDateFull(t time.Time) string { b = append(b, bs.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2e, 0x20}...) b = append(b, bs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/ca/ca.go b/ca/ca.go index 91655d15c..2d888f7e5 100644 --- a/ca/ca.go +++ b/ca/ca.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"VET": "Hora de Veneçuela", "IST": "Hora estàndard de l’Índia", "BT": "Hora de Bhutan", "JDT": "Hora d’estiu del Japó", "HKT": "Hora estàndard de Hong Kong", "WITA": "Hora central d’Indonèsia", "CDT": "Hora d’estiu central d’Amèrica del Nord", "WART": "Hora estàndard de l’oest de l’Argentina", "NZST": "Hora estàndard de Nova Zelanda", "HNT": "Hora estàndard de Terranova", "GMT": "Hora del Meridià de Greenwich", "WARST": "Hora d’estiu de l’oest de l’Argentina", "WAST": "Hora d’estiu de l’Àfrica Occidental", "∅∅∅": "Hora d’estiu de les Açores", "GYT": "Hora de Guyana", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "AEST": "Hora estàndard d’Austràlia Oriental", "CLST": "Hora d’estiu de Xile", "COT": "Hora estàndard de Colòmbia", "EAT": "Hora de l’Àfrica Oriental", "BOT": "Hora de Bolívia", "OESZ": "Hora d’estiu de l’Est d’Europa", "WIB": "Hora de l’oest d’Indonèsia", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "AEDT": "Hora d’estiu d’Austràlia Oriental", "NZDT": "Hora d’estiu de Nova Zelanda", "WESZ": "Hora d’estiu de l’Oest d’Europa", "ACDT": "Hora d’estiu d’Austràlia Central", "HAST": "Hora estàndard de Hawaii-Aleutianes", "SGT": "Hora de Singapur", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "AST": "Hora estàndard de l’Atlàntic", "ADT": "Hora d’estiu de l’Atlàntic", "CHAST": "Hora estàndard de Chatham", "ACST": "Hora estàndard d’Austràlia Central", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "GFT": "Hora de la Guaiana Francesa", "MEZ": "Hora estàndard del Centre d’Europa", "COST": "Hora d’estiu de Colòmbia", "SRT": "Hora de Surinam", "WEZ": "Hora estàndard de l’Oest d’Europa", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "ARST": "Hora d’estiu de l’Argentina", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "CLT": "Hora estàndard de Xile", "WIT": "Hora de l’est d’Indonèsia", "LHDT": "Horari d’estiu de Lord Howe", "CAT": "Hora de l’Àfrica Central", "JST": "Hora estàndard del Japó", "OEZ": "Hora estàndard de l’Est d’Europa", "EST": "Hora estàndard oriental d’Amèrica del Nord", "SAST": "Hora estàndard del sud de l’Àfrica", "TMT": "Hora estàndard del Turkmenistan", "MYT": "Hora de Malàisia", "PST": "Hora estàndard del Pacífic", "ChST": "Hora de Chamorro", "UYST": "Hora d’estiu de l’Uruguai", "ART": "Hora estàndard de l’Argentina", "HKST": "Hora d’estiu de Hong Kong", "CHADT": "Hora d’estiu de Chatham", "TMST": "Hora d’estiu del Turkmenistan", "AWST": "Hora estàndard d’Austràlia Occidental", "UYT": "Hora estàndard de l’Uruguai", "MESZ": "Hora d’estiu del Centre d’Europa", "CST": "Hora estàndard central d’Amèrica del Nord", "HAT": "Hora d’estiu de Terranova", "ECT": "Hora de l’Equador", "AWDT": "Hora d’estiu d’Austràlia Occidental", "LHST": "Hora estàndard de Lord Howe", "AKST": "Hora estàndard d’Alaska", "AKDT": "Hora d’estiu d’Alaska", "PDT": "Hora d’estiu del Pacífic", "WAT": "Hora estàndard de l’Àfrica Occidental"}, + timezones: map[string]string{"WIT": "Hora de l’est d’Indonèsia", "WESZ": "Hora d’estiu de l’Oest d’Europa", "CHADT": "Hora d’estiu de Chatham", "CLST": "Hora d’estiu de Xile", "ChST": "Hora de Chamorro", "ACST": "Hora estàndard d’Austràlia Central", "AWDT": "Hora d’estiu d’Austràlia Occidental", "IST": "Hora estàndard de l’Índia", "GFT": "Hora de la Guaiana Francesa", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "PDT": "Hora d’estiu del Pacífic", "PST": "Hora estàndard del Pacífic", "AEST": "Hora estàndard d’Austràlia Oriental", "TMT": "Hora estàndard del Turkmenistan", "OESZ": "Hora d’estiu de l’Est d’Europa", "AKDT": "Hora d’estiu d’Alaska", "WIB": "Hora de l’oest d’Indonèsia", "HAST": "Hora estàndard de Hawaii-Aleutianes", "ARST": "Hora d’estiu de l’Argentina", "JDT": "Hora d’estiu del Japó", "CLT": "Hora estàndard de Xile", "WART": "Hora estàndard de l’oest de l’Argentina", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "WEZ": "Hora estàndard de l’Oest d’Europa", "HAT": "Hora d’estiu de Terranova", "∅∅∅": "Hora d’estiu de l’Amazones", "BOT": "Hora de Bolívia", "ACDT": "Hora d’estiu d’Austràlia Central", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "SGT": "Hora de Singapur", "MYT": "Hora de Malàisia", "AKST": "Hora estàndard d’Alaska", "AEDT": "Hora d’estiu d’Austràlia Oriental", "AWST": "Hora estàndard d’Austràlia Occidental", "MESZ": "Hora d’estiu del Centre d’Europa", "SAST": "Hora estàndard del sud de l’Àfrica", "WAST": "Hora d’estiu de l’Àfrica Occidental", "SRT": "Hora de Surinam", "HKT": "Hora estàndard de Hong Kong", "LHST": "Hora estàndard de Lord Howe", "NZDT": "Hora d’estiu de Nova Zelanda", "EAT": "Hora de l’Àfrica Oriental", "AST": "Hora estàndard de l’Atlàntic", "UYST": "Hora d’estiu de l’Uruguai", "VET": "Hora de Veneçuela", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "HNCU": "Hora estàndard de Cuba", "HKST": "Hora d’estiu de Hong Kong", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "TMST": "Hora d’estiu del Turkmenistan", "OEZ": "Hora estàndard de l’Est d’Europa", "COT": "Hora estàndard de Colòmbia", "EST": "Hora estàndard oriental d’Amèrica del Nord", "ADT": "Hora d’estiu de l’Atlàntic", "ART": "Hora estàndard de l’Argentina", "HNT": "Hora estàndard de Terranova", "WITA": "Hora central d’Indonèsia", "LHDT": "Horari d’estiu de Lord Howe", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "WAT": "Hora estàndard de l’Àfrica Occidental", "GYT": "Hora de Guyana", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "MEZ": "Hora estàndard del Centre d’Europa", "GMT": "Hora del Meridià de Greenwich", "CST": "Hora estàndard central d’Amèrica del Nord", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "NZST": "Hora estàndard de Nova Zelanda", "CHAST": "Hora estàndard de Chatham", "WARST": "Hora d’estiu de l’oest de l’Argentina", "MST": "Hora estàndard de Macau", "UYT": "Hora estàndard de l’Uruguai", "CDT": "Hora d’estiu central d’Amèrica del Nord", "JST": "Hora estàndard del Japó", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "BT": "Hora de Bhutan", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "ECT": "Hora de l’Equador", "CAT": "Hora de l’Àfrica Central", "COST": "Hora d’estiu de Colòmbia", "HECU": "Hora d’estiu de Cuba", "MDT": "Hora d’estiu de Macau", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon"}, } } @@ -423,7 +423,12 @@ func (ca *ca) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ca_AD/ca_AD.go b/ca_AD/ca_AD.go index 56366cabd..c561a2e34 100644 --- a/ca_AD/ca_AD.go +++ b/ca_AD/ca_AD.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"WARST": "Hora d’estiu de l’oest de l’Argentina", "IST": "Hora estàndard de l’Índia", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "BT": "Hora de Bhutan", "MEZ": "Hora estàndard del Centre d’Europa", "WIB": "Hora de l’oest d’Indonèsia", "AEST": "Hora estàndard d’Austràlia Oriental", "PDT": "Hora d’estiu del Pacífic", "AWDT": "Hora d’estiu d’Austràlia Occidental", "JST": "Hora estàndard del Japó", "CHADT": "Hora d’estiu de Chatham", "SAST": "Hora estàndard del sud de l’Àfrica", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "CAT": "Hora de l’Àfrica Central", "WEZ": "Hora estàndard de l’Oest d’Europa", "HKST": "Hora d’estiu de Hong Kong", "HAST": "Hora estàndard de Hawaii-Aleutianes", "AKDT": "Hora d’estiu d’Alaska", "ADT": "Hora d’estiu de l’Atlàntic", "HAT": "Hora d’estiu de Terranova", "JDT": "Hora d’estiu del Japó", "HKT": "Hora estàndard de Hong Kong", "ACDT": "Hora d’estiu d’Austràlia Central", "CDT": "Hora d’estiu central d’Amèrica del Nord", "BOT": "Hora de Bolívia", "∅∅∅": "∅∅∅", "ART": "Hora estàndard de l’Argentina", "WAT": "Hora estàndard de l’Àfrica Occidental", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "GYT": "Hora de Guyana", "WIT": "Hora de l’est d’Indonèsia", "VET": "Hora de Veneçuela", "MESZ": "Hora d’estiu del Centre d’Europa", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "WART": "Hora estàndard de l’oest de l’Argentina", "TMST": "Hora d’estiu del Turkmenistan", "WITA": "Hora central d’Indonèsia", "SRT": "Hora de Surinam", "TMT": "Hora estàndard del Turkmenistan", "AST": "Hora estàndard de l’Atlàntic", "ECT": "Hora de l’Equador", "UYST": "Hora d’estiu de l’Uruguai", "WESZ": "Hora d’estiu de l’Oest d’Europa", "ARST": "Hora d’estiu de l’Argentina", "WAST": "Hora d’estiu de l’Àfrica Occidental", "MYT": "Hora de Malàisia", "SGT": "Hora de Singapur", "COST": "Hora d’estiu de Colòmbia", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "AKST": "Hora estàndard d’Alaska", "EST": "Hora estàndard oriental d’Amèrica del Nord", "AWST": "Hora estàndard d’Austràlia Occidental", "CHAST": "Hora estàndard de Chatham", "PST": "Hora estàndard del Pacífic", "NZDT": "Hora d’estiu de Nova Zelanda", "HNT": "Hora estàndard de Terranova", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "EAT": "Hora de l’Àfrica Oriental", "CST": "Hora estàndard central d’Amèrica del Nord", "NZST": "Hora estàndard de Nova Zelanda", "CLT": "Hora estàndard de Xile", "LHST": "Hora estàndard de Lord Howe", "GMT": "Hora del Meridià de Greenwich", "OESZ": "Hora d’estiu de l’Est d’Europa", "ACST": "Hora estàndard d’Austràlia Central", "AEDT": "Hora d’estiu d’Austràlia Oriental", "ChST": "Hora de Chamorro", "GFT": "Hora de la Guaiana Francesa", "COT": "Hora estàndard de Colòmbia", "CLST": "Hora d’estiu de Xile", "LHDT": "Horari d’estiu de Lord Howe", "OEZ": "Hora estàndard de l’Est d’Europa", "UYT": "Hora estàndard de l’Uruguai"}, + timezones: map[string]string{"AST": "Hora estàndard de l’Atlàntic", "CHADT": "Hora d’estiu de Chatham", "CLST": "Hora d’estiu de Xile", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "SRT": "Hora de Surinam", "PDT": "Hora d’estiu del Pacífic", "ART": "Hora estàndard de l’Argentina", "HKST": "Hora d’estiu de Hong Kong", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "GMT": "Hora del Meridià de Greenwich", "WIT": "Hora de l’est d’Indonèsia", "MEZ": "Hora estàndard del Centre d’Europa", "EAT": "Hora de l’Àfrica Oriental", "LHDT": "Horari d’estiu de Lord Howe", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "WAST": "Hora d’estiu de l’Àfrica Occidental", "HNCU": "Hora estàndard de Cuba", "UYT": "Hora estàndard de l’Uruguai", "AKDT": "Hora d’estiu d’Alaska", "CST": "Hora estàndard central d’Amèrica del Nord", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "TMST": "Hora d’estiu del Turkmenistan", "SGT": "Hora de Singapur", "GYT": "Hora de Guyana", "AEDT": "Hora d’estiu d’Austràlia Oriental", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon", "IST": "Hora estàndard de l’Índia", "COT": "Hora estàndard de Colòmbia", "EST": "Hora estàndard oriental d’Amèrica del Nord", "AKST": "Hora estàndard d’Alaska", "CLT": "Hora estàndard de Xile", "OESZ": "Hora d’estiu de l’Est d’Europa", "WARST": "Hora d’estiu de l’oest de l’Argentina", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "HNT": "Hora estàndard de Terranova", "MESZ": "Hora d’estiu del Centre d’Europa", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "MYT": "Hora de Malàisia", "VET": "Hora de Veneçuela", "PST": "Hora estàndard del Pacífic", "NZDT": "Hora d’estiu de Nova Zelanda", "WIB": "Hora de l’oest d’Indonèsia", "AWDT": "Hora d’estiu d’Austràlia Occidental", "CHAST": "Hora estàndard de Chatham", "GFT": "Hora de la Guaiana Francesa", "TMT": "Hora estàndard del Turkmenistan", "JST": "Hora estàndard del Japó", "ACST": "Hora estàndard d’Austràlia Central", "WAT": "Hora estàndard de l’Àfrica Occidental", "WART": "Hora estàndard de l’oest de l’Argentina", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "HECU": "Hora d’estiu de Cuba", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "AEST": "Hora estàndard d’Austràlia Oriental", "UYST": "Hora d’estiu de l’Uruguai", "CDT": "Hora d’estiu central d’Amèrica del Nord", "LHST": "Hora estàndard de Lord Howe", "NZST": "Hora estàndard de Nova Zelanda", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "SAST": "Hora estàndard del sud de l’Àfrica", "MST": "Hora estàndard de Macau", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "WESZ": "Hora d’estiu de l’Oest d’Europa", "ARST": "Hora d’estiu de l’Argentina", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "ACDT": "Hora d’estiu d’Austràlia Central", "CAT": "Hora de l’Àfrica Central", "OEZ": "Hora estàndard de l’Est d’Europa", "COST": "Hora d’estiu de Colòmbia", "WEZ": "Hora estàndard de l’Oest d’Europa", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "HKT": "Hora estàndard de Hong Kong", "WITA": "Hora central d’Indonèsia", "∅∅∅": "∅∅∅", "MDT": "Hora d’estiu de Macau", "HAT": "Hora d’estiu de Terranova", "BOT": "Hora de Bolívia", "ECT": "Hora de l’Equador", "ChST": "Hora de Chamorro", "ADT": "Hora d’estiu de l’Atlàntic", "HAST": "Hora estàndard de Hawaii-Aleutianes", "BT": "Hora de Bhutan", "AWST": "Hora estàndard d’Austràlia Occidental", "JDT": "Hora d’estiu del Japó"}, } } @@ -423,7 +423,12 @@ func (ca *ca_AD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca_AD) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca_AD) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ca_ES/ca_ES.go b/ca_ES/ca_ES.go index 384fb0748..8e709c341 100644 --- a/ca_ES/ca_ES.go +++ b/ca_ES/ca_ES.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "BOT": "Hora de Bolívia", "AWST": "Hora estàndard d’Austràlia Occidental", "UYT": "Hora estàndard de l’Uruguai", "UYST": "Hora d’estiu de l’Uruguai", "HKT": "Hora estàndard de Hong Kong", "ACDT": "Hora d’estiu d’Austràlia Central", "AEST": "Hora estàndard d’Austràlia Oriental", "WITA": "Hora central d’Indonèsia", "HNT": "Hora estàndard de Terranova", "JST": "Hora estàndard del Japó", "ECT": "Hora de l’Equador", "CHAST": "Hora estàndard de Chatham", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "EAT": "Hora de l’Àfrica Oriental", "TMT": "Hora estàndard del Turkmenistan", "BT": "Hora de Bhutan", "AWDT": "Hora d’estiu d’Austràlia Occidental", "LHDT": "Horari d’estiu de Lord Howe", "JDT": "Hora d’estiu del Japó", "AEDT": "Hora d’estiu d’Austràlia Oriental", "WART": "Hora estàndard de l’oest de l’Argentina", "HAST": "Hora estàndard de Hawaii-Aleutianes", "EST": "Hora estàndard oriental d’Amèrica del Nord", "ADT": "Hora d’estiu de l’Atlàntic", "GYT": "Hora de Guyana", "MEZ": "Hora estàndard del Centre d’Europa", "ART": "Hora estàndard de l’Argentina", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "CDT": "Hora d’estiu central d’Amèrica del Nord", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "HAT": "Hora d’estiu de Terranova", "WESZ": "Hora d’estiu de l’Oest d’Europa", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "ARST": "Hora d’estiu de l’Argentina", "CST": "Hora estàndard central d’Amèrica del Nord", "NZDT": "Hora d’estiu de Nova Zelanda", "MYT": "Hora de Malàisia", "OEZ": "Hora estàndard de l’Est d’Europa", "ACST": "Hora estàndard d’Austràlia Central", "WIB": "Hora de l’oest d’Indonèsia", "WARST": "Hora d’estiu de l’oest de l’Argentina", "TMST": "Hora d’estiu del Turkmenistan", "CLST": "Hora d’estiu de Xile", "GMT": "Hora del Meridià de Greenwich", "COST": "Hora d’estiu de Colòmbia", "MESZ": "Hora d’estiu del Centre d’Europa", "IST": "Hora estàndard de l’Índia", "PDT": "Hora d’estiu del Pacífic", "AST": "Hora estàndard de l’Atlàntic", "WIT": "Hora de l’est d’Indonèsia", "LHST": "Hora estàndard de Lord Howe", "CHADT": "Hora d’estiu de Chatham", "OESZ": "Hora d’estiu de l’Est d’Europa", "WAST": "Hora d’estiu de l’Àfrica Occidental", "AKST": "Hora estàndard d’Alaska", "CAT": "Hora de l’Àfrica Central", "WEZ": "Hora estàndard de l’Oest d’Europa", "HKST": "Hora d’estiu de Hong Kong", "GFT": "Hora de la Guaiana Francesa", "VET": "Hora de Veneçuela", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "WAT": "Hora estàndard de l’Àfrica Occidental", "SAST": "Hora estàndard del sud de l’Àfrica", "PST": "Hora estàndard del Pacífic", "NZST": "Hora estàndard de Nova Zelanda", "ChST": "Hora de Chamorro", "CLT": "Hora estàndard de Xile", "SRT": "Hora de Surinam", "SGT": "Hora de Singapur", "AKDT": "Hora d’estiu d’Alaska", "∅∅∅": "Hora d’estiu de les Açores", "COT": "Hora estàndard de Colòmbia"}, + timezones: map[string]string{"WITA": "Hora central d’Indonèsia", "CLT": "Hora estàndard de Xile", "MYT": "Hora de Malàisia", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "AWDT": "Hora d’estiu d’Austràlia Occidental", "NZDT": "Hora d’estiu de Nova Zelanda", "TMST": "Hora d’estiu del Turkmenistan", "ECT": "Hora de l’Equador", "AKST": "Hora estàndard d’Alaska", "HNT": "Hora estàndard de Terranova", "ACDT": "Hora d’estiu d’Austràlia Central", "WARST": "Hora d’estiu de l’oest de l’Argentina", "COT": "Hora estàndard de Colòmbia", "HNCU": "Hora estàndard de Cuba", "MDT": "Hora d’estiu de Macau", "HECU": "Hora d’estiu de Cuba", "AEDT": "Hora d’estiu d’Austràlia Oriental", "LHDT": "Horari d’estiu de Lord Howe", "SAST": "Hora estàndard del sud de l’Àfrica", "JST": "Hora estàndard del Japó", "WART": "Hora estàndard de l’oest de l’Argentina", "COST": "Hora d’estiu de Colòmbia", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "AST": "Hora estàndard de l’Atlàntic", "GYT": "Hora de Guyana", "HKT": "Hora estàndard de Hong Kong", "HKST": "Hora d’estiu de Hong Kong", "MEZ": "Hora estàndard del Centre d’Europa", "NZST": "Hora estàndard de Nova Zelanda", "CLST": "Hora d’estiu de Xile", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "EAT": "Hora de l’Àfrica Oriental", "GMT": "Hora del Meridià de Greenwich", "SGT": "Hora de Singapur", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "WESZ": "Hora d’estiu de l’Oest d’Europa", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "WAST": "Hora d’estiu de l’Àfrica Occidental", "AKDT": "Hora d’estiu d’Alaska", "PST": "Hora estàndard del Pacífic", "ART": "Hora estàndard de l’Argentina", "CHAST": "Hora estàndard de Chatham", "UYT": "Hora estàndard de l’Uruguai", "ADT": "Hora d’estiu de l’Atlàntic", "WIT": "Hora de l’est d’Indonèsia", "BT": "Hora de Bhutan", "BOT": "Hora de Bolívia", "WAT": "Hora estàndard de l’Àfrica Occidental", "OESZ": "Hora d’estiu de l’Est d’Europa", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "AEST": "Hora estàndard d’Austràlia Oriental", "∅∅∅": "Hora d’estiu de l’Amazones", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "CAT": "Hora de l’Àfrica Central", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "SRT": "Hora de Surinam", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "ARST": "Hora d’estiu de l’Argentina", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "GFT": "Hora de la Guaiana Francesa", "ACST": "Hora estàndard d’Austràlia Central", "CDT": "Hora d’estiu central d’Amèrica del Nord", "AWST": "Hora estàndard d’Austràlia Occidental", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "IST": "Hora estàndard de l’Índia", "OEZ": "Hora estàndard de l’Est d’Europa", "EST": "Hora estàndard oriental d’Amèrica del Nord", "UYST": "Hora d’estiu de l’Uruguai", "CST": "Hora estàndard central d’Amèrica del Nord", "WEZ": "Hora estàndard de l’Oest d’Europa", "LHST": "Hora estàndard de Lord Howe", "WIB": "Hora de l’oest d’Indonèsia", "VET": "Hora de Veneçuela", "PDT": "Hora d’estiu del Pacífic", "HAT": "Hora d’estiu de Terranova", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "MESZ": "Hora d’estiu del Centre d’Europa", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon", "CHADT": "Hora d’estiu de Chatham", "JDT": "Hora d’estiu del Japó", "ChST": "Hora de Chamorro", "HAST": "Hora estàndard de Hawaii-Aleutianes", "TMT": "Hora estàndard del Turkmenistan", "MST": "Hora estàndard de Macau"}, } } @@ -423,7 +423,12 @@ func (ca *ca_ES) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca_ES) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca_ES) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ca_ES_VALENCIA/ca_ES_VALENCIA.go b/ca_ES_VALENCIA/ca_ES_VALENCIA.go index 28d9e022e..dfcbcaceb 100644 --- a/ca_ES_VALENCIA/ca_ES_VALENCIA.go +++ b/ca_ES_VALENCIA/ca_ES_VALENCIA.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"NZST": "Hora estàndard de Nova Zelanda", "AST": "Hora estàndard de l’Atlàntic", "WAT": "Hora estàndard de l’Àfrica Occidental", "WEZ": "Hora estàndard de l’Oest d’Europa", "HKT": "Hora estàndard de Hong Kong", "∅∅∅": "Hora d’estiu de les Açores", "CDT": "Hora d’estiu central d’Amèrica del Nord", "CLST": "Hora d’estiu de Xile", "JDT": "Hora d’estiu del Japó", "SRT": "Hora de Surinam", "GMT": "Hora del Meridià de Greenwich", "COT": "Hora estàndard de Colòmbia", "ART": "Hora estàndard de l’Argentina", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "EST": "Hora estàndard oriental d’Amèrica del Nord", "JST": "Hora estàndard del Japó", "CAT": "Hora de l’Àfrica Central", "OEZ": "Hora estàndard de l’Est d’Europa", "ACDT": "Hora d’estiu d’Austràlia Central", "ADT": "Hora d’estiu de l’Atlàntic", "CLT": "Hora estàndard de Xile", "COST": "Hora d’estiu de Colòmbia", "SGT": "Hora de Singapur", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "AKST": "Hora estàndard d’Alaska", "MYT": "Hora de Malàisia", "UYT": "Hora estàndard de l’Uruguai", "TMST": "Hora d’estiu del Turkmenistan", "GYT": "Hora de Guyana", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "HAT": "Hora d’estiu de Terranova", "LHST": "Hora estàndard de Lord Howe", "WART": "Hora estàndard de l’oest de l’Argentina", "SAST": "Hora estàndard del sud de l’Àfrica", "NZDT": "Hora d’estiu de Nova Zelanda", "AWST": "Hora estàndard d’Austràlia Occidental", "MESZ": "Hora d’estiu del Centre d’Europa", "HAST": "Hora estàndard de Hawaii-Aleutianes", "PDT": "Hora d’estiu del Pacífic", "HNT": "Hora estàndard de Terranova", "BT": "Hora de Bhutan", "AEST": "Hora estàndard d’Austràlia Oriental", "WAST": "Hora d’estiu de l’Àfrica Occidental", "GFT": "Hora de la Guaiana Francesa", "OESZ": "Hora d’estiu de l’Est d’Europa", "ChST": "Hora de Chamorro", "WESZ": "Hora d’estiu de l’Oest d’Europa", "ACST": "Hora estàndard d’Austràlia Central", "PST": "Hora estàndard del Pacífic", "AKDT": "Hora d’estiu d’Alaska", "EAT": "Hora de l’Àfrica Oriental", "WITA": "Hora central d’Indonèsia", "WIT": "Hora de l’est d’Indonèsia", "CHAST": "Hora estàndard de Chatham", "VET": "Hora de Veneçuela", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "AEDT": "Hora d’estiu d’Austràlia Oriental", "TMT": "Hora estàndard del Turkmenistan", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "MEZ": "Hora estàndard del Centre d’Europa", "ARST": "Hora d’estiu de l’Argentina", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "WARST": "Hora d’estiu de l’oest de l’Argentina", "IST": "Hora estàndard de l’Índia", "CST": "Hora estàndard central d’Amèrica del Nord", "BOT": "Hora de Bolívia", "LHDT": "Horari d’estiu de Lord Howe", "ECT": "Hora de l’Equador", "WIB": "Hora de l’oest d’Indonèsia", "AWDT": "Hora d’estiu d’Austràlia Occidental", "UYST": "Hora d’estiu de l’Uruguai", "CHADT": "Hora d’estiu de Chatham", "HKST": "Hora d’estiu de Hong Kong"}, + timezones: map[string]string{"WIT": "Hora de l’est d’Indonèsia", "HECU": "Hora d’estiu de Cuba", "HAST": "Hora estàndard de Hawaii-Aleutianes", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "VET": "Hora de Veneçuela", "IST": "Hora estàndard de l’Índia", "ChST": "Hora de Chamorro", "CAT": "Hora de l’Àfrica Central", "EAT": "Hora de l’Àfrica Oriental", "EST": "Hora estàndard oriental d’Amèrica del Nord", "ARST": "Hora d’estiu de l’Argentina", "AWST": "Hora estàndard d’Austràlia Occidental", "LHDT": "Horari d’estiu de Lord Howe", "OEZ": "Hora estàndard de l’Est d’Europa", "ECT": "Hora de l’Equador", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "AKDT": "Hora d’estiu d’Alaska", "ADT": "Hora d’estiu de l’Atlàntic", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "JDT": "Hora d’estiu del Japó", "GFT": "Hora de la Guaiana Francesa", "CHAST": "Hora estàndard de Chatham", "COT": "Hora estàndard de Colòmbia", "MST": "Hora estàndard de Macau", "MDT": "Hora d’estiu de Macau", "MYT": "Hora de Malàisia", "SRT": "Hora de Surinam", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "WART": "Hora estàndard de l’oest de l’Argentina", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "CST": "Hora estàndard central d’Amèrica del Nord", "JST": "Hora estàndard del Japó", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "WAST": "Hora d’estiu de l’Àfrica Occidental", "OESZ": "Hora d’estiu de l’Est d’Europa", "UYT": "Hora estàndard de l’Uruguai", "GYT": "Hora de Guyana", "WESZ": "Hora d’estiu de l’Oest d’Europa", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "TMST": "Hora d’estiu del Turkmenistan", "TMT": "Hora estàndard del Turkmenistan", "GMT": "Hora del Meridià de Greenwich", "WEZ": "Hora estàndard de l’Oest d’Europa", "MESZ": "Hora d’estiu del Centre d’Europa", "NZST": "Hora estàndard de Nova Zelanda", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "MEZ": "Hora estàndard del Centre d’Europa", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "HNCU": "Hora estàndard de Cuba", "PDT": "Hora d’estiu del Pacífic", "HNT": "Hora estàndard de Terranova", "AEDT": "Hora d’estiu d’Austràlia Oriental", "UYST": "Hora d’estiu de l’Uruguai", "CDT": "Hora d’estiu central d’Amèrica del Nord", "ART": "Hora estàndard de l’Argentina", "NZDT": "Hora d’estiu de Nova Zelanda", "ACDT": "Hora d’estiu d’Austràlia Central", "HAT": "Hora d’estiu de Terranova", "AEST": "Hora estàndard d’Austràlia Oriental", "AST": "Hora estàndard de l’Atlàntic", "AKST": "Hora estàndard d’Alaska", "HKST": "Hora d’estiu de Hong Kong", "∅∅∅": "Hora d’estiu de l’Amazones", "SGT": "Hora de Singapur", "LHST": "Hora estàndard de Lord Howe", "SAST": "Hora estàndard del sud de l’Àfrica", "CLT": "Hora estàndard de Xile", "BOT": "Hora de Bolívia", "ACST": "Hora estàndard d’Austràlia Central", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "AWDT": "Hora d’estiu d’Austràlia Occidental", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "CHADT": "Hora d’estiu de Chatham", "CLST": "Hora d’estiu de Xile", "COST": "Hora d’estiu de Colòmbia", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "PST": "Hora estàndard del Pacífic", "HKT": "Hora estàndard de Hong Kong", "WITA": "Hora central d’Indonèsia", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "WIB": "Hora de l’oest d’Indonèsia", "BT": "Hora de Bhutan", "WAT": "Hora estàndard de l’Àfrica Occidental", "WARST": "Hora d’estiu de l’oest de l’Argentina"}, } } @@ -423,7 +423,12 @@ func (ca *ca_ES_VALENCIA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca_ES_VALENCIA) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca_ES_VALENCIA) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ca_FR/ca_FR.go b/ca_FR/ca_FR.go index c8a075e69..cda136378 100644 --- a/ca_FR/ca_FR.go +++ b/ca_FR/ca_FR.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "F", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "F", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"GMT": "Hora del Meridià de Greenwich", "LHST": "Hora estàndard de Lord Howe", "WAST": "Hora d’estiu de l’Àfrica Occidental", "IST": "Hora estàndard de l’Índia", "ACDT": "Hora d’estiu d’Austràlia Central", "AEDT": "Hora d’estiu d’Austràlia Oriental", "PDT": "Hora d’estiu del Pacífic", "WESZ": "Hora d’estiu de l’Oest d’Europa", "∅∅∅": "Hora d’estiu de les Açores", "MEZ": "Hora estàndard del Centre d’Europa", "OESZ": "Hora d’estiu de l’Est d’Europa", "VET": "Hora de Veneçuela", "LHDT": "Horari d’estiu de Lord Howe", "CHAST": "Hora estàndard de Chatham", "MESZ": "Hora d’estiu del Centre d’Europa", "SGT": "Hora de Singapur", "COT": "Hora estàndard de Colòmbia", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "GYT": "Hora de Guyana", "BT": "Hora de Bhutan", "WARST": "Hora d’estiu de l’oest de l’Argentina", "EST": "Hora estàndard oriental d’Amèrica del Nord", "EAT": "Hora de l’Àfrica Oriental", "ChST": "Hora de Chamorro", "AWST": "Hora estàndard d’Austràlia Occidental", "JDT": "Hora d’estiu del Japó", "GFT": "Hora de la Guaiana Francesa", "COST": "Hora d’estiu de Colòmbia", "ARST": "Hora d’estiu de l’Argentina", "AST": "Hora estàndard de l’Atlàntic", "TMT": "Hora estàndard del Turkmenistan", "HKST": "Hora d’estiu de Hong Kong", "ART": "Hora estàndard de l’Argentina", "MYT": "Hora de Malàisia", "JST": "Hora estàndard del Japó", "AWDT": "Hora d’estiu d’Austràlia Occidental", "UYST": "Hora d’estiu de l’Uruguai", "AKST": "Hora estàndard d’Alaska", "CDT": "Hora d’estiu central d’Amèrica del Nord", "BOT": "Hora de Bolívia", "NZST": "Hora estàndard de Nova Zelanda", "UYT": "Hora estàndard de l’Uruguai", "HKT": "Hora estàndard de Hong Kong", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "AKDT": "Hora d’estiu d’Alaska", "PST": "Hora estàndard del Pacífic", "HNT": "Hora estàndard de Terranova", "CLT": "Hora estàndard de Xile", "OEZ": "Hora estàndard de l’Est d’Europa", "ACST": "Hora estàndard d’Austràlia Central", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "ADT": "Hora d’estiu de l’Atlàntic", "NZDT": "Hora d’estiu de Nova Zelanda", "HAT": "Hora d’estiu de Terranova", "CLST": "Hora d’estiu de Xile", "CHADT": "Hora d’estiu de Chatham", "WEZ": "Hora estàndard de l’Oest d’Europa", "AEST": "Hora estàndard d’Austràlia Oriental", "HAST": "Hora estàndard de Hawaii-Aleutianes", "SAST": "Hora estàndard del sud de l’Àfrica", "WITA": "Hora central d’Indonèsia", "ECT": "Hora de l’Equador", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "WAT": "Hora estàndard de l’Àfrica Occidental", "TMST": "Hora d’estiu del Turkmenistan", "WIB": "Hora de l’oest d’Indonèsia", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "WIT": "Hora de l’est d’Indonèsia", "CAT": "Hora de l’Àfrica Central", "SRT": "Hora de Surinam", "WART": "Hora estàndard de l’oest de l’Argentina", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "CST": "Hora estàndard central d’Amèrica del Nord"}, + timezones: map[string]string{"AWDT": "Hora d’estiu d’Austràlia Occidental", "AEST": "Hora estàndard d’Austràlia Oriental", "WIT": "Hora de l’est d’Indonèsia", "CAT": "Hora de l’Àfrica Central", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "AST": "Hora estàndard de l’Atlàntic", "LHDT": "Horari d’estiu de Lord Howe", "CLST": "Hora d’estiu de Xile", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "TMT": "Hora estàndard del Turkmenistan", "GYT": "Hora de Guyana", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "WAST": "Hora d’estiu de l’Àfrica Occidental", "VET": "Hora de Veneçuela", "BT": "Hora de Bhutan", "WART": "Hora estàndard de l’oest de l’Argentina", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "HNCU": "Hora estàndard de Cuba", "EST": "Hora estàndard oriental d’Amèrica del Nord", "AKST": "Hora estàndard d’Alaska", "EAT": "Hora de l’Àfrica Oriental", "OEZ": "Hora estàndard de l’Est d’Europa", "OESZ": "Hora d’estiu de l’Est d’Europa", "WARST": "Hora d’estiu de l’oest de l’Argentina", "BOT": "Hora de Bolívia", "ACDT": "Hora d’estiu d’Austràlia Central", "COST": "Hora d’estiu de Colòmbia", "MST": "Hora estàndard de Macau", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "LHST": "Hora estàndard de Lord Howe", "SAST": "Hora estàndard del sud de l’Àfrica", "JST": "Hora estàndard del Japó", "CST": "Hora estàndard central d’Amèrica del Nord", "WIB": "Hora de l’oest d’Indonèsia", "SRT": "Hora de Surinam", "WESZ": "Hora d’estiu de l’Oest d’Europa", "HNT": "Hora estàndard de Terranova", "HKT": "Hora estàndard de Hong Kong", "MYT": "Hora de Malàisia", "IST": "Hora estàndard de l’Índia", "ChST": "Hora de Chamorro", "ACST": "Hora estàndard d’Austràlia Central", "GMT": "Hora del Meridià de Greenwich", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "AKDT": "Hora d’estiu d’Alaska", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "PDT": "Hora d’estiu del Pacífic", "WITA": "Hora central d’Indonèsia", "AEDT": "Hora d’estiu d’Austràlia Oriental", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "AWST": "Hora estàndard d’Austràlia Occidental", "JDT": "Hora d’estiu del Japó", "MDT": "Hora d’estiu de Macau", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "HKST": "Hora d’estiu de Hong Kong", "∅∅∅": "Hora d’estiu de l’Amazones", "ECT": "Hora de l’Equador", "MESZ": "Hora d’estiu del Centre d’Europa", "CLT": "Hora estàndard de Xile", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "CDT": "Hora d’estiu central d’Amèrica del Nord", "UYT": "Hora estàndard de l’Uruguai", "UYST": "Hora d’estiu de l’Uruguai", "HAST": "Hora estàndard de Hawaii-Aleutianes", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "NZST": "Hora estàndard de Nova Zelanda", "CHAST": "Hora estàndard de Chatham", "TMST": "Hora d’estiu del Turkmenistan", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "PST": "Hora estàndard del Pacífic", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon", "NZDT": "Hora d’estiu de Nova Zelanda", "WEZ": "Hora estàndard de l’Oest d’Europa", "HAT": "Hora d’estiu de Terranova", "ART": "Hora estàndard de l’Argentina", "ARST": "Hora d’estiu de l’Argentina", "CHADT": "Hora d’estiu de Chatham", "GFT": "Hora de la Guaiana Francesa", "HECU": "Hora d’estiu de Cuba", "ADT": "Hora d’estiu de l’Atlàntic", "MEZ": "Hora estàndard del Centre d’Europa", "WAT": "Hora estàndard de l’Àfrica Occidental", "COT": "Hora estàndard de Colòmbia", "SGT": "Hora de Singapur"}, } } @@ -423,7 +423,12 @@ func (ca *ca_FR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca_FR) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca_FR) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ca_IT/ca_IT.go b/ca_IT/ca_IT.go index 11b7d5c54..b541664ce 100644 --- a/ca_IT/ca_IT.go +++ b/ca_IT/ca_IT.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."}, + monthsAbbreviated: []string{"", "de gen.", "de febr.", "de març", "d’abr.", "de maig", "de juny", "de jul.", "d’ag.", "de set.", "d’oct.", "de nov.", "de des."}, monthsNarrow: []string{"", "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"}, monthsWide: []string{"", "de gener", "de febrer", "de març", "d’abril", "de maig", "de juny", "de juliol", "d’agost", "de setembre", "d’octubre", "de novembre", "de desembre"}, daysAbbreviated: []string{"dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aC", "dC"}, erasNarrow: []string{"aC", "dC"}, erasWide: []string{"abans de Crist", "després de Crist"}, - timezones: map[string]string{"CDT": "Hora d’estiu central d’Amèrica del Nord", "ChST": "Hora de Chamorro", "OESZ": "Hora d’estiu de l’Est d’Europa", "ACDT": "Hora d’estiu d’Austràlia Central", "COST": "Hora d’estiu de Colòmbia", "CHADT": "Hora d’estiu de Chatham", "ECT": "Hora de l’Equador", "CAT": "Hora de l’Àfrica Central", "JST": "Hora estàndard del Japó", "∅∅∅": "Hora d’estiu de l’Amazones", "LHDT": "Horari d’estiu de Lord Howe", "GFT": "Hora de la Guaiana Francesa", "TMT": "Hora estàndard del Turkmenistan", "JDT": "Hora d’estiu del Japó", "PST": "Hora estàndard del Pacífic", "IST": "Hora estàndard de l’Índia", "AKDT": "Hora d’estiu d’Alaska", "MDT": "Hora d’estiu de muntanya d’Amèrica del Nord", "HAT": "Hora d’estiu de Terranova", "MEZ": "Hora estàndard del Centre d’Europa", "AEDT": "Hora d’estiu d’Austràlia Oriental", "CHAST": "Hora estàndard de Chatham", "SGT": "Hora de Singapur", "GYT": "Hora de Guyana", "MESZ": "Hora d’estiu del Centre d’Europa", "ARST": "Hora d’estiu de l’Argentina", "AST": "Hora estàndard de l’Atlàntic", "WEZ": "Hora estàndard de l’Oest d’Europa", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "WARST": "Hora d’estiu de l’oest de l’Argentina", "PDT": "Hora d’estiu del Pacífic", "WAST": "Hora d’estiu de l’Àfrica Occidental", "BT": "Hora de Bhutan", "CLT": "Hora estàndard de Xile", "UYST": "Hora d’estiu de l’Uruguai", "BOT": "Hora de Bolívia", "SAST": "Hora estàndard del sud de l’Àfrica", "CLST": "Hora d’estiu de Xile", "LHST": "Hora estàndard de Lord Howe", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "UYT": "Hora estàndard de l’Uruguai", "OEZ": "Hora estàndard de l’Est d’Europa", "WART": "Hora estàndard de l’oest de l’Argentina", "AKST": "Hora estàndard d’Alaska", "NZDT": "Hora d’estiu de Nova Zelanda", "AWDT": "Hora d’estiu d’Austràlia Occidental", "SRT": "Hora de Surinam", "VET": "Hora de Veneçuela", "NZST": "Hora estàndard de Nova Zelanda", "HKST": "Hora d’estiu de Hong Kong", "ACST": "Hora estàndard d’Austràlia Central", "EST": "Hora estàndard oriental d’Amèrica del Nord", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "GMT": "Hora del Meridià de Greenwich", "WESZ": "Hora d’estiu de l’Oest d’Europa", "AEST": "Hora estàndard d’Austràlia Oriental", "WAT": "Hora estàndard de l’Àfrica Occidental", "WITA": "Hora central d’Indonèsia", "CST": "Hora estàndard central d’Amèrica del Nord", "HKT": "Hora estàndard de Hong Kong", "COT": "Hora estàndard de Colòmbia", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "WIB": "Hora de l’oest d’Indonèsia", "ART": "Hora estàndard de l’Argentina", "ADT": "Hora d’estiu de l’Atlàntic", "MST": "Hora estàndard de muntanya d’Amèrica del Nord", "WIT": "Hora de l’est d’Indonèsia", "AWST": "Hora estàndard d’Austràlia Occidental", "HNT": "Hora estàndard de Terranova", "MYT": "Hora de Malàisia", "HAST": "Hora estàndard de Hawaii-Aleutianes", "EAT": "Hora de l’Àfrica Oriental", "TMST": "Hora d’estiu del Turkmenistan"}, + timezones: map[string]string{"AEST": "Hora estàndard d’Austràlia Oriental", "HKT": "Hora estàndard de Hong Kong", "MESZ": "Hora d’estiu del Centre d’Europa", "GFT": "Hora de la Guaiana Francesa", "CAT": "Hora de l’Àfrica Central", "CST": "Hora estàndard central d’Amèrica del Nord", "COST": "Hora d’estiu de Colòmbia", "HNNOMX": "Hora estàndard del nord-oest de Mèxic", "SAST": "Hora estàndard del sud de l’Àfrica", "AWST": "Hora estàndard d’Austràlia Occidental", "IST": "Hora estàndard de l’Índia", "CLST": "Hora d’estiu de Xile", "HNEG": "Hora estàndard de l’Est de Grenlàndia", "HEEG": "Hora d’estiu de l’Est de Grenlàndia", "OEZ": "Hora estàndard de l’Est d’Europa", "WIT": "Hora de l’est d’Indonèsia", "AEDT": "Hora d’estiu d’Austràlia Oriental", "NZST": "Hora estàndard de Nova Zelanda", "SRT": "Hora de Surinam", "WIB": "Hora de l’oest d’Indonèsia", "BT": "Hora de Bhutan", "PST": "Hora estàndard del Pacífic", "ART": "Hora estàndard de l’Argentina", "CHAST": "Hora estàndard de Chatham", "ECT": "Hora de l’Equador", "CDT": "Hora d’estiu central d’Amèrica del Nord", "OESZ": "Hora d’estiu de l’Est d’Europa", "HENOMX": "Hora d’estiu del nord-oest de Mèxic", "HNCU": "Hora estàndard de Cuba", "AWDT": "Hora d’estiu d’Austràlia Occidental", "HEOG": "Hora d’estiu de l’Oest de Grenlàndia", "ChST": "Hora de Chamorro", "TMST": "Hora d’estiu del Turkmenistan", "WESZ": "Hora d’estiu de l’Oest d’Europa", "HEPM": "Hora d’estiu de Saint-Pierre i Miquelon", "LHST": "Hora estàndard de Lord Howe", "LHDT": "Horari d’estiu de Lord Howe", "CLT": "Hora estàndard de Xile", "∅∅∅": "Hora d’estiu de l’Amazones", "JST": "Hora estàndard del Japó", "WEZ": "Hora estàndard de l’Oest d’Europa", "HAST": "Hora estàndard de Hawaii-Aleutianes", "ACWDT": "Hora d’estiu d’Austràlia centre-occidental", "HNT": "Hora estàndard de Terranova", "MEZ": "Hora estàndard del Centre d’Europa", "UYST": "Hora d’estiu de l’Uruguai", "HAT": "Hora d’estiu de Terranova", "WITA": "Hora central d’Indonèsia", "JDT": "Hora d’estiu del Japó", "BOT": "Hora de Bolívia", "ACWST": "Hora estàndard d’Austràlia centre-occidental", "MYT": "Hora de Malàisia", "AKST": "Hora estàndard d’Alaska", "HNPMX": "Hora estàndard del Pacífic de Mèxic", "AKDT": "Hora d’estiu d’Alaska", "HADT": "Hora d’estiu de Hawaii-Aleutianes", "PDT": "Hora d’estiu del Pacífic", "HKST": "Hora d’estiu de Hong Kong", "CHADT": "Hora d’estiu de Chatham", "WAT": "Hora estàndard de l’Àfrica Occidental", "EDT": "Hora d’estiu oriental d’Amèrica del Nord", "HECU": "Hora d’estiu de Cuba", "COT": "Hora estàndard de Colòmbia", "MDT": "Hora d’estiu de Macau", "AST": "Hora estàndard de l’Atlàntic", "GYT": "Hora de Guyana", "HNPM": "Hora estàndard de Saint-Pierre i Miquelon", "WAST": "Hora d’estiu de l’Àfrica Occidental", "WART": "Hora estàndard de l’oest de l’Argentina", "EST": "Hora estàndard oriental d’Amèrica del Nord", "VET": "Hora de Veneçuela", "SGT": "Hora de Singapur", "HEPMX": "Hora d’estiu del Pacífic de Mèxic", "UYT": "Hora estàndard de l’Uruguai", "ARST": "Hora d’estiu de l’Argentina", "HNOG": "Hora estàndard de l’Oest de Grenlàndia", "NZDT": "Hora d’estiu de Nova Zelanda", "ACDT": "Hora d’estiu d’Austràlia Central", "GMT": "Hora del Meridià de Greenwich", "MST": "Hora estàndard de Macau", "TMT": "Hora estàndard del Turkmenistan", "ACST": "Hora estàndard d’Austràlia Central", "EAT": "Hora de l’Àfrica Oriental", "WARST": "Hora d’estiu de l’oest de l’Argentina", "ADT": "Hora d’estiu de l’Atlàntic"}, } } @@ -423,7 +423,12 @@ func (ca *ca_IT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ca.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +443,12 @@ func (ca *ca_IT) FmtDateLong(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +465,12 @@ func (ca *ca_IT) FmtDateFull(t time.Time) string { b = append(b, ca.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ce/ce.go b/ce/ce.go index 5ed1a9c14..24252270b 100644 --- a/ce/ce.go +++ b/ce/ce.go @@ -55,14 +55,14 @@ func New() locales.Translator { percent: "%", perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"}, monthsWide: []string{"", "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"}, daysWide: []string{"кӀиранан де", "оршотан де", "шинарин де", "кхаарин де", "еарин де", "пӀераскан де", "шот де"}, - timezones: map[string]string{"CHADT": "Чатем, аьхкенан хан", "ECT": "Эквадор", "WARST": "Малхбузен Аргентина, аьхкенан хан", "AKDT": "Аляска, аьхкенан хан", "MST": "Лаьмнийн стандартан хан (АЦШ)", "MYT": "Малайзи", "OEZ": "Малхбален Европа, стандартан хан", "WIB": "Малхбузен Индонези", "AEDT": "Малхбален Австрали, аьхкенан хан", "GMT": "Гринвичица юкъара хан", "ACWDT": "Юккъера Австрали, малхбузен аьхкенан хан", "WART": "Малхбузен Аргентина, стандартан хан", "IST": "Инди", "AWDT": "Малхбузен Австрали, аьхкенан хан", "CHAST": "Чатем, стандартан хан", "WEZ": "Малхбузен Европа, стандартан хан", "TMT": "Туркменин стандартан хан", "MDT": "Лаьмнийн аьхкенан хан (АЦШ)", "ChST": "Чаморро", "CAT": "Юккъера Африка", "OESZ": "Малхбален Европа, аьхкенан хан", "TMST": "Туркменин аьхкенан хан", "ACST": "Юккъера Австрали, стандартан хан", "COT": "Колумби, стандартан хан", "ART": "Аргентина, стандартан хан", "GYT": "Гайана", "BOT": "Боливи", "HAT": "Ньюфаундленд, аьхкенан хан", "MEZ": "Юккъера Европа, стандартан хан", "HKST": "Гонконг, аьхкенан хан", "COST": "Колумби, аьхкенан хан", "PST": "Тийна океанан стандартан хан", "UYST": "Уругвай, аьхкенан хан", "WIT": "Малхбален Индонези", "HADT": "Гавайн-алеутийн аьхкенан хан", "JDT": "Япони, аьхкенан хан", "SRT": "Суринам", "VET": "Венесуэла", "AEST": "Малхбален Австрали, стандартан хан", "EAT": "Малхбален Африка", "SAST": "Къилба Африка", "WAT": "Малхбузен Африка, стандартан хан", "LHDT": "Лорд-Хау, аьхкенан хан", "NZDT": "Керла Зеланди, аьхкенан хан", "BT": "Бутан", "CLST": "Чили, аьхкенан хан", "EST": "Малхбален Америка, стандартан хан", "WAST": "Малхбузен Африка, аьхкенан хан", "PDT": "Тийна океанан аьхкенан хан", "CDT": "Юккъера Америка, аьхкенан хан", "AWST": "Малхбузен Австрали, стандартан хан", "ARST": "Аргентина, аьхкенан хан", "HKT": "Гонконг, стандартан хан", "ACDT": "Юккъера Австрали, аьхкенан хан", "HAST": "Гавайн-алеутийн стандартан хан", "AKST": "Аляска, стандартан хан", "EDT": "Малхбален Америка, аьхкенан хан", "UYT": "Уругвай, стандартан хан", "AST": "Атлантикан стандартан хан", "CST": "Юккъера Америка, стандартан хан", "MESZ": "Юккъера Европа, аьхкенан хан", "∅∅∅": "Бразили, аьхкенан хан", "SGT": "Сингапур", "ADT": "Атлантикан аьхкенан хан", "WITA": "Юккъера Индонези", "NZST": "Керла Зеланди, стандартан хан", "CLT": "Чили, стандартан хан", "LHST": "Лорд-Хау, стандартан хан", "GFT": "Французийн Гвиана", "WESZ": "Малхбузен Европа, аьхкенан хан", "HNT": "Ньюфаундленд, стандартан хан", "JST": "Япони, стандартан хан", "ACWST": "Юккъера Австрали, малхбузен стандартан хан"}, + timezones: map[string]string{"JDT": "Япони, аьхкенан хан", "COST": "Колумби, аьхкенан хан", "LHDT": "Лорд-Хау, аьхкенан хан", "ACWST": "Юккъера Австрали, малхбузен стандартан хан", "CHADT": "Чатем, аьхкенан хан", "TMT": "Туркменин стандартан хан", "COT": "Колумби, стандартан хан", "SGT": "Сингапур", "EAT": "Малхбален Африка", "BOT": "Боливи", "AEDT": "Малхбален Австрали, аьхкенан хан", "CST": "Юккъера Америка, стандартан хан", "AKDT": "Аляска, аьхкенан хан", "CLST": "Чили, аьхкенан хан", "TMST": "Туркменин аьхкенан хан", "ACST": "Юккъера Австрали, стандартан хан", "ACDT": "Юккъера Австрали, аьхкенан хан", "CAT": "Юккъера Африка", "GMT": "Гринвичица юкъара хан", "AKST": "Аляска, стандартан хан", "WESZ": "Малхбузен Европа, аьхкенан хан", "LHST": "Лорд-Хау, стандартан хан", "GYT": "Гайана", "EDT": "Малхбален Америка, аьхкенан хан", "HNPMX": "Тийна океанан Мексикан стандартан хан", "ADT": "Атлантикан аьхкенан хан", "BT": "Бутан", "SRT": "Суринам", "∅∅∅": "Азоран гӀайренаш, аьхкенан хан", "PDT": "Тийна океанан аьхкенан хан", "WITA": "Юккъера Индонези", "HNPM": "Сен-Пьер а, Микелон а, стандартан хан", "CHAST": "Чатем, стандартан хан", "ECT": "Эквадор", "CDT": "Юккъера Америка, аьхкенан хан", "AWDT": "Малхбузен Австрали, аьхкенан хан", "ACWDT": "Юккъера Австрали, малхбузен аьхкенан хан", "WEZ": "Малхбузен Европа, стандартан хан", "AWST": "Малхбузен Австрали, стандартан хан", "NZST": "Керла Зеланди, стандартан хан", "HNEG": "Малхбален Гренланди, стандартан хан", "HNNOMX": "Къилбаседа Американ Мексикан стандартан хан", "MST": "MST", "MEZ": "Юккъера Европа, стандартан хан", "NZDT": "Керла Зеланди, аьхкенан хан", "SAST": "Къилба Африка", "GFT": "Французийн Гвиана", "ChST": "Чаморро", "HEEG": "Малхбален Гренланди, аьхкенан хан", "OESZ": "Малхбален Европа, аьхкенан хан", "HKST": "Гонконг, аьхкенан хан", "MESZ": "Юккъера Европа, аьхкенан хан", "OEZ": "Малхбален Европа, стандартан хан", "WARST": "Малхбузен Аргентина, аьхкенан хан", "HAST": "Гавайн-алеутийн стандартан хан", "HECU": "Куба, аьхкенан хан", "EST": "Малхбален Америка, стандартан хан", "MDT": "MDT", "MYT": "Малайзи", "PST": "Тийна океанан стандартан хан", "JST": "Япони, стандартан хан", "HENOMX": "Къилбаседа Американ Мексикан аьхкенан хан", "HNCU": "Куба, стандартан хан", "WIT": "Малхбален Индонези", "HNT": "Ньюфаундленд, стандартан хан", "ART": "Аргентина, стандартан хан", "HEPM": "Сен-Пьер а, Микелон а, аьхкенан хан", "IST": "Инди", "WIB": "Малхбузен Индонези", "HAT": "Ньюфаундленд, аьхкенан хан", "CLT": "Чили, стандартан хан", "WAT": "Малхбузен Африка, стандартан хан", "WAST": "Малхбузен Африка, аьхкенан хан", "UYT": "Уругвай, стандартан хан", "AST": "Атлантикан стандартан хан", "UYST": "Уругвай, аьхкенан хан", "HADT": "Гавайн-алеутийн аьхкенан хан", "VET": "Венесуэла", "ARST": "Аргентина, аьхкенан хан", "HNOG": "Малхбузен Гренланди, стандартан хан", "HEOG": "Малхбузен Гренланди, аьхкенан хан", "HEPMX": "Тийна океанан Мексикан аьхкенан хан", "HKT": "Гонконг, стандартан хан", "WART": "Малхбузен Аргентина, стандартан хан", "AEST": "Малхбален Австрали, стандартан хан"}, } } diff --git a/ce_RU/ce_RU.go b/ce_RU/ce_RU.go index 8b0b47501..fff8f5331 100644 --- a/ce_RU/ce_RU.go +++ b/ce_RU/ce_RU.go @@ -55,14 +55,14 @@ func New() locales.Translator { percent: "%", perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"}, monthsWide: []string{"", "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"}, daysWide: []string{"кӀиранан де", "оршотан де", "шинарин де", "кхаарин де", "еарин де", "пӀераскан де", "шот де"}, - timezones: map[string]string{"OEZ": "Малхбален Европа, стандартан хан", "ACST": "Юккъера Австрали, стандартан хан", "CLST": "Чили, аьхкенан хан", "MESZ": "Юккъера Европа, аьхкенан хан", "EST": "Малхбален Америка, стандартан хан", "MYT": "Малайзи", "CDT": "Юккъера Америка, аьхкенан хан", "WAT": "Малхбузен Африка, стандартан хан", "CAT": "Юккъера Африка", "BT": "Бутан", "WEZ": "Малхбузен Европа, стандартан хан", "COT": "Колумби, стандартан хан", "VET": "Венесуэла", "WARST": "Малхбузен Аргентина, аьхкенан хан", "ECT": "Эквадор", "LHST": "Лорд-Хау, стандартан хан", "ADT": "Атлантикан аьхкенан хан", "NZST": "Керла Зеланди, стандартан хан", "ACWST": "Юккъера Австрали, малхбузен стандартан хан", "AKST": "Аляска, стандартан хан", "AWDT": "Малхбузен Австрали, аьхкенан хан", "UYT": "Уругвай, стандартан хан", "CHAST": "Чатем, стандартан хан", "GFT": "Французийн Гвиана", "AEDT": "Малхбален Австрали, аьхкенан хан", "WART": "Малхбузен Аргентина, стандартан хан", "LHDT": "Лорд-Хау, аьхкенан хан", "COST": "Колумби, аьхкенан хан", "ACDT": "Юккъера Австрали, аьхкенан хан", "PDT": "Тийна океанан аьхкенан хан", "CST": "Юккъера Америка, стандартан хан", "GYT": "Гайана", "JST": "Япони, стандартан хан", "SAST": "Къилба Африка", "WITA": "Юккъера Индонези", "TMST": "Туркменин аьхкенан хан", "MST": "Лаьмнийн стандартан хан (АЦШ)", "ART": "Аргентина, стандартан хан", "ARST": "Аргентина, аьхкенан хан", "GMT": "Гринвичица юкъара хан", "TMT": "Туркменин стандартан хан", "NZDT": "Керла Зеланди, аьхкенан хан", "AWST": "Малхбузен Австрали, стандартан хан", "HNT": "Ньюфаундленд, стандартан хан", "OESZ": "Малхбален Европа, аьхкенан хан", "MEZ": "Юккъера Европа, стандартан хан", "HADT": "Гавайн-алеутийн аьхкенан хан", "ACWDT": "Юккъера Австрали, малхбузен аьхкенан хан", "WIT": "Малхбален Индонези", "IST": "Инди", "EAT": "Малхбален Африка", "HKT": "Гонконг, стандартан хан", "∅∅∅": "∅∅∅", "WESZ": "Малхбузен Европа, аьхкенан хан", "EDT": "Малхбален Америка, аьхкенан хан", "HAST": "Гавайн-алеутийн стандартан хан", "CLT": "Чили, стандартан хан", "HAT": "Ньюфаундленд, аьхкенан хан", "UYST": "Уругвай, аьхкенан хан", "HKST": "Гонконг, аьхкенан хан", "AEST": "Малхбален Австрали, стандартан хан", "PST": "Тийна океанан стандартан хан", "ChST": "Чаморро", "AKDT": "Аляска, аьхкенан хан", "MDT": "Лаьмнийн аьхкенан хан (АЦШ)", "BOT": "Боливи", "JDT": "Япони, аьхкенан хан", "WAST": "Малхбузен Африка, аьхкенан хан", "AST": "Атлантикан стандартан хан", "CHADT": "Чатем, аьхкенан хан", "SRT": "Суринам", "SGT": "Сингапур", "WIB": "Малхбузен Индонези"}, + timezones: map[string]string{"HKT": "Гонконг, стандартан хан", "MESZ": "Юккъера Европа, аьхкенан хан", "CHAST": "Чатем, стандартан хан", "CLST": "Чили, аьхкенан хан", "WARST": "Малхбузен Аргентина, аьхкенан хан", "HADT": "Гавайн-алеутийн аьхкенан хан", "HEOG": "Малхбузен Гренланди, аьхкенан хан", "SAST": "Къилба Африка", "JST": "Япони, стандартан хан", "COST": "Колумби, аьхкенан хан", "HECU": "Куба, аьхкенан хан", "HEPMX": "Тийна океанан Мексикан аьхкенан хан", "WIT": "Малхбален Индонези", "PDT": "Тийна океанан аьхкенан хан", "AWST": "Малхбузен Австрали, стандартан хан", "HNOG": "Малхбузен Гренланди, стандартан хан", "AEST": "Малхбален Австрали, стандартан хан", "HEPM": "Сен-Пьер а, Микелон а, аьхкенан хан", "CHADT": "Чатем, аьхкенан хан", "HNEG": "Малхбален Гренланди, стандартан хан", "CAT": "Юккъера Африка", "OEZ": "Малхбален Европа, стандартан хан", "COT": "Колумби, стандартан хан", "HNPMX": "Тийна океанан Мексикан стандартан хан", "AST": "Атлантикан стандартан хан", "AKDT": "Аляска, аьхкенан хан", "WIB": "Малхбузен Индонези", "VET": "Венесуэла", "SRT": "Суринам", "PST": "Тийна океанан стандартан хан", "HNCU": "Куба, стандартан хан", "MEZ": "Юккъера Европа, стандартан хан", "∅∅∅": "Амазонка, аьхкенан хан", "ChST": "Чаморро", "HAT": "Ньюфаундленд, аьхкенан хан", "LHST": "Лорд-Хау, стандартан хан", "HENOMX": "Къилбаседа Американ Мексикан аьхкенан хан", "UYT": "Уругвай, стандартан хан", "IST": "Инди", "HNT": "Ньюфаундленд, стандартан хан", "HKST": "Гонконг, аьхкенан хан", "WAST": "Малхбузен Африка, аьхкенан хан", "GMT": "Гринвичица юкъара хан", "UYST": "Уругвай, аьхкенан хан", "HAST": "Гавайн-алеутийн стандартан хан", "ARST": "Аргентина, аьхкенан хан", "WITA": "Юккъера Индонези", "JDT": "Япони, аьхкенан хан", "TMT": "Туркменин стандартан хан", "MST": "MST", "BT": "Бутан", "ACWDT": "Юккъера Австрали, малхбузен аьхкенан хан", "AEDT": "Малхбален Австрали, аьхкенан хан", "HNPM": "Сен-Пьер а, Микелон а, стандартан хан", "EDT": "Малхбален Америка, аьхкенан хан", "GYT": "Гайана", "AKST": "Аляска, стандартан хан", "ACWST": "Юккъера Австрали, малхбузен стандартан хан", "AWDT": "Малхбузен Австрали, аьхкенан хан", "LHDT": "Лорд-Хау, аьхкенан хан", "NZST": "Керла Зеланди, стандартан хан", "HEEG": "Малхбален Гренланди, аьхкенан хан", "GFT": "Французийн Гвиана", "MYT": "Малайзи", "ART": "Аргентина, стандартан хан", "HNNOMX": "Къилбаседа Американ Мексикан стандартан хан", "CLT": "Чили, стандартан хан", "ACDT": "Юккъера Австрали, аьхкенан хан", "EAT": "Малхбален Африка", "SGT": "Сингапур", "ADT": "Атлантикан аьхкенан хан", "TMST": "Туркменин аьхкенан хан", "BOT": "Боливи", "ECT": "Эквадор", "WAT": "Малхбузен Африка, стандартан хан", "OESZ": "Малхбален Европа, аьхкенан хан", "EST": "Малхбален Америка, стандартан хан", "WEZ": "Малхбузен Европа, стандартан хан", "WESZ": "Малхбузен Европа, аьхкенан хан", "NZDT": "Керла Зеланди, аьхкенан хан", "ACST": "Юккъера Австрали, стандартан хан", "WART": "Малхбузен Аргентина, стандартан хан", "MDT": "MDT", "CST": "Юккъера Америка, стандартан хан", "CDT": "Юккъера Америка, аьхкенан хан"}, } } diff --git a/cgg/cgg.go b/cgg/cgg.go index a44f1b831..061c9d0a7 100644 --- a/cgg/cgg.go +++ b/cgg/cgg.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "KBZ", "KBR", "KST", "KKN", "KTN", "KMK", "KMS", "KMN", "KMW", "KKM", "KNK", "KNB"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Okwokubanza", "Okwakabiri", "Okwakashatu", "Okwakana", "Okwakataana", "Okwamukaaga", "Okwamushanju", "Okwamunaana", "Okwamwenda", "Okwaikumi", "Okwaikumi na kumwe", "Okwaikumi na ibiri"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kurisito Atakaijire", "Kurisito Yaijire"}, - timezones: map[string]string{"OESZ": "OESZ", "HKST": "HKST", "IST": "IST", "ChST": "ChST", "UYT": "UYT", "AKST": "AKST", "AKDT": "AKDT", "ARST": "ARST", "WITA": "WITA", "CLST": "CLST", "LHST": "LHST", "WEZ": "WEZ", "CHAST": "CHAST", "HADT": "HADT", "WART": "WART", "PDT": "PDT", "BT": "BT", "GFT": "GFT", "ECT": "ECT", "SGT": "SGT", "ACDT": "ACDT", "COT": "COT", "ACWDT": "ACWDT", "EST": "EST", "TMT": "TMT", "NZDT": "NZDT", "HKT": "HKT", "ACST": "ACST", "EAT": "EAT", "LHDT": "LHDT", "ART": "ART", "ADT": "ADT", "∅∅∅": "∅∅∅", "AEST": "AEST", "WARST": "WARST", "MYT": "MYT", "WIT": "WIT", "AWDT": "AWDT", "CLT": "CLT", "SRT": "SRT", "HAST": "HAST", "GYT": "GYT", "WESZ": "WESZ", "AEDT": "AEDT", "WAST": "WAST", "CAT": "CAT", "HAT": "HAT", "MESZ": "MESZ", "JDT": "JDT", "WIB": "WIB", "ACWST": "ACWST", "WAT": "WAT", "MST": "MST", "HNT": "HNT", "JST": "JST", "AST": "AST", "AWST": "AWST", "COST": "COST", "OEZ": "OEZ", "CHADT": "CHADT", "VET": "VET", "MEZ": "MEZ", "CST": "CST", "CDT": "CDT", "MDT": "MDT", "UYST": "UYST", "BOT": "BOT", "EDT": "EDT", "PST": "PST", "SAST": "SAST", "TMST": "TMST", "NZST": "NZST", "GMT": "GMT"}, + timezones: map[string]string{"HKST": "HKST", "LHDT": "LHDT", "JDT": "JDT", "COT": "COT", "ART": "ART", "ChST": "ChST", "TMT": "TMT", "WIB": "WIB", "MYT": "MYT", "ACWDT": "ACWDT", "WAT": "WAT", "COST": "COST", "HENOMX": "HENOMX", "HNCU": "HNCU", "GFT": "GFT", "CAT": "CAT", "HECU": "HECU", "HNT": "HNT", "HEOG": "HEOG", "AEDT": "AEDT", "HKT": "HKT", "WITA": "WITA", "BT": "BT", "HNOG": "HNOG", "CLST": "CLST", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "HAST": "HAST", "AEST": "AEST", "ACDT": "ACDT", "EAT": "EAT", "WAST": "WAST", "AKST": "AKST", "AKDT": "AKDT", "CST": "CST", "WEZ": "WEZ", "ACWST": "ACWST", "CHAST": "CHAST", "BOT": "BOT", "UYT": "UYT", "MESZ": "MESZ", "SAST": "SAST", "ACST": "ACST", "ECT": "ECT", "MDT": "MDT", "WIT": "WIT", "∅∅∅": "∅∅∅", "TMST": "TMST", "GMT": "GMT", "PDT": "PDT", "HAT": "HAT", "EDT": "EDT", "MST": "MST", "ADT": "ADT", "SRT": "SRT", "HNEG": "HNEG", "OEZ": "OEZ", "PST": "PST", "NZST": "NZST", "IST": "IST", "JST": "JST", "EST": "EST", "VET": "VET", "NZDT": "NZDT", "WART": "WART", "WARST": "WARST", "SGT": "SGT", "OESZ": "OESZ", "HEPMX": "HEPMX", "AST": "AST", "AWST": "AWST", "AWDT": "AWDT", "MEZ": "MEZ", "LHST": "LHST", "CLT": "CLT", "HADT": "HADT", "CDT": "CDT", "HNPMX": "HNPMX", "UYST": "UYST", "GYT": "GYT", "WESZ": "WESZ", "ARST": "ARST", "HNPM": "HNPM", "HEPM": "HEPM", "CHADT": "CHADT"}, } } @@ -327,7 +327,12 @@ func (cgg *cgg) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -341,7 +346,12 @@ func (cgg *cgg) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +365,12 @@ func (cgg *cgg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +386,12 @@ func (cgg *cgg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/cgg_UG/cgg_UG.go b/cgg_UG/cgg_UG.go index edc0f384c..420d68a0b 100644 --- a/cgg_UG/cgg_UG.go +++ b/cgg_UG/cgg_UG.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "KBZ", "KBR", "KST", "KKN", "KTN", "KMK", "KMS", "KMN", "KMW", "KKM", "KNK", "KNB"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Okwokubanza", "Okwakabiri", "Okwakashatu", "Okwakana", "Okwakataana", "Okwamukaaga", "Okwamushanju", "Okwamunaana", "Okwamwenda", "Okwaikumi", "Okwaikumi na kumwe", "Okwaikumi na ibiri"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kurisito Atakaijire", "Kurisito Yaijire"}, - timezones: map[string]string{"EAT": "EAT", "NZST": "NZST", "CLST": "CLST", "SAST": "SAST", "MDT": "MDT", "ChST": "ChST", "ACWDT": "ACWDT", "EDT": "EDT", "ADT": "ADT", "CST": "CST", "AWDT": "AWDT", "LHST": "LHST", "SGT": "SGT", "EST": "EST", "WITA": "WITA", "∅∅∅": "∅∅∅", "CDT": "CDT", "HKST": "HKST", "IST": "IST", "BT": "BT", "OESZ": "OESZ", "MEZ": "MEZ", "TMST": "TMST", "GYT": "GYT", "COT": "COT", "ACWST": "ACWST", "AKST": "AKST", "WEZ": "WEZ", "AKDT": "AKDT", "JDT": "JDT", "CHADT": "CHADT", "ACST": "ACST", "COST": "COST", "ECT": "ECT", "BOT": "BOT", "MESZ": "MESZ", "AEST": "AEST", "ART": "ART", "WAST": "WAST", "NZDT": "NZDT", "HAT": "HAT", "LHDT": "LHDT", "WARST": "WARST", "TMT": "TMT", "HKT": "HKT", "CHAST": "CHAST", "AEDT": "AEDT", "HAST": "HAST", "WAT": "WAT", "AST": "AST", "OEZ": "OEZ", "ARST": "ARST", "PST": "PST", "UYST": "UYST", "AWST": "AWST", "HNT": "HNT", "WIT": "WIT", "UYT": "UYT", "GMT": "GMT", "WESZ": "WESZ", "GFT": "GFT", "VET": "VET", "MYT": "MYT", "HADT": "HADT", "JST": "JST", "SRT": "SRT", "ACDT": "ACDT", "WIB": "WIB", "WART": "WART", "PDT": "PDT", "CLT": "CLT", "CAT": "CAT", "MST": "MST"}, + timezones: map[string]string{"MST": "MST", "AKST": "AKST", "SRT": "SRT", "COT": "COT", "SGT": "SGT", "ACDT": "ACDT", "HNPMX": "HNPMX", "AEDT": "AEDT", "GFT": "GFT", "ART": "ART", "HEPMX": "HEPMX", "ACWDT": "ACWDT", "TMST": "TMST", "OESZ": "OESZ", "WART": "WART", "UYST": "UYST", "HNT": "HNT", "HEOG": "HEOG", "CHADT": "CHADT", "CLST": "CLST", "JDT": "JDT", "ACST": "ACST", "WAT": "WAT", "WARST": "WARST", "GMT": "GMT", "EST": "EST", "MESZ": "MESZ", "SAST": "SAST", "HEPM": "HEPM", "IST": "IST", "WAST": "WAST", "HNCU": "HNCU", "AST": "AST", "AWST": "AWST", "HNPM": "HNPM", "TMT": "TMT", "HKT": "HKT", "BOT": "BOT", "UYT": "UYT", "LHST": "LHST", "CLT": "CLT", "VET": "VET", "HAST": "HAST", "ECT": "ECT", "HENOMX": "HENOMX", "COST": "COST", "HECU": "HECU", "MDT": "MDT", "CDT": "CDT", "ADT": "ADT", "GYT": "GYT", "JST": "JST", "CAT": "CAT", "HNOG": "HNOG", "WEZ": "WEZ", "HAT": "HAT", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "EAT": "EAT", "MYT": "MYT", "PDT": "PDT", "AEST": "AEST", "LHDT": "LHDT", "HEEG": "HEEG", "BT": "BT", "HKST": "HKST", "NZST": "NZST", "HNNOMX": "HNNOMX", "WESZ": "WESZ", "CHAST": "CHAST", "HNEG": "HNEG", "EDT": "EDT", "AKDT": "AKDT", "WIB": "WIB", "WIT": "WIT", "AWDT": "AWDT", "WITA": "WITA", "PST": "PST", "MEZ": "MEZ", "ChST": "ChST", "HADT": "HADT", "ACWST": "ACWST", "ARST": "ARST", "OEZ": "OEZ", "CST": "CST"}, } } @@ -327,7 +327,12 @@ func (cgg *cgg_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -341,7 +346,12 @@ func (cgg *cgg_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +365,12 @@ func (cgg *cgg_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +386,12 @@ func (cgg *cgg_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cgg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/chr/chr.go b/chr/chr.go index 9e2925e43..ed3a3d624 100644 --- a/chr/chr.go +++ b/chr/chr.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ᎤᏃ", "ᎧᎦ", "ᎠᏅ", "ᎧᏬ", "ᎠᏂ", "ᏕᎭ", "ᎫᏰ", "ᎦᎶ", "ᏚᎵ", "ᏚᏂ", "ᏅᏓ", "ᎥᏍ"}, @@ -63,13 +63,15 @@ func New() locales.Translator { monthsWide: []string{"", "ᎤᏃᎸᏔᏅ", "ᎧᎦᎵ", "ᎠᏅᏱ", "ᎧᏬᏂ", "ᎠᏂᏍᎬᏘ", "ᏕᎭᎷᏱ", "ᎫᏰᏉᏂ", "ᎦᎶᏂ", "ᏚᎵᏍᏗ", "ᏚᏂᏅᏗ", "ᏅᏓᏕᏆ", "ᎥᏍᎩᏱ"}, daysAbbreviated: []string{"ᏆᏍᎬ", "ᏉᏅᎯ", "ᏔᎵᏁ", "ᏦᎢᏁ", "ᏅᎩᏁ", "ᏧᎾᎩ", "ᏈᏕᎾ"}, daysNarrow: []string{"Ꮖ", "Ꮙ", "Ꮤ", "Ꮶ", "Ꮕ", "Ꮷ", "Ꭴ"}, + daysShort: []string{"ᏍᎬ", "ᏅᎯ", "ᏔᎵ", "ᏦᎢ", "ᏅᎩ", "ᏧᎾ", "ᏕᎾ"}, daysWide: []string{"ᎤᎾᏙᏓᏆᏍᎬ", "ᎤᎾᏙᏓᏉᏅᎯ", "ᏔᎵᏁᎢᎦ", "ᏦᎢᏁᎢᎦ", "ᏅᎩᏁᎢᎦ", "ᏧᎾᎩᎶᏍᏗ", "ᎤᎾᏙᏓᏈᏕᎾ"}, periodsAbbreviated: []string{"ᏌᎾᎴ", "ᏒᎯᏱᎢᏗᏢ"}, + periodsNarrow: []string{"Ꮜ", "Ꮢ"}, periodsWide: []string{"ᏌᎾᎴ", "ᏒᎯᏱᎢᏗᏢ"}, - erasAbbreviated: []string{"ᎤᏓᎷᎸ", "ᎤᎶᏐᏅ"}, + erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ", "ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ"}, - timezones: map[string]string{"WIB": "WIB", "WAT": "WAT", "WAST": "WAST", "ADT": "ADT", "CST": "ᎠᏰᎵ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "CDT": "ᎠᏰᎵ ᎢᎦ ᎢᏳᏩᎪᏗ", "AWST": "AWST", "CLST": "CLST", "JDT": "JDT", "OEZ": "OEZ", "WARST": "WARST", "UYST": "UYST", "∅∅∅": "∅∅∅", "VET": "VET", "ACWST": "ACWST", "ARST": "ARST", "SGT": "SGT", "AST": "AST", "BOT": "BOT", "CLT": "CLT", "LHST": "LHST", "WESZ": "WESZ", "CHADT": "CHADT", "EDT": "ᎧᎸᎬᎢᏗᏢ ᎢᎦ ᎢᏳᏩᎪᏗ", "ACDT": "ACDT", "COST": "COST", "MEZ": "MEZ", "ACST": "ACST", "SAST": "SAST", "IST": "IST", "PDT": "ᏭᏕᎵᎬ ᎢᎦ ᎢᏳᏩᎪᏗ", "NZST": "NZST", "GMT": "ᎢᏤ ᎢᏳᏍᏗ ᎢᏳᏩᎪᏗ", "CHAST": "CHAST", "HADT": "HADT", "EST": "ᎧᎸᎬᎢᏗᏢ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "UYT": "UYT", "AEST": "AEST", "HKST": "HKST", "COT": "COT", "AKDT": "AKDT", "NZDT": "NZDT", "AWDT": "AWDT", "WIT": "WIT", "OESZ": "OESZ", "WEZ": "WEZ", "WART": "WART", "WITA": "WITA", "TMT": "TMT", "ChST": "ChST", "CAT": "CAT", "JST": "JST", "HAST": "HAST", "PST": "ᏭᏕᎵᎬ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "MYT": "MYT", "HAT": "HAT", "ACWDT": "ACWDT", "AKST": "AKST", "MST": "ᎣᏓᎸ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "BT": "BT", "LHDT": "LHDT", "ECT": "ECT", "GYT": "GYT", "GFT": "GFT", "AEDT": "AEDT", "ART": "ART", "MESZ": "MESZ", "EAT": "EAT", "TMST": "TMST", "MDT": "ᎣᏓᎸ ᎢᎦ ᎢᏳᏩᎪᏗ", "HNT": "HNT", "HKT": "HKT", "SRT": "SRT"}, + erasWide: []string{"ᏧᏓᎷᎸ ᎤᎷᎯᏍᏗ ᎦᎶᏁᏛ", "ᎠᏃ ᏙᎻᏂ"}, + timezones: map[string]string{"PDT": "ᏭᏕᎵᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "MEZ": "ᎠᏰᏟ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "MESZ": "ᎠᏰᏟ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "EAT": "ᏗᎧᎸᎬ ᎬᎿᎨᏍᏛ ᎠᏟᎢᎵᏒ", "CST": "ᎠᏰᏟ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "UYST": "ᏳᎷᏇ ᎪᎩ ᎠᏟᎢᎵᏒ", "WIB": "ᏭᏕᎵᎬ ᏗᏜ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "IST": "ᎢᏂᏗᎢᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HENOMX": "ᏧᏴᏢ ᏭᏕᎵᎬ ᎠᏂᏍᏆᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "UYT": "ᏳᎷᏇ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HKST": "ᎰᏂᎩ ᎪᏂᎩ ᎪᎩ ᎠᏟᎢᎵᏒ", "WEZ": "ᏭᏕᎵᎬ ᏗᏜ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ACWDT": "ᎠᏰᏟ ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "NZST": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "MST": "ᎣᏓᎸ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HAT": "ᎢᏤᎤᏂᏩᏛᏓᎦᏙᎯ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "HEOG": "ᏭᏕᎵᎬ ᎢᏤᏍᏛᏱ ᎪᎩ ᎠᏟᎢᎵᏒ", "NZDT": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "CLST": "ᏥᎵ ᎪᎩ ᎠᏟᎢᎵᏒ", "JDT": "ᏣᏩᏂᏏ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "CAT": "ᎠᏰᏟ ᎬᎿᎨᏍᏛ ᎠᏟᎢᎵᏒ", "WAST": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ ᎪᎩ ᎠᏟᎢᎵᏒ", "SRT": "ᏒᎵᎾᎻ ᎠᏟᎢᎵᏒ", "VET": "ᏪᏁᏑᏪᎳ ᎠᏟᎢᎵᏒ", "ChST": "ᏣᎼᎶ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HEEG": "ᏗᎧᎸᎬ ᎢᏤᏍᏛᏱ ᎪᎩ ᎠᏟᎢᎵᏒ", "TMT": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HAST": "ᎭᏩᏱ-ᎠᎵᏳᏏᎠᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HEPMX": "ᎠᏂᏍᏆᏂ ᏭᏕᎵᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "HNOG": "ᏭᏕᎵᎬ ᎢᏤᏍᏛᏱ ᎠᏟᎶᏍᏗ ᎠᎵᎢᎵᏒ", "HNPM": "ᎤᏓᏅᏘ ᏈᏰ ᎠᎴ ᎻᏇᎶᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "SAST": "ᏧᎦᎾᏮ ᎬᎿᎨᏍᏛ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CLT": "ᏥᎵ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "∅∅∅": "ᎠᎺᏌᏂ ᎪᎩ ᎠᏟᎢᎵᏒ", "HNEG": "ᏗᎧᎸᎬ ᎢᏤᏍᏛᏱ ᎠᏟᎶᏍᏗ ᎠᎵᎢᎵᏒ", "AST": "ᏗᎧᎸᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "WIT": "ᏗᎧᎸᎬ ᏗᏜ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "WART": "ᏭᏕᎵᎬ ᏗᏜ ᎠᏥᏂᏘᏂᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "COST": "ᎪᎸᎻᏈᎢᎠ ᎪᎩ ᎠᏟᎢᎵᏒ", "GMT": "ᎢᏤ ᎢᏳᏍᏗ ᎠᏟᎢᎵᏒ", "ADT": "ᏗᎧᎸᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "WITA": "ᎠᏰᏟ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "AWDT": "ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "HEPM": "ᎤᏓᏅᏘ ᏈᏰ ᎠᎴ ᎻᏇᎶᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "CHADT": "ᏣᏝᎻ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "JST": "ᏣᏩᏂᏏ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "TMST": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎪᎩ ᎠᏟᎢᎵᏒ", "ACST": "ᎠᏰᏟ ᎡᎳᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CDT": "ᎠᏰᏟ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "HNT": "ᎢᏤᎤᏂᏩᏛᏓᎦᏙᎯ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "GYT": "ᎦᏯᎾ ᎠᏟᎢᎵᏒ", "BOT": "ᏉᎵᏫᎠ ᎠᏟᎢᎵᏒ", "GFT": "ᎠᏂᎦᎸ ᏈᏯᎾ ᎠᏟᎢᎵᏒ", "OEZ": "ᏗᎧᎸᎬ ᏗᏜ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HECU": "ᎫᏆ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "HNPMX": "ᎠᏂᏍᏆᏂ ᏭᏕᎵᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HADT": "ᎭᏩᏱ-ᎠᎵᏳᏏᎠᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "EST": "ᏗᎧᎸᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "PST": "ᏭᏕᎵᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CHAST": "ᏣᏝᎻ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ACDT": "ᎠᏰᏟ ᎡᎳᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "HNCU": "ᎫᏆ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "WESZ": "ᏭᏕᎵᎬ ᏗᏜ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "LHST": "ᎤᎬᏫᏳᎯ ᎭᏫ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "SGT": "ᏏᏂᎦᏉᎵ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "EDT": "ᏗᎧᎸᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "AEDT": "ᎡᎳᏗᏜ ᏗᎧᎸᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "WAT": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "COT": "ᎪᎸᎻᏈᎢᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNNOMX": "ᏧᏴᏢ ᏭᏕᎵᎬ ᎠᏂᏍᏆᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "MYT": "ᎹᎴᏏᎢᎠ ᎠᏟᎢᎵᏒ", "MDT": "ᎣᏓᎸ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "AWST": "ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "LHDT": "ᎤᎬᏫᏳᎯ ᎭᏫ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "AKDT": "ᎠᎳᏍᎦ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "ARST": "ᎠᏥᏂᏘᏂᎠ ᎪᎩ ᎠᏟᎢᎵᏒ", "ACWST": "ᎠᏰᏟ ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ART": "ᎠᏥᏂᏘᏂᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "AEST": "ᎡᎳᏗᏜ ᏗᎧᎸᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HKT": "ᎰᏂᎩ ᎪᏂᎩ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "OESZ": "ᏗᎧᎸᎬ ᏗᏜ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "ECT": "ᎡᏆᏙᎵ ᎠᏟᎢᎵᏒ", "WARST": "ᏭᏕᎵᎬ ᏗᏜ ᎠᏥᏂᏘᏂᎠ ᎪᎩ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "BT": "ᏊᏔᏂ ᎠᏟᎢᎵᏒ", "AKST": "ᎠᎳᏍᎦ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ"}, } } @@ -412,7 +414,12 @@ func (chr *chr) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +433,12 @@ func (chr *chr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +454,12 @@ func (chr *chr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/chr_US/chr_US.go b/chr_US/chr_US.go index 1564d5e40..9540719a6 100644 --- a/chr_US/chr_US.go +++ b/chr_US/chr_US.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ᎤᏃ", "ᎧᎦ", "ᎠᏅ", "ᎧᏬ", "ᎠᏂ", "ᏕᎭ", "ᎫᏰ", "ᎦᎶ", "ᏚᎵ", "ᏚᏂ", "ᏅᏓ", "ᎥᏍ"}, @@ -63,13 +63,15 @@ func New() locales.Translator { monthsWide: []string{"", "ᎤᏃᎸᏔᏅ", "ᎧᎦᎵ", "ᎠᏅᏱ", "ᎧᏬᏂ", "ᎠᏂᏍᎬᏘ", "ᏕᎭᎷᏱ", "ᎫᏰᏉᏂ", "ᎦᎶᏂ", "ᏚᎵᏍᏗ", "ᏚᏂᏅᏗ", "ᏅᏓᏕᏆ", "ᎥᏍᎩᏱ"}, daysAbbreviated: []string{"ᏆᏍᎬ", "ᏉᏅᎯ", "ᏔᎵᏁ", "ᏦᎢᏁ", "ᏅᎩᏁ", "ᏧᎾᎩ", "ᏈᏕᎾ"}, daysNarrow: []string{"Ꮖ", "Ꮙ", "Ꮤ", "Ꮶ", "Ꮕ", "Ꮷ", "Ꭴ"}, + daysShort: []string{"ᏍᎬ", "ᏅᎯ", "ᏔᎵ", "ᏦᎢ", "ᏅᎩ", "ᏧᎾ", "ᏕᎾ"}, daysWide: []string{"ᎤᎾᏙᏓᏆᏍᎬ", "ᎤᎾᏙᏓᏉᏅᎯ", "ᏔᎵᏁᎢᎦ", "ᏦᎢᏁᎢᎦ", "ᏅᎩᏁᎢᎦ", "ᏧᎾᎩᎶᏍᏗ", "ᎤᎾᏙᏓᏈᏕᎾ"}, periodsAbbreviated: []string{"ᏌᎾᎴ", "ᏒᎯᏱᎢᏗᏢ"}, + periodsNarrow: []string{"Ꮜ", "Ꮢ"}, periodsWide: []string{"ᏌᎾᎴ", "ᏒᎯᏱᎢᏗᏢ"}, - erasAbbreviated: []string{"ᎤᏓᎷᎸ", "ᎤᎶᏐᏅ"}, + erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ", "ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ"}, - timezones: map[string]string{"GYT": "GYT", "MST": "ᎣᏓᎸ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "ECT": "ECT", "WARST": "WARST", "WAT": "WAT", "WITA": "WITA", "TMT": "TMT", "CST": "ᎠᏰᎵ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "AWST": "AWST", "LHST": "LHST", "JDT": "JDT", "OEZ": "OEZ", "MEZ": "MEZ", "WAST": "WAST", "HNT": "HNT", "CLST": "CLST", "ARST": "ARST", "AKDT": "AKDT", "EST": "ᎧᎸᎬᎢᏗᏢ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "ChST": "ChST", "AWDT": "AWDT", "WART": "WART", "MYT": "MYT", "GMT": "ᎢᏤ ᎢᏳᏍᏗ ᎢᏳᏩᎪᏗ", "OESZ": "OESZ", "HKST": "HKST", "CHADT": "CHADT", "SGT": "SGT", "HAST": "HAST", "WIT": "WIT", "ACWST": "ACWST", "EDT": "ᎧᎸᎬᎢᏗᏢ ᎢᎦ ᎢᏳᏩᎪᏗ", "COST": "COST", "ACWDT": "ACWDT", "EAT": "EAT", "NZST": "NZST", "SRT": "SRT", "MDT": "ᎣᏓᎸ ᎢᎦ ᎢᏳᏩᎪᏗ", "∅∅∅": "∅∅∅", "LHDT": "LHDT", "UYT": "UYT", "UYST": "UYST", "WESZ": "WESZ", "WIB": "WIB", "SAST": "SAST", "JST": "JST", "WEZ": "WEZ", "BOT": "BOT", "MESZ": "MESZ", "VET": "VET", "AEST": "AEST", "AST": "AST", "TMST": "TMST", "CDT": "ᎠᏰᎵ ᎢᎦ ᎢᏳᏩᎪᏗ", "CHAST": "CHAST", "ACDT": "ACDT", "COT": "COT", "AKST": "AKST", "ADT": "ADT", "CAT": "CAT", "HAT": "HAT", "ART": "ART", "NZDT": "NZDT", "CLT": "CLT", "GFT": "GFT", "HADT": "HADT", "PDT": "ᏭᏕᎵᎬ ᎢᎦ ᎢᏳᏩᎪᏗ", "IST": "IST", "BT": "BT", "ACST": "ACST", "AEDT": "AEDT", "PST": "ᏭᏕᎵᎬ ᏰᎵᏊ ᏗᏙᎳᎩ ᎢᏳᏩᎪᏗ", "HKT": "HKT"}, + erasWide: []string{"ᏧᏓᎷᎸ ᎤᎷᎯᏍᏗ ᎦᎶᏁᏛ", "ᎠᏃ ᏙᎻᏂ"}, + timezones: map[string]string{"PST": "ᏭᏕᎵᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "PDT": "ᏭᏕᎵᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "AWDT": "ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "LHST": "ᎤᎬᏫᏳᎯ ᎭᏫ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "OESZ": "ᏗᎧᎸᎬ ᏗᏜ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "COST": "ᎪᎸᎻᏈᎢᎠ ᎪᎩ ᎠᏟᎢᎵᏒ", "GYT": "ᎦᏯᎾ ᎠᏟᎢᎵᏒ", "HEOG": "ᏭᏕᎵᎬ ᎢᏤᏍᏛᏱ ᎪᎩ ᎠᏟᎢᎵᏒ", "CHADT": "ᏣᏝᎻ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "WART": "ᏭᏕᎵᎬ ᏗᏜ ᎠᏥᏂᏘᏂᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNPMX": "ᎠᏂᏍᏆᏂ ᏭᏕᎵᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HEPMX": "ᎠᏂᏍᏆᏂ ᏭᏕᎵᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "UYST": "ᏳᎷᏇ ᎪᎩ ᎠᏟᎢᎵᏒ", "JDT": "ᏣᏩᏂᏏ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "ECT": "ᎡᏆᏙᎵ ᎠᏟᎢᎵᏒ", "CDT": "ᎠᏰᏟ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "MEZ": "ᎠᏰᏟ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HEPM": "ᎤᏓᏅᏘ ᏈᏰ ᎠᎴ ᎻᏇᎶᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "HNOG": "ᏭᏕᎵᎬ ᎢᏤᏍᏛᏱ ᎠᏟᎶᏍᏗ ᎠᎵᎢᎵᏒ", "WEZ": "ᏭᏕᎵᎬ ᏗᏜ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ARST": "ᎠᏥᏂᏘᏂᎠ ᎪᎩ ᎠᏟᎢᎵᏒ", "AEDT": "ᎡᎳᏗᏜ ᏗᎧᎸᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "NZST": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "GFT": "ᎠᏂᎦᎸ ᏈᏯᎾ ᎠᏟᎢᎵᏒ", "WAT": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNNOMX": "ᏧᏴᏢ ᏭᏕᎵᎬ ᎠᏂᏍᏆᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "WESZ": "ᏭᏕᎵᎬ ᏗᏜ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "HEEG": "ᏗᎧᎸᎬ ᎢᏤᏍᏛᏱ ᎪᎩ ᎠᏟᎢᎵᏒ", "COT": "ᎪᎸᎻᏈᎢᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "WIT": "ᏗᎧᎸᎬ ᏗᏜ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "MDT": "MDT", "MYT": "ᎹᎴᏏᎢᎠ ᎠᏟᎢᎵᏒ", "HADT": "ᎭᏩᏱ-ᎠᎵᏳᏏᎠᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "TMST": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎪᎩ ᎠᏟᎢᎵᏒ", "SGT": "ᏏᏂᎦᏉᎵ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "VET": "ᏪᏁᏑᏪᎳ ᎠᏟᎢᎵᏒ", "HKST": "ᎰᏂᎩ ᎪᏂᎩ ᎪᎩ ᎠᏟᎢᎵᏒ", "HAT": "ᎢᏤᎤᏂᏩᏛᏓᎦᏙᎯ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "ACST": "ᎠᏰᏟ ᎡᎳᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ACDT": "ᎠᏰᏟ ᎡᎳᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "EDT": "ᏗᎧᎸᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "ADT": "ᏗᎧᎸᎬ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "HAST": "ᎭᏩᏱ-ᎠᎵᏳᏏᎠᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HKT": "ᎰᏂᎩ ᎪᏂᎩ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CHAST": "ᏣᏝᎻ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "SAST": "ᏧᎦᎾᏮ ᎬᎿᎨᏍᏛ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CAT": "ᎠᏰᏟ ᎬᎿᎨᏍᏛ ᎠᏟᎢᎵᏒ", "WARST": "ᏭᏕᎵᎬ ᏗᏜ ᎠᏥᏂᏘᏂᎠ ᎪᎩ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "MST": "MST", "UYT": "ᏳᎷᏇ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ACWDT": "ᎠᏰᏟ ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "∅∅∅": "ᎠᎺᏌᏂ ᎪᎩ ᎠᏟᎢᎵᏒ", "ChST": "ᏣᎼᎶ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "AKST": "ᎠᎳᏍᎦ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "AST": "ᏗᎧᎸᎬ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "NZDT": "ᎢᏤ ᏏᎢᎴᏂᏗ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "IST": "ᎢᏂᏗᎢᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "JST": "ᏣᏩᏂᏏ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "WAST": "ᏭᏕᎵᎬ ᎬᎿᎨᏍᏛ ᎪᎩ ᎠᏟᎢᎵᏒ", "HECU": "ᎫᏆ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "WITA": "ᎠᏰᏟ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "LHDT": "ᎤᎬᏫᏳᎯ ᎭᏫ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏒᎩ", "EAT": "ᏗᎧᎸᎬ ᎬᎿᎨᏍᏛ ᎠᏟᎢᎵᏒ", "EST": "ᏗᎧᎸᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "ACWST": "ᎠᏰᏟ ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNT": "ᎢᏤᎤᏂᏩᏛᏓᎦᏙᎯ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CST": "ᎠᏰᏟ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CLT": "ᏥᎵ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "OEZ": "ᏗᎧᎸᎬ ᏗᏜ ᏳᎳᏈ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HENOMX": "ᏧᏴᏢ ᏭᏕᎵᎬ ᎠᏂᏍᏆᏂ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "AKDT": "ᎠᎳᏍᎦ ᎪᎯ ᎢᎦ ᎠᏟᎢᎵᏍᏒᎩ", "WIB": "ᏭᏕᎵᎬ ᏗᏜ ᎢᏂᏙᏂᏍᏯ ᎠᏟᎢᎵᏒ", "SRT": "ᏒᎵᎾᎻ ᎠᏟᎢᎵᏒ", "ART": "ᎠᏥᏂᏘᏂᎠ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "AEST": "ᎡᎳᏗᏜ ᏗᎧᎸᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "CLST": "ᏥᎵ ᎪᎩ ᎠᏟᎢᎵᏒ", "HNEG": "ᏗᎧᎸᎬ ᎢᏤᏍᏛᏱ ᎠᏟᎶᏍᏗ ᎠᎵᎢᎵᏒ", "TMT": "ᏛᎵᎩᎺᏂᏍᏔᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNCU": "ᎫᏆ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "HNPM": "ᎤᏓᏅᏘ ᏈᏰ ᎠᎴ ᎻᏇᎶᏂ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ", "MESZ": "ᎠᏰᏟ ᏳᎳᏈ ᎪᎩ ᎠᏟᎢᎵᏒ", "BOT": "ᏉᎵᏫᎠ ᎠᏟᎢᎵᏒ", "GMT": "ᎢᏤ ᎢᏳᏍᏗ ᎠᏟᎢᎵᏒ", "BT": "ᏊᏔᏂ ᎠᏟᎢᎵᏒ", "AWST": "ᎡᎳᏗᏜ ᏭᏕᎵᎬ ᏗᏜ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ"}, } } @@ -412,7 +414,12 @@ func (chr *chr_US) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +433,12 @@ func (chr *chr_US) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +454,12 @@ func (chr *chr_US) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ckb/ckb.go b/ckb/ckb.go index 1733ea583..179cd937d 100644 --- a/ckb/ckb.go +++ b/ckb/ckb.go @@ -10,56 +10,69 @@ import ( ) type ckb struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ckb' locale func New() locales.Translator { return &ckb{ - locale: "ckb", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: nil, - pluralsRange: nil, - minus: "‎-", - percent: "٪", - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, - daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - periodsWide: []string{"ب.ن", "د.ن"}, - erasAbbreviated: []string{"پ.ن", "ز"}, - erasNarrow: []string{"پ.ن", "ز"}, - erasWide: []string{"پێش زایین", "زایینی"}, - timezones: map[string]string{"MESZ": "MESZ", "WAT": "WAT", "AKST": "AKST", "GMT": "GMT", "LHST": "LHST", "UYT": "UYT", "HKT": "HKT", "EST": "EST", "HAT": "HAT", "ACST": "ACST", "SGT": "SGT", "AEDT": "AEDT", "ART": "ART", "AST": "AST", "HKST": "HKST", "WAST": "WAST", "EAT": "EAT", "WIT": "WIT", "JDT": "JDT", "COT": "COT", "CAT": "CAT", "ACDT": "ACDT", "COST": "COST", "WARST": "WARST", "PDT": "PDT", "NZST": "NZST", "BOT": "BOT", "WESZ": "WESZ", "GFT": "GFT", "MEZ": "MEZ", "ARST": "ARST", "SAST": "SAST", "IST": "IST", "AKDT": "AKDT", "PST": "PST", "∅∅∅": "∅∅∅", "GYT": "GYT", "ACWDT": "ACWDT", "TMST": "TMST", "MDT": "MDT", "SRT": "SRT", "CLST": "CLST", "UYST": "UYST", "JST": "JST", "OESZ": "OESZ", "BT": "BT", "ADT": "ADT", "ECT": "ECT", "HADT": "HADT", "EDT": "EDT", "CHAST": "CHAST", "HAST": "HAST", "WART": "WART", "MST": "MST", "ChST": "ChST", "CHADT": "CHADT", "CLT": "CLT", "OEZ": "OEZ", "WIB": "WIB", "CDT": "CDT", "NZDT": "NZDT", "AWDT": "AWDT", "LHDT": "LHDT", "WEZ": "WEZ", "VET": "VET", "ACWST": "ACWST", "AEST": "AEST", "TMT": "TMT", "AWST": "AWST", "WITA": "WITA", "CST": "CST", "MYT": "MYT", "HNT": "HNT"}, + locale: "ckb", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: "٫", + group: "٬", + percent: "٪", + perMille: "؉", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + monthsNarrow: []string{"", "ک", "ش", "ئ", "ن", "ئ", "ح", "ت", "ئ", "ئ", "ت", "ت", "ک"}, + monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, + daysShort: []string{"١ش", "٢ش", "٣ش", "٤ش", "٥ش", "ھ", "ش"}, + daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + periodsAbbreviated: []string{"ب.ن", "د.ن"}, + periodsNarrow: []string{"ب.ن", "د.ن"}, + periodsWide: []string{"ب.ن", "د.ن"}, + erasAbbreviated: []string{"پێش زایین", "زایینی"}, + erasNarrow: []string{"پ.ن", "ز"}, + erasWide: []string{"پێش زایین", "زایینی"}, + timezones: map[string]string{"JST": "JST", "TMT": "TMT", "VET": "VET", "HEPM": "HEPM", "NZDT": "NZDT", "HNPMX": "HNPMX", "HAT": "HAT", "IST": "IST", "OEZ": "OEZ", "GFT": "GFT", "ACST": "ACST", "CAT": "CAT", "EST": "EST", "BT": "BT", "HNT": "HNT", "HEOG": "HEOG", "MEZ": "MEZ", "BOT": "BOT", "GMT": "GMT", "GYT": "GYT", "HAST": "HAST", "ART": "ART", "CHAST": "CHAST", "CHADT": "CHADT", "MESZ": "MESZ", "CLST": "CLST", "EDT": "EDT", "JDT": "JDT", "WAST": "WAST", "SGT": "SGT", "HNCU": "HNCU", "HECU": "HECU", "AST": "AST", "PDT": "PDT", "NZST": "NZST", "COT": "COT", "HNPM": "HNPM", "EAT": "EAT", "PST": "PST", "AEST": "AEST", "AEDT": "AEDT", "HNOG": "HNOG", "HENOMX": "HENOMX", "CST": "CST", "MYT": "MYT", "SRT": "SRT", "ACWST": "ACWST", "ARST": "ARST", "SAST": "SAST", "CLT": "CLT", "AKST": "AKST", "UYST": "UYST", "MST": "MST", "WITA": "WITA", "LHDT": "LHDT", "WAT": "WAT", "COST": "COST", "AKDT": "AKDT", "HKT": "HKT", "HKST": "HKST", "HEEG": "HEEG", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "WIB": "WIB", "WIT": "WIT", "AWST": "AWST", "UYT": "UYT", "ADT": "ADT", "MDT": "MDT", "TMST": "TMST", "WART": "WART", "WARST": "WARST", "WEZ": "WEZ", "WESZ": "WESZ", "LHST": "LHST", "ChST": "ChST", "ACDT": "ACDT", "ECT": "ECT", "CDT": "CDT", "HADT": "HADT", "ACWDT": "ACWDT", "HNEG": "HNEG"}, } } @@ -122,7 +135,7 @@ func (ckb *ckb) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ckb *ckb) MonthsNarrow() []string { - return nil + return ckb.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -178,13 +191,81 @@ func (ckb *ckb) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ckb' and handles both Whole and Real numbers based on 'v' func (ckb *ckb) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ckb' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ckb *ckb) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 6 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ckb.percentSuffix...) + + b = append(b, ckb.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ckb' @@ -192,7 +273,60 @@ func (ckb *ckb) FmtCurrency(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, ckb.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) } // FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'ckb' @@ -201,7 +335,67 @@ func (ckb *ckb) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, ckb.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, ckb.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ckb.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) } // FmtDateShort returns the short date representation of 't' for 'ckb' @@ -209,6 +403,28 @@ func (ckb *ckb) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -217,6 +433,17 @@ func (ckb *ckb) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -229,7 +456,12 @@ func (ckb *ckb) FmtDateLong(t time.Time) string { b = append(b, []byte{0xdb, 0x8c, 0x20}...) b = append(b, ckb.monthsWide[t.Month()]...) b = append(b, []byte{0xdb, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -239,6 +471,19 @@ func (ckb *ckb) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, ckb.daysWide[t.Weekday()]...) + return string(b) } diff --git a/ckb_IQ/ckb_IQ.go b/ckb_IQ/ckb_IQ.go index f77dfa07b..493e0b6f4 100644 --- a/ckb_IQ/ckb_IQ.go +++ b/ckb_IQ/ckb_IQ.go @@ -10,56 +10,69 @@ import ( ) type ckb_IQ struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ckb_IQ' locale func New() locales.Translator { return &ckb_IQ{ - locale: "ckb_IQ", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: nil, - pluralsRange: nil, - minus: "‎-", - percent: "٪", - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, - daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - periodsWide: []string{"ب.ن", "د.ن"}, - erasAbbreviated: []string{"پ.ن", "ز"}, - erasNarrow: []string{"پ.ن", "ز"}, - erasWide: []string{"پێش زایین", "زایینی"}, - timezones: map[string]string{"BT": "BT", "∅∅∅": "∅∅∅", "COT": "COT", "SAST": "SAST", "BOT": "BOT", "ACWST": "ACWST", "ADT": "ADT", "MDT": "MDT", "UYT": "UYT", "GMT": "GMT", "WEZ": "WEZ", "ACDT": "ACDT", "EST": "EST", "HNT": "HNT", "CDT": "CDT", "ChST": "ChST", "AWST": "AWST", "AWDT": "AWDT", "HKST": "HKST", "CHAST": "CHAST", "WIB": "WIB", "PST": "PST", "JST": "JST", "WESZ": "WESZ", "VET": "VET", "WIT": "WIT", "CLST": "CLST", "WART": "WART", "HADT": "HADT", "EDT": "EDT", "AST": "AST", "NZST": "NZST", "NZDT": "NZDT", "CHADT": "CHADT", "COST": "COST", "MESZ": "MESZ", "PDT": "PDT", "JDT": "JDT", "LHST": "LHST", "LHDT": "LHDT", "HKT": "HKT", "ART": "ART", "ARST": "ARST", "IST": "IST", "ECT": "ECT", "TMST": "TMST", "MST": "MST", "HAT": "HAT", "SGT": "SGT", "WAT": "WAT", "AKST": "AKST", "CAT": "CAT", "SRT": "SRT", "OEZ": "OEZ", "AKDT": "AKDT", "CST": "CST", "GFT": "GFT", "WARST": "WARST", "HAST": "HAST", "WAST": "WAST", "WITA": "WITA", "MYT": "MYT", "GYT": "GYT", "OESZ": "OESZ", "MEZ": "MEZ", "ACST": "ACST", "AEST": "AEST", "CLT": "CLT", "UYST": "UYST", "AEDT": "AEDT", "ACWDT": "ACWDT", "EAT": "EAT", "TMT": "TMT"}, + locale: "ckb_IQ", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: "٫", + group: "٬", + percent: "٪", + perMille: "؉", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + monthsNarrow: []string{"", "ک", "ش", "ئ", "ن", "ئ", "ح", "ت", "ئ", "ئ", "ت", "ت", "ک"}, + monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, + daysShort: []string{"١ش", "٢ش", "٣ش", "٤ش", "٥ش", "ھ", "ش"}, + daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + periodsAbbreviated: []string{"ب.ن", "د.ن"}, + periodsNarrow: []string{"ب.ن", "د.ن"}, + periodsWide: []string{"ب.ن", "د.ن"}, + erasAbbreviated: []string{"پێش زایین", "زایینی"}, + erasNarrow: []string{"پ.ن", "ز"}, + erasWide: []string{"پێش زایین", "زایینی"}, + timezones: map[string]string{"NZST": "NZST", "OEZ": "OEZ", "EST": "EST", "EDT": "EDT", "HEPMX": "HEPMX", "MEZ": "MEZ", "ARST": "ARST", "HNOG": "HNOG", "CHADT": "CHADT", "EAT": "EAT", "GYT": "GYT", "HNT": "HNT", "LHDT": "LHDT", "MDT": "MDT", "CDT": "CDT", "UYST": "UYST", "HKT": "HKT", "NZDT": "NZDT", "WARST": "WARST", "HNPM": "HNPM", "TMT": "TMT", "WAT": "WAT", "WART": "WART", "AKST": "AKST", "HEOG": "HEOG", "CHAST": "CHAST", "BOT": "BOT", "ACST": "ACST", "CAT": "CAT", "COT": "COT", "COST": "COST", "AWST": "AWST", "CLST": "CLST", "ACDT": "ACDT", "IST": "IST", "BT": "BT", "SRT": "SRT", "CLT": "CLT", "JDT": "JDT", "WAST": "WAST", "ECT": "ECT", "VET": "VET", "AEDT": "AEDT", "MESZ": "MESZ", "GMT": "GMT", "SGT": "SGT", "AKDT": "AKDT", "AST": "AST", "WEZ": "WEZ", "HEPM": "HEPM", "LHST": "LHST", "HECU": "HECU", "CST": "CST", "PST": "PST", "HAT": "HAT", "AEST": "AEST", "AWDT": "AWDT", "HKST": "HKST", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "HNCU": "HNCU", "WIT": "WIT", "ADT": "ADT", "ART": "ART", "ChST": "ChST", "TMST": "TMST", "WIB": "WIB", "HADT": "HADT", "WITA": "WITA", "HNNOMX": "HNNOMX", "PDT": "PDT", "ACWST": "ACWST", "JST": "JST", "OESZ": "OESZ", "MST": "MST", "HAST": "HAST", "HENOMX": "HENOMX", "MYT": "MYT", "UYT": "UYT", "ACWDT": "ACWDT", "SAST": "SAST", "HNEG": "HNEG", "GFT": "GFT", "HNPMX": "HNPMX", "WESZ": "WESZ"}, } } @@ -122,7 +135,7 @@ func (ckb *ckb_IQ) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ckb *ckb_IQ) MonthsNarrow() []string { - return nil + return ckb.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -178,13 +191,81 @@ func (ckb *ckb_IQ) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ckb_IQ' and handles both Whole and Real numbers based on 'v' func (ckb *ckb_IQ) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ckb_IQ' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ckb *ckb_IQ) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 6 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ckb.percentSuffix...) + + b = append(b, ckb.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ckb_IQ' @@ -192,7 +273,60 @@ func (ckb *ckb_IQ) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, ckb.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) } // FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'ckb_IQ' @@ -201,7 +335,67 @@ func (ckb *ckb_IQ) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, ckb.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, ckb.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ckb.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) } // FmtDateShort returns the short date representation of 't' for 'ckb_IQ' @@ -209,6 +403,28 @@ func (ckb *ckb_IQ) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -217,6 +433,17 @@ func (ckb *ckb_IQ) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -229,7 +456,12 @@ func (ckb *ckb_IQ) FmtDateLong(t time.Time) string { b = append(b, []byte{0xdb, 0x8c, 0x20}...) b = append(b, ckb.monthsWide[t.Month()]...) b = append(b, []byte{0xdb, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -239,6 +471,19 @@ func (ckb *ckb_IQ) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, ckb.daysWide[t.Weekday()]...) + return string(b) } diff --git a/ckb_IR/ckb_IR.go b/ckb_IR/ckb_IR.go index 8d9656192..f05ebfd65 100644 --- a/ckb_IR/ckb_IR.go +++ b/ckb_IR/ckb_IR.go @@ -10,56 +10,69 @@ import ( ) type ckb_IR struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ckb_IR' locale func New() locales.Translator { return &ckb_IR{ - locale: "ckb_IR", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: nil, - pluralsRange: nil, - minus: "‎-", - percent: "٪", - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, - daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, - daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, - periodsWide: []string{"ب.ن", "د.ن"}, - erasAbbreviated: []string{"پ.ن", "ز"}, - erasNarrow: []string{"پ.ن", "ز"}, - erasWide: []string{"پێش زایین", "زایینی"}, - timezones: map[string]string{"CDT": "CDT", "AEDT": "AEDT", "BOT": "BOT", "AST": "AST", "MDT": "MDT", "NZDT": "NZDT", "HADT": "HADT", "AKDT": "AKDT", "ACST": "ACST", "PST": "PST", "ChST": "ChST", "SRT": "SRT", "OESZ": "OESZ", "CHAST": "CHAST", "ART": "ART", "GYT": "GYT", "WESZ": "WESZ", "HKST": "HKST", "ARST": "ARST", "EST": "EST", "WITA": "WITA", "GMT": "GMT", "LHST": "LHST", "MESZ": "MESZ", "ACDT": "ACDT", "COST": "COST", "ECT": "ECT", "UYT": "UYT", "ACWDT": "ACWDT", "PDT": "PDT", "EAT": "EAT", "EDT": "EDT", "TMST": "TMST", "AWST": "AWST", "HKT": "HKT", "WART": "WART", "CST": "CST", "∅∅∅": "∅∅∅", "HNT": "HNT", "HAT": "HAT", "CLT": "CLT", "LHDT": "LHDT", "HAST": "HAST", "WARST": "WARST", "WAT": "WAT", "WAST": "WAST", "WIT": "WIT", "SAST": "SAST", "IST": "IST", "AKST": "AKST", "NZST": "NZST", "CLST": "CLST", "UYST": "UYST", "JST": "JST", "CHADT": "CHADT", "GFT": "GFT", "SGT": "SGT", "AEST": "AEST", "ADT": "ADT", "MYT": "MYT", "CAT": "CAT", "JDT": "JDT", "WEZ": "WEZ", "COT": "COT", "TMT": "TMT", "MST": "MST", "BT": "BT", "AWDT": "AWDT", "OEZ": "OEZ", "WIB": "WIB", "MEZ": "MEZ", "VET": "VET", "ACWST": "ACWST"}, + locale: "ckb_IR", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: "٫", + group: "٬", + percent: "٪", + perMille: "؉", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + monthsNarrow: []string{"", "ک", "ش", "ئ", "ن", "ئ", "ح", "ت", "ئ", "ئ", "ت", "ت", "ک"}, + monthsWide: []string{"", "کانوونی دووەم", "شوبات", "ئازار", "نیسان", "ئایار", "حوزەیران", "تەمووز", "ئاب", "ئەیلوول", "تشرینی یەکەم", "تشرینی دووەم", "کانونی یەکەم"}, + daysAbbreviated: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ھ", "ش"}, + daysShort: []string{"١ش", "٢ش", "٣ش", "٤ش", "٥ش", "ھ", "ش"}, + daysWide: []string{"یەکشەممە", "دووشەممە", "سێشەممە", "چوارشەممە", "پێنجشەممە", "ھەینی", "شەممە"}, + periodsAbbreviated: []string{"ب.ن", "د.ن"}, + periodsNarrow: []string{"ب.ن", "د.ن"}, + periodsWide: []string{"ب.ن", "د.ن"}, + erasAbbreviated: []string{"پێش زایین", "زایینی"}, + erasNarrow: []string{"پ.ن", "ز"}, + erasWide: []string{"پێش زایین", "زایینی"}, + timezones: map[string]string{"LHDT": "LHDT", "OESZ": "OESZ", "UYT": "UYT", "HNT": "HNT", "PST": "PST", "ART": "ART", "HEPM": "HEPM", "TMST": "TMST", "CAT": "CAT", "ECT": "ECT", "SGT": "SGT", "MDT": "MDT", "AWST": "AWST", "WEZ": "WEZ", "HEOG": "HEOG", "JST": "JST", "HNEG": "HNEG", "WARST": "WARST", "HECU": "HECU", "CST": "CST", "PDT": "PDT", "HNNOMX": "HNNOMX", "GMT": "GMT", "EST": "EST", "SRT": "SRT", "WESZ": "WESZ", "ChST": "ChST", "TMT": "TMT", "WART": "WART", "COT": "COT", "EDT": "EDT", "WIT": "WIT", "ACWST": "ACWST", "AEDT": "AEDT", "HNPMX": "HNPMX", "CDT": "CDT", "VET": "VET", "HNOG": "HNOG", "HKT": "HKT", "LHST": "LHST", "SAST": "SAST", "ACST": "ACST", "WAT": "WAT", "HKST": "HKST", "HNPM": "HNPM", "GFT": "GFT", "AKDT": "AKDT", "ADT": "ADT", "CLT": "CLT", "AWDT": "AWDT", "NZST": "NZST", "∅∅∅": "∅∅∅", "EAT": "EAT", "UYST": "UYST", "BT": "BT", "MEZ": "MEZ", "NZDT": "NZDT", "CLST": "CLST", "ACDT": "ACDT", "GYT": "GYT", "WIB": "WIB", "IST": "IST", "BOT": "BOT", "WAST": "WAST", "OEZ": "OEZ", "HNCU": "HNCU", "MST": "MST", "HAT": "HAT", "HEEG": "HEEG", "HENOMX": "HENOMX", "AKST": "AKST", "ACWDT": "ACWDT", "ARST": "ARST", "HAST": "HAST", "HADT": "HADT", "MESZ": "MESZ", "CHAST": "CHAST", "HEPMX": "HEPMX", "MYT": "MYT", "AEST": "AEST", "WITA": "WITA", "CHADT": "CHADT", "JDT": "JDT", "COST": "COST", "AST": "AST"}, } } @@ -122,7 +135,7 @@ func (ckb *ckb_IR) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ckb *ckb_IR) MonthsNarrow() []string { - return nil + return ckb.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -178,13 +191,81 @@ func (ckb *ckb_IR) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ckb_IR' and handles both Whole and Real numbers based on 'v' func (ckb *ckb_IR) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ckb_IR' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ckb *ckb_IR) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 6 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ckb.percentSuffix...) + + b = append(b, ckb.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ckb_IR' @@ -192,7 +273,60 @@ func (ckb *ckb_IR) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ckb.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, ckb.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) } // FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'ckb_IR' @@ -201,7 +335,67 @@ func (ckb *ckb_IR) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ckb.currencies[currency] - return string(append(append([]byte{}, symbol...), s...)) + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ckb.decimal) - 1; j >= 0; j-- { + b = append(b, ckb.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ckb.group) - 1; j >= 0; j-- { + b = append(b, ckb.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, ckb.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, ckb.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, ckb.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, ckb.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) } // FmtDateShort returns the short date representation of 't' for 'ckb_IR' @@ -209,6 +403,28 @@ func (ckb *ckb_IR) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -217,6 +433,17 @@ func (ckb *ckb_IR) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -229,7 +456,12 @@ func (ckb *ckb_IR) FmtDateLong(t time.Time) string { b = append(b, []byte{0xdb, 0x8c, 0x20}...) b = append(b, ckb.monthsWide[t.Month()]...) b = append(b, []byte{0xdb, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -239,6 +471,19 @@ func (ckb *ckb_IR) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ckb.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, ckb.daysWide[t.Weekday()]...) + return string(b) } diff --git a/cmd/generate_resources.go b/cmd/generate_resources.go index cbfaa9528..34e58ca9f 100644 --- a/cmd/generate_resources.go +++ b/cmd/generate_resources.go @@ -1485,7 +1485,15 @@ func parseDateTimeFormat(baseLocale, format string, eraScore uint8) (results str ` } else { // four digit year - results += "b = strconv.AppendInt(b, int64(t.Year()), 10)\n" + results += ` + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + ` } // weekday diff --git a/cs/cs.go b/cs/cs.go index 5c27c76ac..2c3c95fab 100644 --- a/cs/cs.go +++ b/cs/cs.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "Kčs", "CUC", "CUP", "CVE", "CYP", "Kč", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "ECU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "Kčs", "CUC", "CUP", "CVE", "CYP", "Kč", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "ECU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"př. n. l.", "n. l."}, erasNarrow: []string{"př.n.l.", "n.l."}, erasWide: []string{"př. n. l.", "n. l."}, - timezones: map[string]string{"UYST": "Uruguayský letní čas", "PDT": "Severoamerický pacifický letní čas", "∅∅∅": "Brasilijský letní čas", "COT": "Kolumbijský standardní čas", "ACWDT": "Středozápadní australský letní čas", "GYT": "Guyanský čas", "EAT": "Východoafrický čas", "TMT": "Turkmenský standardní čas", "CST": "Severoamerický centrální standardní čas", "ChST": "Chamorrský čas", "BT": "Bhútánský čas", "VET": "Venezuelský čas", "AEST": "Východoaustralský standardní čas", "ARST": "Argentinský letní čas", "BOT": "Bolivijský čas", "MEZ": "Středoevropský standardní čas", "SGT": "Singapurský čas", "TMST": "Turkmenský letní čas", "CHADT": "Chathamský letní čas", "ECT": "Ekvádorský čas", "CDT": "Severoamerický centrální letní čas", "HNT": "Newfoundlandský standardní čas", "SRT": "Surinamský čas", "SAST": "Jihoafrický čas", "WITA": "Středoindonéský čas", "MDT": "Severoamerický horský letní čas", "GMT": "Greenwichský střední čas", "ACST": "Středoaustralský standardní čas", "COST": "Kolumbijský letní čas", "ART": "Argentinský standardní čas", "WARST": "Západoargentinský letní čas", "ACWST": "Středozápadní australský standardní čas", "JDT": "Japonský letní čas", "OEZ": "Východoevropský standardní čas", "OESZ": "Východoevropský letní čas", "MESZ": "Středoevropský letní čas", "HADT": "Havajsko-aleutský letní čas", "AKST": "Aljašský standardní čas", "MYT": "Malajský čas", "CLT": "Chilský standardní čas", "HAT": "Newfoundlandský letní čas", "WEZ": "Západoevropský standardní čas", "ACDT": "Středoaustralský letní čas", "HKT": "Hongkongský standardní čas", "HAST": "Havajsko-aleutský standardní čas", "PST": "Severoamerický pacifický standardní čas", "NZDT": "Novozélandský letní čas", "WIT": "Východoindonéský čas", "LHDT": "Letní čas ostrova lorda Howa", "UYT": "Uruguayský standardní čas", "WESZ": "Západoevropský letní čas", "CLST": "Chilský letní čas", "HKST": "Hongkongský letní čas", "WART": "Západoargentinský standardní čas", "AEDT": "Východoaustralský letní čas", "MST": "Severoamerický horský standardní čas", "AWST": "Západoaustralský standardní čas", "AWDT": "Západoaustralský letní čas", "CHAST": "Chathamský standardní čas", "ADT": "Atlantický letní čas", "WAT": "Západoafrický standardní čas", "LHST": "Standardní čas ostrova lorda Howa", "JST": "Japonský standardní čas", "GFT": "Francouzskoguyanský čas", "WIB": "Západoindonéský čas", "AST": "Atlantický standardní čas", "IST": "Indický čas", "CAT": "Středoafrický čas", "AKDT": "Aljašský letní čas", "WAST": "Západoafrický letní čas", "EST": "Severoamerický východní standardní čas", "EDT": "Severoamerický východní letní čas", "NZST": "Novozélandský standardní čas"}, + timezones: map[string]string{"WART": "Západoargentinský standardní čas", "AKDT": "Aljašský letní čas", "HNOG": "Západogrónský standardní čas", "MEZ": "Středoevropský standardní čas", "CLT": "Chilský standardní čas", "GFT": "Francouzskoguyanský čas", "WIB": "Západoindonéský čas", "HEOG": "Západogrónský letní čas", "COST": "Kolumbijský letní čas", "HNCU": "Kubánský standardní čas", "GMT": "Greenwichský střední čas", "CDT": "Severoamerický centrální letní čas", "HNPM": "Pierre-miquelonský standardní čas", "CLST": "Chilský letní čas", "BOT": "Bolivijský čas", "WARST": "Západoargentinský letní čas", "HNT": "Newfoundlandský standardní čas", "HKST": "Hongkongský letní čas", "CAT": "Středoafrický čas", "EAT": "Východoafrický čas", "MDT": "Macajský letní čas", "HAST": "Havajsko-aleutský standardní čas", "WESZ": "Západoevropský letní čas", "AEST": "Východoaustralský standardní čas", "NZDT": "Novozélandský letní čas", "HNEG": "Východogrónský standardní čas", "ADT": "Atlantický letní čas", "GYT": "Guyanský čas", "WIT": "Východoindonéský čas", "HADT": "Havajsko-aleutský letní čas", "ACWDT": "Středozápadní australský letní čas", "WAST": "Západoafrický letní čas", "HECU": "Kubánský letní čas", "HEPMX": "Mexický pacifický letní čas", "MST": "Macajský standardní čas", "CST": "Severoamerický centrální standardní čas", "UYT": "Uruguayský standardní čas", "AWST": "Západoaustralský standardní čas", "IST": "Indický čas", "JST": "Japonský standardní čas", "HENOMX": "Severozápadní mexický letní čas", "HNPMX": "Mexický pacifický standardní čas", "EDT": "Severoamerický východní letní čas", "HAT": "Newfoundlandský letní čas", "CHAST": "Chathamský standardní čas", "MESZ": "Středoevropský letní čas", "JDT": "Japonský letní čas", "SRT": "Surinamský čas", "HEPM": "Pierre-miquelonský letní čas", "ECT": "Ekvádorský čas", "MYT": "Malajský čas", "LHDT": "Letní čas ostrova lorda Howa", "SGT": "Singapurský čas", "OEZ": "Východoevropský standardní čas", "HNNOMX": "Severozápadní mexický standardní čas", "VET": "Venezuelský čas", "HKT": "Hongkongský standardní čas", "HEEG": "Východogrónský letní čas", "TMT": "Turkmenský standardní čas", "ACDT": "Středoaustralský letní čas", "OESZ": "Východoevropský letní čas", "AKST": "Aljašský standardní čas", "AST": "Atlantický standardní čas", "ACWST": "Středozápadní australský standardní čas", "LHST": "Standardní čas ostrova lorda Howa", "ChST": "Chamorrský čas", "ARST": "Argentinský letní čas", "AEDT": "Východoaustralský letní čas", "AWDT": "Západoaustralský letní čas", "SAST": "Jihoafrický čas", "ACST": "Středoaustralský standardní čas", "COT": "Kolumbijský standardní čas", "BT": "Bhútánský čas", "ART": "Argentinský standardní čas", "PDT": "Severoamerický pacifický letní čas", "WEZ": "Západoevropský standardní čas", "WITA": "Středoindonéský čas", "∅∅∅": "Amazonský letní čas", "TMST": "Turkmenský letní čas", "WAT": "Západoafrický standardní čas", "EST": "Severoamerický východní standardní čas", "UYST": "Uruguayský letní čas", "PST": "Severoamerický pacifický standardní čas", "NZST": "Novozélandský standardní čas", "CHADT": "Chathamský letní čas"}, } } @@ -467,7 +467,12 @@ func (cs *cs) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -481,7 +486,12 @@ func (cs *cs) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, cs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -497,7 +507,12 @@ func (cs *cs) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, cs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/cs_CZ/cs_CZ.go b/cs_CZ/cs_CZ.go index 0713b5026..7c8d8b0c3 100644 --- a/cs_CZ/cs_CZ.go +++ b/cs_CZ/cs_CZ.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"př. n. l.", "n. l."}, erasNarrow: []string{"př.n.l.", "n.l."}, erasWide: []string{"př. n. l.", "n. l."}, - timezones: map[string]string{"JDT": "Japonský letní čas", "ChST": "Chamorrský čas", "HNT": "Newfoundlandský standardní čas", "WIT": "Východoindonéský čas", "HKST": "Hongkongský letní čas", "COST": "Kolumbijský letní čas", "AST": "Atlantický standardní čas", "EDT": "Severoamerický východní letní čas", "GYT": "Guyanský čas", "CAT": "Středoafrický čas", "NZST": "Novozélandský standardní čas", "GMT": "Greenwichský střední čas", "WEZ": "Západoevropský standardní čas", "CHAST": "Chathamský standardní čas", "ACWST": "Středozápadní australský standardní čas", "ADT": "Atlantický letní čas", "WITA": "Středoindonéský čas", "BOT": "Bolivijský čas", "OESZ": "Východoevropský letní čas", "SGT": "Singapurský čas", "COT": "Kolumbijský standardní čas", "ARST": "Argentinský letní čas", "MST": "Severoamerický horský standardní čas", "NZDT": "Novozélandský letní čas", "GFT": "Francouzskoguyanský čas", "IST": "Indický čas", "UYST": "Uruguayský letní čas", "ECT": "Ekvádorský čas", "AWDT": "Západoaustralský letní čas", "LHST": "Standardní čas ostrova lorda Howa", "CHADT": "Chathamský letní čas", "HADT": "Havajsko-aleutský letní čas", "EST": "Severoamerický východní standardní čas", "UYT": "Uruguayský standardní čas", "CLST": "Chilský letní čas", "WAST": "Západoafrický letní čas", "AKDT": "Aljašský letní čas", "LHDT": "Letní čas ostrova lorda Howa", "WIB": "Západoindonéský čas", "MEZ": "Středoevropský standardní čas", "VET": "Venezuelský čas", "AEST": "Východoaustralský standardní čas", "WAT": "Západoafrický standardní čas", "TMST": "Turkmenský letní čas", "BT": "Bhútánský čas", "AWST": "Západoaustralský standardní čas", "JST": "Japonský standardní čas", "ACWDT": "Středozápadní australský letní čas", "WART": "Západoargentinský standardní čas", "AKST": "Aljašský standardní čas", "TMT": "Turkmenský standardní čas", "CST": "Severoamerický centrální standardní čas", "SRT": "Surinamský čas", "AEDT": "Východoaustralský letní čas", "WARST": "Západoargentinský letní čas", "PDT": "Severoamerický pacifický letní čas", "HAT": "Newfoundlandský letní čas", "OEZ": "Východoevropský standardní čas", "WESZ": "Západoevropský letní čas", "ACST": "Středoaustralský standardní čas", "PST": "Severoamerický pacifický standardní čas", "MDT": "Severoamerický horský letní čas", "MYT": "Malajský čas", "HKT": "Hongkongský standardní čas", "MESZ": "Středoevropský letní čas", "SAST": "Jihoafrický čas", "∅∅∅": "Brasilijský letní čas", "ART": "Argentinský standardní čas", "EAT": "Východoafrický čas", "CLT": "Chilský standardní čas", "ACDT": "Středoaustralský letní čas", "HAST": "Havajsko-aleutský standardní čas", "CDT": "Severoamerický centrální letní čas"}, + timezones: map[string]string{"AKST": "Aljašský standardní čas", "PDT": "Severoamerický pacifický letní čas", "ACST": "Středoaustralský standardní čas", "ACWST": "Středozápadní australský standardní čas", "HNOG": "Západogrónský standardní čas", "NZDT": "Novozélandský letní čas", "TMST": "Turkmenský letní čas", "ChST": "Chamorrský čas", "MDT": "Macajský letní čas", "AKDT": "Aljašský letní čas", "WIT": "Východoindonéský čas", "WARST": "Západoargentinský letní čas", "CHAST": "Chathamský standardní čas", "JST": "Japonský standardní čas", "ECT": "Ekvádorský čas", "HNCU": "Kubánský standardní čas", "ADT": "Atlantický letní čas", "MYT": "Malajský čas", "HAST": "Havajsko-aleutský standardní čas", "HECU": "Kubánský letní čas", "WIB": "Západoindonéský čas", "AEDT": "Východoaustralský letní čas", "WAST": "Západoafrický letní čas", "IST": "Indický čas", "HNEG": "Východogrónský standardní čas", "BOT": "Bolivijský čas", "COST": "Kolumbijský letní čas", "HEPMX": "Mexický pacifický letní čas", "CDT": "Severoamerický centrální letní čas", "LHST": "Standardní čas ostrova lorda Howa", "OESZ": "Východoevropský letní čas", "VET": "Venezuelský čas", "ACWDT": "Středozápadní australský letní čas", "HNT": "Newfoundlandský standardní čas", "HEPM": "Pierre-miquelonský letní čas", "TMT": "Turkmenský standardní čas", "CAT": "Středoafrický čas", "UYST": "Uruguayský letní čas", "BT": "Bhútánský čas", "HKT": "Hongkongský standardní čas", "AWST": "Západoaustralský standardní čas", "CLST": "Chilský letní čas", "OEZ": "Východoevropský standardní čas", "WART": "Západoargentinský standardní čas", "GMT": "Greenwichský střední čas", "GYT": "Guyanský čas", "UYT": "Uruguayský standardní čas", "ARST": "Argentinský letní čas", "WEZ": "Západoevropský standardní čas", "HKST": "Hongkongský letní čas", "HNPMX": "Mexický pacifický standardní čas", "MST": "Macajský standardní čas", "HEOG": "Západogrónský letní čas", "ART": "Argentinský standardní čas", "SGT": "Singapurský čas", "CST": "Severoamerický centrální standardní čas", "HADT": "Havajsko-aleutský letní čas", "HAT": "Newfoundlandský letní čas", "ACDT": "Středoaustralský letní čas", "WESZ": "Západoevropský letní čas", "LHDT": "Letní čas ostrova lorda Howa", "CLT": "Chilský standardní čas", "MESZ": "Středoevropský letní čas", "EDT": "Severoamerický východní letní čas", "PST": "Severoamerický pacifický standardní čas", "WITA": "Středoindonéský čas", "GFT": "Francouzskoguyanský čas", "HNNOMX": "Severozápadní mexický standardní čas", "HENOMX": "Severozápadní mexický letní čas", "EST": "Severoamerický východní standardní čas", "AWDT": "Západoaustralský letní čas", "HEEG": "Východogrónský letní čas", "MEZ": "Středoevropský standardní čas", "SAST": "Jihoafrický čas", "∅∅∅": "Amazonský letní čas", "NZST": "Novozélandský standardní čas", "CHADT": "Chathamský letní čas", "COT": "Kolumbijský standardní čas", "HNPM": "Pierre-miquelonský standardní čas", "JDT": "Japonský letní čas", "WAT": "Západoafrický standardní čas", "EAT": "Východoafrický čas", "AST": "Atlantický standardní čas", "SRT": "Surinamský čas", "AEST": "Východoaustralský standardní čas"}, } } @@ -467,7 +467,12 @@ func (cs *cs_CZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -481,7 +486,12 @@ func (cs *cs_CZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, cs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -497,7 +507,12 @@ func (cs *cs_CZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, cs.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/cu/cu.go b/cu/cu.go index 462174824..76e410376 100644 --- a/cu/cu.go +++ b/cu/cu.go @@ -55,7 +55,7 @@ func New() locales.Translator { percent: "%", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "₴", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "₴", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -69,10 +69,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"ДП", "ПП"}, periodsNarrow: []string{"ДП", "ПП"}, periodsWide: []string{"ДП", "ПП"}, - erasAbbreviated: []string{"пре́дъ р.\u00a0х.", "по р.\u00a0х."}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"пре́дъ р.\u00a0х.", "по р.\u00a0х."}, - timezones: map[string]string{"ECT": "ECT", "IST": "IST", "AKST": "AKST", "EDT": "восточноамерїка́нское лѣ́тнее вре́мѧ", "GMT": "сре́днее вре́мѧ по грі́нꙋичꙋ", "WEZ": "западноєѵрѡпе́йское зи́мнее вре́мѧ", "CHADT": "CHADT", "LHDT": "LHDT", "HKT": "HKT", "ART": "ART", "WAT": "WAT", "WITA": "WITA", "NZDT": "NZDT", "CLT": "CLT", "CLST": "CLST", "GFT": "GFT", "ACST": "ACST", "EST": "восточноамерїка́нское зи́мнее вре́мѧ", "ChST": "ChST", "JST": "JST", "SRT": "SRT", "WIB": "WIB", "ADT": "а҆тланті́ческое лѣ́тнее вре́мѧ", "GYT": "GYT", "WIT": "WIT", "SAST": "SAST", "AKDT": "AKDT", "HKST": "HKST", "ARST": "ARST", "CDT": "среднеамерїка́нское лѣ́тнее вре́мѧ", "BOT": "BOT", "AWDT": "AWDT", "JDT": "JDT", "CHAST": "CHAST", "UYT": "UYT", "OESZ": "восточноєѵрѡпе́йское лѣ́тнее вре́мѧ", "HAST": "HAST", "ACWST": "ACWST", "AEDT": "AEDT", "WART": "WART", "MST": "а҆мерїка́нское наго́рнее зи́мнее вре́мѧ", "AWST": "AWST", "WESZ": "западноєѵрѡпе́йское лѣ́тнее вре́мѧ", "PST": "тихоѻкеа́нское зи́мнее вре́мѧ", "PDT": "тихоѻкеа́нское лѣ́тнее вре́мѧ", "EAT": "EAT", "MYT": "MYT", "LHST": "LHST", "ACWDT": "ACWDT", "WAST": "WAST", "TMT": "TMT", "MDT": "а҆мерїка́нское наго́рнее лѣ́тнее вре́мѧ", "COT": "COT", "AST": "а҆тланті́ческое зи́мнее вре́мѧ", "HAT": "HAT", "MESZ": "среднеєѵрѡпе́йское лѣ́тнее вре́мѧ", "COST": "COST", "VET": "VET", "HADT": "HADT", "TMST": "TMST", "CAT": "CAT", "HNT": "HNT", "UYST": "UYST", "SGT": "SGT", "BT": "BT", "ACDT": "ACDT", "WARST": "WARST", "∅∅∅": "∅∅∅", "NZST": "NZST", "AEST": "AEST", "CST": "среднеамерїка́нское зи́мнее вре́мѧ", "OEZ": "восточноєѵрѡпе́йское зи́мнее вре́мѧ", "MEZ": "среднеєѵрѡпе́йское зи́мнее вре́мѧ"}, + timezones: map[string]string{"SAST": "SAST", "UYST": "UYST", "ACWST": "ACWST", "HEOG": "HEOG", "AWST": "AWST", "WITA": "WITA", "ACWDT": "ACWDT", "HAT": "HAT", "GMT": "сре́днее вре́мѧ по грі́нꙋичꙋ", "MST": "MST", "HNT": "HNT", "ART": "ART", "AEST": "AEST", "NZDT": "NZDT", "TMST": "TMST", "CST": "среднеамерїка́нское зи́мнее вре́мѧ", "ADT": "а҆тланті́ческое лѣ́тнее вре́мѧ", "WEZ": "западноєѵрѡпе́йское зи́мнее вре́мѧ", "CHAST": "CHAST", "IST": "IST", "AKDT": "AKDT", "WIB": "WIB", "JDT": "JDT", "TMT": "TMT", "WIT": "WIT", "PST": "тихоѻкеа́нское зи́мнее вре́мѧ", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "ACST": "ACST", "ACDT": "ACDT", "WARST": "WARST", "HENOMX": "HENOMX", "HAST": "HAST", "MESZ": "среднеєѵрѡпе́йское лѣ́тнее вре́мѧ", "CLT": "CLT", "HEEG": "HEEG", "MDT": "MDT", "AST": "а҆тланті́ческое зи́мнее вре́мѧ", "GFT": "GFT", "ECT": "ECT", "HEPMX": "HEPMX", "WESZ": "западноєѵрѡпе́йское лѣ́тнее вре́мѧ", "AEDT": "AEDT", "HKST": "HKST", "HEPM": "HEPM", "LHST": "LHST", "OEZ": "восточноєѵрѡпе́йское зи́мнее вре́мѧ", "WART": "WART", "BT": "BT", "HNPM": "HNPM", "HNEG": "HNEG", "OESZ": "восточноєѵрѡпе́йское лѣ́тнее вре́мѧ", "HNNOMX": "HNNOMX", "SGT": "SGT", "EST": "восточноамерїка́нское зи́мнее вре́мѧ", "HNPMX": "HNPMX", "PDT": "тихоѻкеа́нское лѣ́тнее вре́мѧ", "HKT": "HKT", "LHDT": "LHDT", "CHADT": "CHADT", "COT": "COT", "EDT": "восточноамерїка́нское лѣ́тнее вре́мѧ", "EAT": "EAT", "HECU": "HECU", "AKST": "AKST", "MYT": "MYT", "UYT": "UYT", "CLST": "CLST", "JST": "JST", "ChST": "ChST", "COST": "COST", "GYT": "GYT", "ARST": "ARST", "NZST": "NZST", "WAT": "WAT", "CDT": "среднеамерїка́нское лѣ́тнее вре́мѧ", "MEZ": "среднеєѵрѡпе́йское зи́мнее вре́мѧ", "BOT": "BOT", "CAT": "CAT", "WAST": "WAST", "HNCU": "HNCU", "HADT": "HADT", "VET": "VET", "SRT": "SRT", "HNOG": "HNOG"}, } } @@ -388,7 +388,12 @@ func (cu *cu) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) if t.Month() < 10 { @@ -413,7 +418,12 @@ func (cu *cu) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, cu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -427,7 +437,12 @@ func (cu *cu) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, cu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -448,7 +463,13 @@ func (cu *cu) FmtDateFull(t time.Time) string { b = append(b, cu.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xd0, 0xbb}...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/cu_RU/cu_RU.go b/cu_RU/cu_RU.go index 7c7e90556..e74ec10ca 100644 --- a/cu_RU/cu_RU.go +++ b/cu_RU/cu_RU.go @@ -55,7 +55,7 @@ func New() locales.Translator { percent: "%", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -69,10 +69,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"ДП", "ПП"}, periodsNarrow: []string{"ДП", "ПП"}, periodsWide: []string{"ДП", "ПП"}, - erasAbbreviated: []string{"пре́дъ р.\u00a0х.", "по р.\u00a0х."}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"пре́дъ р.\u00a0х.", "по р.\u00a0х."}, - timezones: map[string]string{"MESZ": "среднеєѵрѡпе́йское лѣ́тнее вре́мѧ", "HADT": "HADT", "ARST": "ARST", "MST": "а҆мерїка́нское наго́рнее зи́мнее вре́мѧ", "BT": "BT", "PST": "тихоѻкеа́нское зи́мнее вре́мѧ", "LHST": "LHST", "WESZ": "западноєѵрѡпе́йское лѣ́тнее вре́мѧ", "AEDT": "AEDT", "∅∅∅": "∅∅∅", "NZST": "NZST", "ChST": "ChST", "HNT": "HNT", "UYT": "UYT", "UYST": "UYST", "WEZ": "западноєѵрѡпе́йское зи́мнее вре́мѧ", "WIB": "WIB", "ACWST": "ACWST", "AKDT": "AKDT", "TMT": "TMT", "ACDT": "ACDT", "AEST": "AEST", "ART": "ART", "WAT": "WAT", "JDT": "JDT", "ECT": "ECT", "ACWDT": "ACWDT", "ADT": "а҆тланті́ческое лѣ́тнее вре́мѧ", "TMST": "TMST", "BOT": "BOT", "SRT": "SRT", "PDT": "тихоѻкеа́нское лѣ́тнее вре́мѧ", "WITA": "WITA", "CST": "среднеамерїка́нское зи́мнее вре́мѧ", "CDT": "среднеамерїка́нское лѣ́тнее вре́мѧ", "CAT": "CAT", "HAT": "HAT", "CHAST": "CHAST", "LHDT": "LHDT", "JST": "JST", "COT": "COT", "VET": "VET", "EDT": "восточноамерїка́нское лѣ́тнее вре́мѧ", "GYT": "GYT", "OESZ": "восточноєѵрѡпе́йское лѣ́тнее вре́мѧ", "GFT": "GFT", "ACST": "ACST", "SGT": "SGT", "IST": "IST", "AWST": "AWST", "SAST": "SAST", "AKST": "AKST", "EST": "восточноамерїка́нское зи́мнее вре́мѧ", "MDT": "а҆мерїка́нское наго́рнее лѣ́тнее вре́мѧ", "OEZ": "восточноєѵрѡпе́йское зи́мнее вре́мѧ", "HKT": "HKT", "CHADT": "CHADT", "WART": "WART", "EAT": "EAT", "NZDT": "NZDT", "CLST": "CLST", "MEZ": "среднеєѵрѡпе́йское зи́мнее вре́мѧ", "HAST": "HAST", "AST": "а҆тланті́ческое зи́мнее вре́мѧ", "CLT": "CLT", "COST": "COST", "WARST": "WARST", "MYT": "MYT", "GMT": "сре́днее вре́мѧ по грі́нꙋичꙋ", "HKST": "HKST", "WAST": "WAST", "AWDT": "AWDT", "WIT": "WIT"}, + timezones: map[string]string{"LHST": "LHST", "CST": "среднеамерїка́нское зи́мнее вре́мѧ", "ADT": "а҆тланті́ческое лѣ́тнее вре́мѧ", "AWDT": "AWDT", "WAST": "WAST", "SGT": "SGT", "ART": "ART", "PDT": "тихоѻкеа́нское лѣ́тнее вре́мѧ", "HKST": "HKST", "AWST": "AWST", "HEPM": "HEPM", "EST": "восточноамерїка́нское зи́мнее вре́мѧ", "LHDT": "LHDT", "HNEG": "HNEG", "OEZ": "восточноєѵрѡпе́йское зи́мнее вре́мѧ", "COST": "COST", "WARST": "WARST", "SAST": "SAST", "JDT": "JDT", "ChST": "ChST", "CLT": "CLT", "TMT": "TMT", "WAT": "WAT", "HECU": "HECU", "UYST": "UYST", "PST": "тихоѻкеа́нское зи́мнее вре́мѧ", "CHAST": "CHAST", "AEST": "AEST", "HNPM": "HNPM", "HAST": "HAST", "SRT": "SRT", "ACWDT": "ACWDT", "GFT": "GFT", "TMST": "TMST", "ACDT": "ACDT", "EAT": "EAT", "ECT": "ECT", "GYT": "GYT", "WIT": "WIT", "∅∅∅": "∅∅∅", "WART": "WART", "NZST": "NZST", "NZDT": "NZDT", "OESZ": "восточноєѵрѡпе́йское лѣ́тнее вре́мѧ", "CAT": "CAT", "HNCU": "HNCU", "HEPMX": "HEPMX", "WESZ": "западноєѵрѡпе́йское лѣ́тнее вре́мѧ", "ARST": "ARST", "CLST": "CLST", "HEEG": "HEEG", "HNPMX": "HNPMX", "HADT": "HADT", "HEOG": "HEOG", "WITA": "WITA", "IST": "IST", "ACST": "ACST", "COT": "COT", "HNNOMX": "HNNOMX", "VET": "VET", "BT": "BT", "WEZ": "западноєѵрѡпе́йское зи́мнее вре́мѧ", "HENOMX": "HENOMX", "UYT": "UYT", "HAT": "HAT", "HNOG": "HNOG", "MDT": "MDT", "AKST": "AKST", "CHADT": "CHADT", "MYT": "MYT", "WIB": "WIB", "MESZ": "среднеєѵрѡпе́йское лѣ́тнее вре́мѧ", "GMT": "сре́днее вре́мѧ по грі́нꙋичꙋ", "MST": "MST", "EDT": "восточноамерїка́нское лѣ́тнее вре́мѧ", "AKDT": "AKDT", "MEZ": "среднеєѵрѡпе́йское зи́мнее вре́мѧ", "JST": "JST", "CDT": "среднеамерїка́нское лѣ́тнее вре́мѧ", "AST": "а҆тланті́ческое зи́мнее вре́мѧ", "AEDT": "AEDT", "BOT": "BOT", "ACWST": "ACWST", "HNT": "HNT", "HKT": "HKT"}, } } @@ -388,7 +388,12 @@ func (cu *cu_RU) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) if t.Month() < 10 { @@ -413,7 +418,12 @@ func (cu *cu_RU) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, cu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -427,7 +437,12 @@ func (cu *cu_RU) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, cu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -448,7 +463,13 @@ func (cu *cu_RU) FmtDateFull(t time.Time) string { b = append(b, cu.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xd0, 0xbb}...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/currency/currency.go b/currency/currency.go index 90a531dd1..6e75ec58c 100644 --- a/currency/currency.go +++ b/currency/currency.go @@ -59,6 +59,7 @@ const ( BUK BWP BYB + BYN BYR BZD CAD diff --git a/cy/cy.go b/cy/cy.go index 319eb6d36..0db534d85 100644 --- a/cy/cy.go +++ b/cy/cy.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ion", "Chwef", "Maw", "Ebrill", "Mai", "Meh", "Gorff", "Awst", "Medi", "Hyd", "Tach", "Rhag"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"S", "Ll", "M", "M", "I", "G", "S"}, daysShort: []string{"Su", "Ll", "Ma", "Me", "Ia", "Gw", "Sa"}, daysWide: []string{"Dydd Sul", "Dydd Llun", "Dydd Mawrth", "Dydd Mercher", "Dydd Iau", "Dydd Gwener", "Dydd Sadwrn"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsAbbreviated: []string{"yb", "yh"}, + periodsNarrow: []string{"b", "h"}, + periodsWide: []string{"yb", "yh"}, erasAbbreviated: []string{"CC", "OC"}, erasNarrow: []string{"C", "O"}, erasWide: []string{"Cyn Crist", "Oed Crist"}, - timezones: map[string]string{"NZST": "Amser Safonol Seland Newydd", "HAT": "Amser Haf Newfoundland", "UYST": "Amser Haf Uruguay", "CHADT": "Amser Haf Chatham", "HAST": "Amser Safonol Hawaii-Aleutian", "AKST": "Amser Safonol Alaska", "PST": "Amser Safonol Cefnfor Tawel Gogledd America", "PDT": "Amser Haf Cefnfor Tawel Gogledd America", "GFT": "Amser Guyane Ffrengig", "ACWDT": "Amser Haf Canolbarth Gorllewin Awstralia", "WITA": "Amser Canolbarth Indonesia", "∅∅∅": "Amser Haf yr Azores", "BOT": "Amser Bolivia", "CLT": "Amser Safonol Chile", "JST": "Amser Safonol Siapan", "OESZ": "Amser Haf Dwyrain Ewrop", "COT": "Amser Safonol Colombia", "CDT": "Amser Haf Canolbarth Gogledd America", "MDT": "Amser Haf Mynyddoedd Gogledd America", "MYT": "Amser Malaysia", "SRT": "Amser Suriname", "WARST": "Amser Haf Gorllewin Ariannin", "AEDT": "Amser Haf Dwyrain Awstralia", "ART": "Amser Safonol Ariannin", "AWDT": "Amser Haf Gorllewin Awstralia", "OEZ": "Amser Safonol Dwyrain Ewrop", "WIB": "Amser Gorllewin Indonesia", "AEST": "Amser Safonol Dwyrain Awstralia", "AST": "Amser Safonol Cefnfor yr Iwerydd", "IST": "Amser India", "CHAST": "Amser Safonol Chatham", "MEZ": "Amser Safonol Canolbarth Ewrop", "EST": "Amser Safonol Dwyrain Gogledd America", "GYT": "Amser Guyana", "CAT": "Amser Canolbarth Affrica", "LHDT": "Amser Haf yr Arglwydd Howe", "HKT": "Amser Safonol Hong Kong", "ECT": "Amser Ecuador", "ACWST": "Amser Safonol Canolbarth Gorllewin Awstralia", "AKDT": "Amser Haf Alaska", "CLST": "Amser Haf Chile", "EDT": "Amser Haf Dwyrain Gogledd America", "CST": "Amser Safonol Canolbarth Gogledd America", "HKST": "Amser Haf Hong Kong", "MESZ": "Amser Haf Canolbarth Ewrop", "TMT": "Amser Safonol Tyrcmenistan", "AWST": "Amser Safonol Gorllewin Awstralia", "ARST": "Amser Haf Ariannin", "MST": "Amser Safonol Mynyddoedd Gogledd America", "HNT": "Amser Safonol Newfoundland", "VET": "Amser Venezuela", "ACST": "Amser Safonol Canolbarth Awstralia", "WART": "Amser Safonol Gorllewin Ariannin", "HADT": "Amser Haf Hawaii-Aleutian", "COST": "Amser Haf Colombia", "ADT": "Amser Haf Cefnfor yr Iwerydd", "WIT": "Amser Dwyrain Indonesia", "BT": "Amser Bhutan", "WAT": "Amser Safonol Gorllewin Affrica", "NZDT": "Amser Haf Seland Newydd", "WEZ": "Amser Safonol Gorllewin Ewrop", "SGT": "Amser Singapore", "ChST": "Amser Chamorro", "JDT": "Amser Haf Siapan", "WESZ": "Amser Haf Gorllewin Ewrop", "UYT": "Amser Safonol Uruguay", "EAT": "Amser Dwyrain Affrica", "WAST": "Amser Haf Gorllewin Affrica", "GMT": "Amser Safonol Greenwich", "LHST": "Amser Safonol yr Arglwydd Howe", "ACDT": "Amser Haf Canolbarth Awstralia", "SAST": "Amser Safonol De Affrica", "TMST": "Amser Haf Tyrcmenistan"}, + timezones: map[string]string{"WESZ": "Amser Haf Gorllewin Ewrop", "WITA": "Amser Canolbarth Indonesia", "AEDT": "Amser Haf Dwyrain Awstralia", "CHADT": "Amser Haf Chatham", "SAST": "Amser Safonol De Affrica", "ChST": "Amser Chamorro", "EST": "Amser Safonol Dwyrain Gogledd America", "IST": "Amser India", "WAT": "Amser Safonol Gorllewin Affrica", "HNT": "Amser Safonol Newfoundland", "ARST": "Amser Haf Ariannin", "UYST": "Amser Haf Uruguay", "NZDT": "Amser Haf Seland Newydd", "HEEG": "Amser Haf Dwyrain yr Ynys Las", "OESZ": "Amser Haf Dwyrain Ewrop", "CST": "Amser Safonol Canolbarth Gogledd America", "ACWDT": "Amser Haf Canolbarth Gorllewin Awstralia", "HKT": "Amser Safonol Hong Kong", "COST": "Amser Haf Colombia", "SGT": "Amser Singapore", "CDT": "Amser Haf Canolbarth Gogledd America", "GYT": "Amser Guyana", "MESZ": "Amser Haf Canolbarth Ewrop", "HNEG": "Amser Safonol Dwyrain yr Ynys Las", "HENOMX": "Amser Haf Gogledd Orllewin Mecsico", "WIB": "Amser Gorllewin Indonesia", "CHAST": "Amser Safonol Chatham", "TMST": "Amser Haf Tyrcmenistan", "HNCU": "Amser Safonol Cuba", "HADT": "Amser Haf Hawaii-Aleutian", "AEST": "Amser Safonol Dwyrain Awstralia", "HEPM": "Amser Haf Saint-Pierre-et-Miquelon", "∅∅∅": "Amser Haf Amazonas", "COT": "Amser Safonol Colombia", "GMT": "Amser Safonol Greenwich", "HEOG": "Amser Haf Gorllewin yr Ynys Las", "WART": "Amser Safonol Gorllewin Ariannin", "AST": "Amser Safonol Cefnfor yr Iwerydd", "HAST": "Amser Safonol Hawaii-Aleutian", "LHST": "Amser Safonol yr Arglwydd Howe", "JST": "Amser Safonol Siapan", "WAST": "Amser Haf Gorllewin Affrica", "OEZ": "Amser Safonol Dwyrain Ewrop", "HEPMX": "Amser Haf Pasiffig Mecsico", "VET": "Amser Venezuela", "SRT": "Amser Suriname", "PST": "Amser Safonol Cefnfor Tawel Gogledd America", "ACST": "Amser Safonol Canolbarth Awstralia", "ACDT": "Amser Haf Canolbarth Awstralia", "EAT": "Amser Dwyrain Affrica", "HNPMX": "Amser Safonol Pasiffig Mecsico", "PDT": "Amser Haf Cefnfor Tawel Gogledd America", "AKDT": "Amser Haf Alaska", "WIT": "Amser Dwyrain Indonesia", "AWDT": "Amser Haf Gorllewin Awstralia", "GFT": "Amser Guyane Ffrengig", "MDT": "MDT", "EDT": "Amser Haf Dwyrain Gogledd America", "AKST": "Amser Safonol Alaska", "HNPM": "Amser Safonol Saint-Pierre-et-Miquelon", "CLT": "Amser Safonol Chile", "CAT": "Amser Canolbarth Affrica", "UYT": "Amser Safonol Uruguay", "HKST": "Amser Haf Hong Kong", "LHDT": "Amser Haf yr Arglwydd Howe", "WEZ": "Amser Safonol Gorllewin Ewrop", "ART": "Amser Safonol Ariannin", "HNOG": "Amser Safonol Gorllewin yr Ynys Las", "WARST": "Amser Haf Gorllewin Ariannin", "HECU": "Amser Haf Cuba", "MYT": "Amser Malaysia", "BT": "Amser Bhutan", "MEZ": "Amser Safonol Canolbarth Ewrop", "BOT": "Amser Bolivia", "TMT": "Amser Safonol Tyrcmenistan", "ECT": "Amser Ecuador", "AWST": "Amser Safonol Gorllewin Awstralia", "CLST": "Amser Haf Chile", "JDT": "Amser Haf Siapan", "MST": "MST", "ACWST": "Amser Safonol Canolbarth Gorllewin Awstralia", "NZST": "Amser Safonol Seland Newydd", "HNNOMX": "Amser Safonol Gogledd Orllewin Mecsico", "ADT": "Amser Haf Cefnfor yr Iwerydd", "HAT": "Amser Haf Newfoundland"}, } } @@ -492,7 +492,12 @@ func (cy *cy) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -506,7 +511,12 @@ func (cy *cy) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -522,7 +532,12 @@ func (cy *cy) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/cy_GB/cy_GB.go b/cy_GB/cy_GB.go index 17857e1cf..3a8051fb7 100644 --- a/cy_GB/cy_GB.go +++ b/cy_GB/cy_GB.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ion", "Chwef", "Maw", "Ebrill", "Mai", "Meh", "Gorff", "Awst", "Medi", "Hyd", "Tach", "Rhag"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"S", "Ll", "M", "M", "I", "G", "S"}, daysShort: []string{"Su", "Ll", "Ma", "Me", "Ia", "Gw", "Sa"}, daysWide: []string{"Dydd Sul", "Dydd Llun", "Dydd Mawrth", "Dydd Mercher", "Dydd Iau", "Dydd Gwener", "Dydd Sadwrn"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsAbbreviated: []string{"yb", "yh"}, + periodsNarrow: []string{"b", "h"}, + periodsWide: []string{"yb", "yh"}, erasAbbreviated: []string{"CC", "OC"}, erasNarrow: []string{"C", "O"}, erasWide: []string{"Cyn Crist", "Oed Crist"}, - timezones: map[string]string{"NZDT": "Amser Haf Seland Newydd", "OESZ": "Amser Haf Dwyrain Ewrop", "WART": "Amser Safonol Gorllewin Ariannin", "IST": "Amser India", "PST": "Amser Safonol Cefnfor Tawel Gogledd America", "AWST": "Amser Safonol Gorllewin Awstralia", "JST": "Amser Safonol Siapan", "OEZ": "Amser Safonol Dwyrain Ewrop", "ECT": "Amser Ecuador", "MYT": "Amser Malaysia", "∅∅∅": "Amser Haf yr Azores", "ACDT": "Amser Haf Canolbarth Awstralia", "ACWST": "Amser Safonol Canolbarth Gorllewin Awstralia", "WAT": "Amser Safonol Gorllewin Affrica", "ACWDT": "Amser Haf Canolbarth Gorllewin Awstralia", "GMT": "Amser Safonol Greenwich", "AST": "Amser Safonol Cefnfor yr Iwerydd", "CST": "Amser Safonol Canolbarth Gogledd America", "MST": "Amser Safonol Mynyddoedd Gogledd America", "CLT": "Amser Safonol Chile", "UYT": "Amser Safonol Uruguay", "COST": "Amser Haf Colombia", "VET": "Amser Venezuela", "MESZ": "Amser Haf Canolbarth Ewrop", "GFT": "Amser Guyane Ffrengig", "HKT": "Amser Safonol Hong Kong", "MEZ": "Amser Safonol Canolbarth Ewrop", "HAT": "Amser Haf Newfoundland", "CHAST": "Amser Safonol Chatham", "WARST": "Amser Haf Gorllewin Ariannin", "AEST": "Amser Safonol Dwyrain Awstralia", "WEZ": "Amser Safonol Gorllewin Ewrop", "UYST": "Amser Haf Uruguay", "AEDT": "Amser Haf Dwyrain Awstralia", "AKST": "Amser Safonol Alaska", "LHDT": "Amser Haf yr Arglwydd Howe", "AKDT": "Amser Haf Alaska", "ADT": "Amser Haf Cefnfor yr Iwerydd", "WAST": "Amser Haf Gorllewin Affrica", "PDT": "Amser Haf Cefnfor Tawel Gogledd America", "TMT": "Amser Safonol Tyrcmenistan", "GYT": "Amser Guyana", "CLST": "Amser Haf Chile", "AWDT": "Amser Haf Gorllewin Awstralia", "WIB": "Amser Gorllewin Indonesia", "ART": "Amser Safonol Ariannin", "ARST": "Amser Haf Ariannin", "CAT": "Amser Canolbarth Affrica", "EAT": "Amser Dwyrain Affrica", "SAST": "Amser Safonol De Affrica", "WITA": "Amser Canolbarth Indonesia", "EDT": "Amser Haf Dwyrain Gogledd America", "ChST": "Amser Chamorro", "BT": "Amser Bhutan", "WESZ": "Amser Haf Gorllewin Ewrop", "SGT": "Amser Singapore", "HAST": "Amser Safonol Hawaii-Aleutian", "EST": "Amser Safonol Dwyrain Gogledd America", "CDT": "Amser Haf Canolbarth Gogledd America", "HNT": "Amser Safonol Newfoundland", "WIT": "Amser Dwyrain Indonesia", "HADT": "Amser Haf Hawaii-Aleutian", "BOT": "Amser Bolivia", "SRT": "Amser Suriname", "JDT": "Amser Haf Siapan", "LHST": "Amser Safonol yr Arglwydd Howe", "ACST": "Amser Safonol Canolbarth Awstralia", "MDT": "Amser Haf Mynyddoedd Gogledd America", "NZST": "Amser Safonol Seland Newydd", "HKST": "Amser Haf Hong Kong", "COT": "Amser Safonol Colombia", "TMST": "Amser Haf Tyrcmenistan", "CHADT": "Amser Haf Chatham"}, + timezones: map[string]string{"EAT": "Amser Dwyrain Affrica", "WIB": "Amser Gorllewin Indonesia", "HAST": "Amser Safonol Hawaii-Aleutian", "CHAST": "Amser Safonol Chatham", "CLT": "Amser Safonol Chile", "GFT": "Amser Guyane Ffrengig", "BOT": "Amser Bolivia", "HNEG": "Amser Safonol Dwyrain yr Ynys Las", "HENOMX": "Amser Haf Gogledd Orllewin Mecsico", "HADT": "Amser Haf Hawaii-Aleutian", "MEZ": "Amser Safonol Canolbarth Ewrop", "LHST": "Amser Safonol yr Arglwydd Howe", "IST": "Amser India", "CDT": "Amser Haf Canolbarth Gogledd America", "AKST": "Amser Safonol Alaska", "BT": "Amser Bhutan", "ART": "Amser Safonol Ariannin", "HNOG": "Amser Safonol Gorllewin yr Ynys Las", "JST": "Amser Safonol Siapan", "TMT": "Amser Safonol Tyrcmenistan", "TMST": "Amser Haf Tyrcmenistan", "UYST": "Amser Haf Uruguay", "PDT": "Amser Haf Cefnfor Tawel Gogledd America", "CLST": "Amser Haf Chile", "ACDT": "Amser Haf Canolbarth Awstralia", "PST": "Amser Safonol Cefnfor Tawel Gogledd America", "AEDT": "Amser Haf Dwyrain Awstralia", "HKST": "Amser Haf Hong Kong", "WARST": "Amser Haf Gorllewin Ariannin", "AST": "Amser Safonol Cefnfor yr Iwerydd", "MDT": "Amser Haf Mynyddoedd Gogledd America", "WITA": "Amser Canolbarth Indonesia", "HNPM": "Amser Safonol Saint-Pierre-et-Miquelon", "CHADT": "Amser Haf Chatham", "NZST": "Amser Safonol Seland Newydd", "HEEG": "Amser Haf Dwyrain yr Ynys Las", "UYT": "Amser Safonol Uruguay", "MST": "Amser Safonol Mynyddoedd Gogledd America", "ARST": "Amser Haf Ariannin", "OESZ": "Amser Haf Dwyrain Ewrop", "WAST": "Amser Haf Gorllewin Affrica", "AEST": "Amser Safonol Dwyrain Awstralia", "AWDT": "Amser Haf Gorllewin Awstralia", "WAT": "Amser Safonol Gorllewin Affrica", "HNNOMX": "Amser Safonol Gogledd Orllewin Mecsico", "WART": "Amser Safonol Gorllewin Ariannin", "ADT": "Amser Haf Cefnfor yr Iwerydd", "HEPM": "Amser Haf Saint-Pierre-et-Miquelon", "ChST": "Amser Chamorro", "ECT": "Amser Ecuador", "COT": "Amser Safonol Colombia", "HECU": "Amser Haf Cuba", "EST": "Amser Safonol Dwyrain Gogledd America", "HEPMX": "Amser Haf Pasiffig Mecsico", "HAT": "Amser Haf Newfoundland", "WESZ": "Amser Haf Gorllewin Ewrop", "LHDT": "Amser Haf yr Arglwydd Howe", "SGT": "Amser Singapore", "MYT": "Amser Malaysia", "WIT": "Amser Dwyrain Indonesia", "HNT": "Amser Safonol Newfoundland", "ACWDT": "Amser Haf Canolbarth Gorllewin Awstralia", "MESZ": "Amser Haf Canolbarth Ewrop", "JDT": "Amser Haf Siapan", "EDT": "Amser Haf Dwyrain Gogledd America", "CST": "Amser Safonol Canolbarth Gogledd America", "VET": "Amser Venezuela", "SRT": "Amser Suriname", "ACWST": "Amser Safonol Canolbarth Gorllewin Awstralia", "OEZ": "Amser Safonol Dwyrain Ewrop", "GYT": "Amser Guyana", "HKT": "Amser Safonol Hong Kong", "∅∅∅": "Amser Haf Amazonas", "ACST": "Amser Safonol Canolbarth Awstralia", "CAT": "Amser Canolbarth Affrica", "GMT": "Amser Safonol Greenwich", "HEOG": "Amser Haf Gorllewin yr Ynys Las", "WEZ": "Amser Safonol Gorllewin Ewrop", "HNPMX": "Amser Safonol Pasiffig Mecsico", "AKDT": "Amser Haf Alaska", "AWST": "Amser Safonol Gorllewin Awstralia", "NZDT": "Amser Haf Seland Newydd", "SAST": "Amser Safonol De Affrica", "COST": "Amser Haf Colombia", "HNCU": "Amser Safonol Cuba"}, } } @@ -492,7 +492,12 @@ func (cy *cy_GB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -506,7 +511,12 @@ func (cy *cy_GB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -522,7 +532,12 @@ func (cy *cy_GB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, cy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/da/da.go b/da/da.go index bb6bf7e20..4e5b9a7b0 100644 --- a/da/da.go +++ b/da/da.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"f.Kr.", "e.Kr."}, - timezones: map[string]string{"SRT": "Surinam-tid", "ECT": "Ecuadoriansk tid", "AWST": "Vestaustralsk normaltid", "HKST": "Hongkong-sommertid", "ChST": "Chamorro-tid", "CAT": "Centralafrikansk tid", "COST": "Colombiansk sommertid", "AWDT": "Vestaustralsk sommertid", "CLST": "Chilensk sommertid", "UYT": "Uruguayansk normaltid", "CHAST": "Chatham-normaltid", "AKST": "Alaska-normaltid", "EST": "Eastern-normaltid", "MST": "Mountain-normaltid", "NZDT": "Newzealandsk sommertid", "HNT": "Newfoundlandsk normaltid", "ACDT": "Centralaustralsk sommertid", "ART": "Argentinsk normaltid", "WITA": "Centralindonesisk tid", "MYT": "Malaysisk tid", "CST": "Central-normaltid", "GYT": "Guyana-tid", "BT": "Bhutanesisk tid", "JST": "Japansk normaltid", "MEZ": "Centraleuropæisk normaltid", "WAT": "Vestafrikansk normaltid", "LHST": "Lord Howe-normaltid", "WESZ": "Vesteuropæisk sommertid", "WART": "Vestargentinsk normaltid", "EAT": "Østafrikansk tid", "HKT": "Hongkong-normaltid", "COT": "Colombiansk normaltid", "ACST": "Centralaustralsk normaltid", "WIT": "Østindonesisk tid", "CHADT": "Chatham-sommertid", "WAST": "Vestafrikansk sommertid", "∅∅∅": "Azorerne-sommertid", "PDT": "Pacific-sommertid", "GMT": "GMT", "VET": "Venezuelansk tid", "ARST": "Argentinsk sommertid", "IST": "Indisk normaltid", "HAT": "Newfoundlandsk sommertid", "UYST": "Uruguayansk sommertid", "GFT": "Fransk Guyana-tid", "AEDT": "Østaustralsk sommertid", "CLT": "Chilensk normaltid", "BOT": "Boliviansk tid", "OESZ": "Østeuropæisk sommertid", "ACWST": "Vestlig centralaustralsk normaltid", "SAST": "Sydafrikansk tid", "HADT": "Hawaii-Aleutian-sommertid", "PST": "Pacific-normaltid", "NZST": "Newzealandsk normaltid", "JDT": "Japansk sommertid", "OEZ": "Østeuropæisk normaltid", "SGT": "Singaporeansk normaltid", "HAST": "Hawaii-Aleutian-normaltid", "CDT": "Central-sommertid", "WIB": "Vestindonesisk tid", "MDT": "Mountain-sommertid", "AKDT": "Alaska-sommertid", "TMST": "Turkmensk sommertid", "LHDT": "Lord Howe-sommertid", "AEST": "Østaustralsk normaltid", "WARST": "Vestargentinsk sommertid", "EDT": "Eastern-sommertid", "AST": "Atlantic-normaltid", "ADT": "Atlantic-sommertid", "TMT": "Turkmensk normaltid", "WEZ": "Vesteuropæisk normaltid", "MESZ": "Centraleuropæisk sommertid", "ACWDT": "Vestlig centralaustralsk sommertid"}, + timezones: map[string]string{"HNPM": "Saint Pierre- og Miquelon-normaltid", "CAT": "Centralafrikansk tid", "EST": "Eastern-normaltid", "MYT": "Malaysisk tid", "ACWST": "Vestlig centralaustralsk normaltid", "NZST": "Newzealandsk normaltid", "AST": "Atlantic-normaltid", "UYT": "Uruguayansk normaltid", "WEZ": "Vesteuropæisk normaltid", "COST": "Colombiansk sommertid", "GMT": "GMT", "EDT": "Eastern-sommertid", "PDT": "Pacific-sommertid", "HKT": "Hongkong-normaltid", "CLT": "Chilensk normaltid", "∅∅∅": "Amazonas-sommertid", "SRT": "Surinam-tid", "HKST": "Hongkong-sommertid", "CLST": "Chilensk sommertid", "HEEG": "Østgrønlandsk sommertid", "WAT": "Vestafrikansk normaltid", "SGT": "Singaporeansk normaltid", "AEST": "Østaustralsk normaltid", "AKST": "Alaska-normaltid", "ACWDT": "Vestlig centralaustralsk sommertid", "SAST": "Sydafrikansk tid", "TMT": "Turkmensk normaltid", "WARST": "Vestargentinsk sommertid", "AKDT": "Alaska-sommertid", "WIB": "Vestindonesisk tid", "COT": "Colombiansk normaltid", "HNNOMX": "Nordvestmexicansk normaltid", "UYST": "Uruguayansk sommertid", "WESZ": "Vesteuropæisk sommertid", "ART": "Argentinsk normaltid", "AEDT": "Østaustralsk sommertid", "HAT": "Newfoundlandsk sommertid", "MEZ": "Centraleuropæisk normaltid", "CHAST": "Chatham-normaltid", "BOT": "Boliviansk tid", "HENOMX": "Nordvestmexicansk sommertid", "HEPMX": "Mexicansk Pacific-sommertid", "PST": "Pacific-normaltid", "ChST": "Chamorro-tid", "HNEG": "Østgrønlandsk normaltid", "GFT": "Fransk Guyana-tid", "ACDT": "Centralaustralsk sommertid", "CST": "Central-normaltid", "ARST": "Argentinsk sommertid", "OEZ": "Østeuropæisk normaltid", "HNPMX": "Mexicansk Pacific-normaltid", "CDT": "Central-sommertid", "ADT": "Atlantic-sommertid", "GYT": "Guyana-tid", "HNT": "Newfoundlandsk normaltid", "HEPM": "Saint Pierre- og Miquelon-sommertid", "EAT": "Østafrikansk tid", "HNCU": "Cubansk normaltid", "HECU": "Cubansk sommertid", "MESZ": "Centraleuropæisk sommertid", "IST": "Indisk normaltid", "JDT": "Japansk sommertid", "TMST": "Turkmensk sommertid", "MST": "Macao-normaltid", "HAST": "Hawaii-Aleutian-normaltid", "AWDT": "Vestaustralsk sommertid", "JST": "Japansk normaltid", "ACST": "Centralaustralsk normaltid", "OESZ": "Østeuropæisk sommertid", "MDT": "Macao-sommertid", "HADT": "Hawaii-Aleutian-sommertid", "BT": "Bhutanesisk tid", "WIT": "Østindonesisk tid", "HNOG": "Vestgrønlandsk normaltid", "LHST": "Lord Howe-normaltid", "NZDT": "Newzealandsk sommertid", "CHADT": "Chatham-sommertid", "ECT": "Ecuadoriansk tid", "WART": "Vestargentinsk normaltid", "VET": "Venezuelansk tid", "HEOG": "Vestgrønlandsk sommertid", "WITA": "Centralindonesisk tid", "LHDT": "Lord Howe-sommertid", "WAST": "Vestafrikansk sommertid", "AWST": "Vestaustralsk normaltid"}, } } @@ -419,7 +419,12 @@ func (da *da) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +438,12 @@ func (da *da) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (da *da) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +479,12 @@ func (da *da) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/da_DK/da_DK.go b/da_DK/da_DK.go index 551eca371..9a945fa85 100644 --- a/da_DK/da_DK.go +++ b/da_DK/da_DK.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"f.Kr.", "e.Kr."}, - timezones: map[string]string{"AST": "Atlantic-normaltid", "EAT": "Østafrikansk tid", "SRT": "Surinam-tid", "OESZ": "Østeuropæisk sommertid", "WEZ": "Vesteuropæisk normaltid", "HAT": "Newfoundlandsk sommertid", "OEZ": "Østeuropæisk normaltid", "ACWDT": "Vestlig centralaustralsk sommertid", "WAT": "Vestafrikansk normaltid", "TMST": "Turkmensk sommertid", "MST": "Mountain-normaltid", "MDT": "Mountain-sommertid", "NZST": "Newzealandsk normaltid", "AEST": "Østaustralsk normaltid", "COST": "Colombiansk sommertid", "BT": "Bhutanesisk tid", "AWST": "Vestaustralsk normaltid", "HKT": "Hongkong-normaltid", "HAST": "Hawaii-Aleutian-normaltid", "ART": "Argentinsk normaltid", "LHST": "Lord Howe-normaltid", "LHDT": "Lord Howe-sommertid", "WARST": "Vestargentinsk sommertid", "PDT": "Pacific-sommertid", "CST": "Central-normaltid", "NZDT": "Newzealandsk sommertid", "ChST": "Chamorro-tid", "CLT": "Chilensk normaltid", "MEZ": "Centraleuropæisk normaltid", "EST": "Eastern-normaltid", "HNT": "Newfoundlandsk normaltid", "WIT": "Østindonesisk tid", "TMT": "Turkmensk normaltid", "GYT": "Guyana-tid", "JST": "Japansk normaltid", "GFT": "Fransk Guyana-tid", "WIB": "Vestindonesisk tid", "HADT": "Hawaii-Aleutian-sommertid", "AEDT": "Østaustralsk sommertid", "ADT": "Atlantic-sommertid", "SAST": "Sydafrikansk tid", "CHAST": "Chatham-normaltid", "VET": "Venezuelansk tid", "PST": "Pacific-normaltid", "CAT": "Centralafrikansk tid", "AWDT": "Vestaustralsk sommertid", "JDT": "Japansk sommertid", "CHADT": "Chatham-sommertid", "ACDT": "Centralaustralsk sommertid", "MYT": "Malaysisk tid", "BOT": "Boliviansk tid", "CLST": "Chilensk sommertid", "GMT": "GMT", "ECT": "Ecuadoriansk tid", "UYT": "Uruguayansk normaltid", "COT": "Colombiansk normaltid", "ACWST": "Vestlig centralaustralsk normaltid", "ARST": "Argentinsk sommertid", "WITA": "Centralindonesisk tid", "UYST": "Uruguayansk sommertid", "WESZ": "Vesteuropæisk sommertid", "MESZ": "Centraleuropæisk sommertid", "WART": "Vestargentinsk normaltid", "IST": "Indisk normaltid", "CDT": "Central-sommertid", "ACST": "Centralaustralsk normaltid", "WAST": "Vestafrikansk sommertid", "AKST": "Alaska-normaltid", "∅∅∅": "Peruviansk sommertid", "HKST": "Hongkong-sommertid", "SGT": "Singaporeansk normaltid", "AKDT": "Alaska-sommertid", "EDT": "Eastern-sommertid"}, + timezones: map[string]string{"JDT": "Japansk sommertid", "VET": "Venezuelansk tid", "ARST": "Argentinsk sommertid", "HNPM": "Saint Pierre- og Miquelon-normaltid", "AWST": "Vestaustralsk normaltid", "GFT": "Fransk Guyana-tid", "AST": "Atlantic-normaltid", "HADT": "Hawaii-Aleutian-sommertid", "AEDT": "Østaustralsk sommertid", "HEEG": "Østgrønlandsk sommertid", "PST": "Pacific-normaltid", "AEST": "Østaustralsk normaltid", "CLT": "Chilensk normaltid", "TMST": "Turkmensk sommertid", "ACWST": "Vestlig centralaustralsk normaltid", "MESZ": "Centraleuropæisk sommertid", "WAT": "Vestafrikansk normaltid", "MST": "Macao-normaltid", "SRT": "Surinam-tid", "LHDT": "Lord Howe-sommertid", "HKT": "Hongkong-normaltid", "HKST": "Hongkong-sommertid", "ACDT": "Centralaustralsk sommertid", "WARST": "Vestargentinsk sommertid", "UYST": "Uruguayansk sommertid", "WIT": "Østindonesisk tid", "ACWDT": "Vestlig centralaustralsk sommertid", "HAT": "Newfoundlandsk sommertid", "AWDT": "Vestaustralsk sommertid", "SAST": "Sydafrikansk tid", "WART": "Vestargentinsk normaltid", "SGT": "Singaporeansk normaltid", "HAST": "Hawaii-Aleutian-normaltid", "ECT": "Ecuadoriansk tid", "COT": "Colombiansk normaltid", "EDT": "Eastern-sommertid", "UYT": "Uruguayansk normaltid", "IST": "Indisk normaltid", "CLST": "Chilensk sommertid", "ChST": "Chamorro-tid", "ACST": "Centralaustralsk normaltid", "CHAST": "Chatham-normaltid", "MEZ": "Centraleuropæisk normaltid", "WIB": "Vestindonesisk tid", "BOT": "Boliviansk tid", "OESZ": "Østeuropæisk sommertid", "CDT": "Central-sommertid", "ADT": "Atlantic-sommertid", "MDT": "Macao-sommertid", "HNPMX": "Mexicansk Pacific-normaltid", "HEPM": "Saint Pierre- og Miquelon-sommertid", "LHST": "Lord Howe-normaltid", "WAST": "Vestafrikansk sommertid", "HNNOMX": "Nordvestmexicansk normaltid", "HNCU": "Cubansk normaltid", "GMT": "GMT", "WITA": "Centralindonesisk tid", "HECU": "Cubansk sommertid", "BT": "Bhutanesisk tid", "ART": "Argentinsk normaltid", "PDT": "Pacific-sommertid", "HNEG": "Østgrønlandsk normaltid", "OEZ": "Østeuropæisk normaltid", "AKST": "Alaska-normaltid", "WESZ": "Vesteuropæisk sommertid", "CST": "Central-normaltid", "MYT": "Malaysisk tid", "HNT": "Newfoundlandsk normaltid", "HNOG": "Vestgrønlandsk normaltid", "∅∅∅": "Amazonas-sommertid", "EAT": "Østafrikansk tid", "CAT": "Centralafrikansk tid", "AKDT": "Alaska-sommertid", "TMT": "Turkmensk normaltid", "HENOMX": "Nordvestmexicansk sommertid", "EST": "Eastern-normaltid", "WEZ": "Vesteuropæisk normaltid", "HEOG": "Vestgrønlandsk sommertid", "NZST": "Newzealandsk normaltid", "NZDT": "Newzealandsk sommertid", "CHADT": "Chatham-sommertid", "JST": "Japansk normaltid", "COST": "Colombiansk sommertid", "HEPMX": "Mexicansk Pacific-sommertid", "GYT": "Guyana-tid"}, } } @@ -419,7 +419,12 @@ func (da *da_DK) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +438,12 @@ func (da *da_DK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (da *da_DK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +479,12 @@ func (da *da_DK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/da_GL/da_GL.go b/da_GL/da_GL.go index 3f41047b0..5aa46bb11 100644 --- a/da_GL/da_GL.go +++ b/da_GL/da_GL.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"f.Kr.", "e.Kr."}, - timezones: map[string]string{"MESZ": "Centraleuropæisk sommertid", "ART": "Argentinsk normaltid", "AST": "Atlantic-normaltid", "SAST": "Sydafrikansk tid", "TMST": "Turkmensk sommertid", "UYST": "Uruguayansk sommertid", "JDT": "Japansk sommertid", "ACWDT": "Vestlig centralaustralsk sommertid", "AEDT": "Østaustralsk sommertid", "PDT": "Pacific-sommertid", "IST": "Indisk normaltid", "NZDT": "Newzealandsk sommertid", "HAT": "Newfoundlandsk sommertid", "GMT": "GMT", "OEZ": "Østeuropæisk normaltid", "CHADT": "Chatham-sommertid", "CDT": "Central-sommertid", "CLT": "Chilensk normaltid", "SRT": "Surinam-tid", "PST": "Pacific-normaltid", "WAT": "Vestafrikansk normaltid", "MST": "Mountain-normaltid", "BOT": "Boliviansk tid", "AWST": "Vestaustralsk normaltid", "CST": "Central-normaltid", "ACST": "Centralaustralsk normaltid", "VET": "Venezuelansk tid", "ARST": "Argentinsk sommertid", "NZST": "Newzealandsk normaltid", "CAT": "Centralafrikansk tid", "CLST": "Chilensk sommertid", "JST": "Japansk normaltid", "AKST": "Alaska-normaltid", "EDT": "Eastern-sommertid", "WITA": "Centralindonesisk tid", "MYT": "Malaysisk tid", "∅∅∅": "Brasiliansk sommertid", "OESZ": "Østeuropæisk sommertid", "WEZ": "Vesteuropæisk normaltid", "HKT": "Hongkong-normaltid", "ADT": "Atlantic-sommertid", "MDT": "Mountain-sommertid", "WIB": "Vestindonesisk tid", "COT": "Colombiansk normaltid", "HADT": "Hawaii-Aleutian-sommertid", "WARST": "Vestargentinsk sommertid", "HNT": "Newfoundlandsk normaltid", "COST": "Colombiansk sommertid", "ECT": "Ecuadoriansk tid", "LHST": "Lord Howe-normaltid", "ACDT": "Centralaustralsk sommertid", "EAT": "Østafrikansk tid", "BT": "Bhutanesisk tid", "WIT": "Østindonesisk tid", "AEST": "Østaustralsk normaltid", "AKDT": "Alaska-sommertid", "LHDT": "Lord Howe-sommertid", "UYT": "Uruguayansk normaltid", "HAST": "Hawaii-Aleutian-normaltid", "EST": "Eastern-normaltid", "ChST": "Chamorro-tid", "HKST": "Hongkong-sommertid", "CHAST": "Chatham-normaltid", "WESZ": "Vesteuropæisk sommertid", "GFT": "Fransk Guyana-tid", "SGT": "Singaporeansk normaltid", "WART": "Vestargentinsk normaltid", "WAST": "Vestafrikansk sommertid", "TMT": "Turkmensk normaltid", "MEZ": "Centraleuropæisk normaltid", "ACWST": "Vestlig centralaustralsk normaltid", "GYT": "Guyana-tid", "AWDT": "Vestaustralsk sommertid"}, + timezones: map[string]string{"HNNOMX": "Nordvestmexicansk normaltid", "COST": "Colombiansk sommertid", "WEZ": "Vesteuropæisk normaltid", "MEZ": "Centraleuropæisk normaltid", "TMT": "Turkmensk normaltid", "SAST": "Sydafrikansk tid", "∅∅∅": "Amazonas-sommertid", "CDT": "Central-sommertid", "JDT": "Japansk sommertid", "WART": "Vestargentinsk normaltid", "HNPMX": "Mexicansk Pacific-normaltid", "HEPMX": "Mexicansk Pacific-sommertid", "GYT": "Guyana-tid", "SRT": "Surinam-tid", "ART": "Argentinsk normaltid", "AWDT": "Vestaustralsk sommertid", "IST": "Indisk normaltid", "COT": "Colombiansk normaltid", "ARST": "Argentinsk sommertid", "HNOG": "Vestgrønlandsk normaltid", "CHAST": "Chatham-normaltid", "SGT": "Singaporeansk normaltid", "AEDT": "Østaustralsk sommertid", "NZST": "Newzealandsk normaltid", "EAT": "Østafrikansk tid", "ACWST": "Vestlig centralaustralsk normaltid", "PDT": "Pacific-sommertid", "HKST": "Hongkong-sommertid", "JST": "Japansk normaltid", "MST": "Mountain-normaltid", "MDT": "Mountain-sommertid", "WIT": "Østindonesisk tid", "LHST": "Lord Howe-normaltid", "LHDT": "Lord Howe-sommertid", "GFT": "Fransk Guyana-tid", "OESZ": "Østeuropæisk sommertid", "CAT": "Centralafrikansk tid", "WIB": "Vestindonesisk tid", "HADT": "Hawaii-Aleutian-sommertid", "WITA": "Centralindonesisk tid", "CLST": "Chilensk sommertid", "HNEG": "Østgrønlandsk normaltid", "HNCU": "Cubansk normaltid", "MYT": "Malaysisk tid", "HAT": "Newfoundlandsk sommertid", "NZDT": "Newzealandsk sommertid", "MESZ": "Centraleuropæisk sommertid", "AKST": "Alaska-normaltid", "CST": "Central-normaltid", "WESZ": "Vesteuropæisk sommertid", "HEPM": "Saint Pierre- og Miquelon-sommertid", "TMST": "Turkmensk sommertid", "AKDT": "Alaska-sommertid", "AWST": "Vestaustralsk normaltid", "ECT": "Ecuadoriansk tid", "GMT": "GMT", "VET": "Venezuelansk tid", "PST": "Pacific-normaltid", "HENOMX": "Nordvestmexicansk sommertid", "WARST": "Vestargentinsk sommertid", "EDT": "Eastern-sommertid", "HKT": "Hongkong-normaltid", "AEST": "Østaustralsk normaltid", "HNPM": "Saint Pierre- og Miquelon-normaltid", "OEZ": "Østeuropæisk normaltid", "AST": "Atlantic-normaltid", "ADT": "Atlantic-sommertid", "ACWDT": "Vestlig centralaustralsk sommertid", "HEEG": "Østgrønlandsk sommertid", "ACST": "Centralaustralsk normaltid", "UYT": "Uruguayansk normaltid", "CHADT": "Chatham-sommertid", "WAST": "Vestafrikansk sommertid", "EST": "Eastern-normaltid", "ChST": "Chamorro-tid", "WAT": "Vestafrikansk normaltid", "HAST": "Hawaii-Aleutian-normaltid", "HEOG": "Vestgrønlandsk sommertid", "CLT": "Chilensk normaltid", "ACDT": "Centralaustralsk sommertid", "HECU": "Cubansk sommertid", "UYST": "Uruguayansk sommertid", "BT": "Bhutanesisk tid", "HNT": "Newfoundlandsk normaltid", "BOT": "Boliviansk tid"}, } } @@ -419,7 +419,12 @@ func (da *da_GL) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +438,12 @@ func (da *da_GL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (da *da_GL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +479,12 @@ func (da *da_GL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, da.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dav/dav.go b/dav/dav.go index 46caf8e96..8db374370 100644 --- a/dav/dav.go +++ b/dav/dav.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Imb", "Kaw", "Kad", "Kan", "Kas", "Kar", "Mfu", "Wun", "Ike", "Iku", "Imw", "Iwi"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"NZDT": "NZDT", "LHST": "LHST", "HADT": "HADT", "IST": "IST", "MST": "MST", "COST": "COST", "AKST": "AKST", "GYT": "GYT", "∅∅∅": "∅∅∅", "ChST": "ChST", "BT": "BT", "HNT": "HNT", "HAT": "HAT", "CHAST": "CHAST", "WIB": "WIB", "JDT": "JDT", "MEZ": "MEZ", "VET": "VET", "BOT": "BOT", "LHDT": "LHDT", "COT": "COT", "ART": "ART", "WAT": "WAT", "WITA": "WITA", "CST": "CST", "MYT": "MYT", "CLT": "CLT", "PST": "PST", "EST": "EST", "TMST": "TMST", "HKT": "HKT", "AST": "AST", "EAT": "EAT", "SAST": "SAST", "MDT": "MDT", "WESZ": "WESZ", "MESZ": "MESZ", "ACWDT": "ACWDT", "AEST": "AEST", "ADT": "ADT", "CDT": "CDT", "CAT": "CAT", "OEZ": "OEZ", "OESZ": "OESZ", "CHADT": "CHADT", "WIT": "WIT", "GMT": "GMT", "SRT": "SRT", "HKST": "HKST", "AWDT": "AWDT", "JST": "JST", "SGT": "SGT", "ACWST": "ACWST", "PDT": "PDT", "NZST": "NZST", "UYT": "UYT", "ACST": "ACST", "WAST": "WAST", "AKDT": "AKDT", "AWST": "AWST", "WEZ": "WEZ", "HAST": "HAST", "AEDT": "AEDT", "ARST": "ARST", "TMT": "TMT", "UYST": "UYST", "GFT": "GFT", "ECT": "ECT", "EDT": "EDT", "CLST": "CLST", "ACDT": "ACDT", "WART": "WART", "WARST": "WARST"}, + timezones: map[string]string{"ACST": "ACST", "HNT": "HNT", "HNPM": "HNPM", "LHDT": "LHDT", "CHAST": "CHAST", "GFT": "GFT", "CDT": "CDT", "AST": "AST", "WIB": "WIB", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "ECT": "ECT", "WARST": "WARST", "JST": "JST", "SRT": "SRT", "PST": "PST", "MEZ": "MEZ", "NZDT": "NZDT", "CLST": "CLST", "ChST": "ChST", "BOT": "BOT", "EAT": "EAT", "BT": "BT", "HNOG": "HNOG", "HEOG": "HEOG", "HKST": "HKST", "NZST": "NZST", "COST": "COST", "HENOMX": "HENOMX", "GMT": "GMT", "EST": "EST", "HEPMX": "HEPMX", "HNEG": "HNEG", "ACDT": "ACDT", "EDT": "EDT", "MYT": "MYT", "AKST": "AKST", "MESZ": "MESZ", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "SGT": "SGT", "HECU": "HECU", "HKT": "HKT", "OESZ": "OESZ", "HNPMX": "HNPMX", "MDT": "MDT", "WEZ": "WEZ", "HEPM": "HEPM", "UYT": "UYT", "AKDT": "AKDT", "WIT": "WIT", "CHADT": "CHADT", "JDT": "JDT", "TMST": "TMST", "HAST": "HAST", "MST": "MST", "AWST": "AWST", "TMT": "TMT", "WAT": "WAT", "COT": "COT", "CST": "CST", "VET": "VET", "ACWST": "ACWST", "ART": "ART", "OEZ": "OEZ", "WART": "WART", "ACWDT": "ACWDT", "CLT": "CLT", "WAST": "WAST", "UYST": "UYST", "AEST": "AEST", "AEDT": "AEDT", "IST": "IST", "GYT": "GYT", "ARST": "ARST", "WITA": "WITA", "LHST": "LHST", "SAST": "SAST", "ADT": "ADT", "HNCU": "HNCU", "HADT": "HADT", "PDT": "PDT", "WESZ": "WESZ", "HAT": "HAT", "CAT": "CAT"}, } } @@ -330,7 +330,12 @@ func (dav *dav) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (dav *dav) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (dav *dav) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (dav *dav) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dav_KE/dav_KE.go b/dav_KE/dav_KE.go index d131b4631..ff70678de 100644 --- a/dav_KE/dav_KE.go +++ b/dav_KE/dav_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Imb", "Kaw", "Kad", "Kan", "Kas", "Kar", "Mfu", "Wun", "Ike", "Iku", "Imw", "Iwi"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"AST": "AST", "HAT": "HAT", "∅∅∅": "∅∅∅", "WARST": "WARST", "GMT": "GMT", "WART": "WART", "JDT": "JDT", "GFT": "GFT", "ACWST": "ACWST", "WIT": "WIT", "CAT": "CAT", "TMT": "TMT", "WIB": "WIB", "ARST": "ARST", "COST": "COST", "ACST": "ACST", "MYT": "MYT", "GYT": "GYT", "AWST": "AWST", "AWDT": "AWDT", "EAT": "EAT", "CST": "CST", "LHDT": "LHDT", "WAST": "WAST", "ART": "ART", "HAST": "HAST", "ADT": "ADT", "ChST": "ChST", "JST": "JST", "WESZ": "WESZ", "ACWDT": "ACWDT", "WITA": "WITA", "UYT": "UYT", "ECT": "ECT", "WEZ": "WEZ", "AEST": "AEST", "WAT": "WAT", "AKDT": "AKDT", "BOT": "BOT", "OEZ": "OEZ", "OESZ": "OESZ", "HADT": "HADT", "MST": "MST", "NZDT": "NZDT", "CHADT": "CHADT", "ACDT": "ACDT", "MESZ": "MESZ", "LHST": "LHST", "COT": "COT", "EDT": "EDT", "PDT": "PDT", "TMST": "TMST", "UYST": "UYST", "HKST": "HKST", "BT": "BT", "VET": "VET", "AKST": "AKST", "SAST": "SAST", "CLT": "CLT", "CLST": "CLST", "SRT": "SRT", "SGT": "SGT", "MEZ": "MEZ", "MDT": "MDT", "HKT": "HKT", "CHAST": "CHAST", "EST": "EST", "PST": "PST", "CDT": "CDT", "NZST": "NZST", "HNT": "HNT", "AEDT": "AEDT", "IST": "IST"}, + timezones: map[string]string{"EAT": "EAT", "HECU": "HECU", "MST": "MST", "AWDT": "AWDT", "NZDT": "NZDT", "AKST": "AKST", "PDT": "PDT", "HAT": "HAT", "HKT": "HKT", "IST": "IST", "HENOMX": "HENOMX", "WIB": "WIB", "WEZ": "WEZ", "ACWST": "ACWST", "LHDT": "LHDT", "NZST": "NZST", "OEZ": "OEZ", "UYT": "UYT", "SRT": "SRT", "HNT": "HNT", "EDT": "EDT", "MYT": "MYT", "HKST": "HKST", "SGT": "SGT", "VET": "VET", "ART": "ART", "ECT": "ECT", "COT": "COT", "COST": "COST", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "AKDT": "AKDT", "CST": "CST", "CHADT": "CHADT", "WARST": "WARST", "JDT": "JDT", "BOT": "BOT", "GMT": "GMT", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "ADT": "ADT", "AEST": "AEST", "CLT": "CLT", "MESZ": "MESZ", "OESZ": "OESZ", "HAST": "HAST", "AEDT": "AEDT", "WITA": "WITA", "ChST": "ChST", "TMST": "TMST", "MDT": "MDT", "ARST": "ARST", "JST": "JST", "ACDT": "ACDT", "EST": "EST", "GYT": "GYT", "WIT": "WIT", "HNOG": "HNOG", "AWST": "AWST", "GFT": "GFT", "TMT": "TMT", "CAT": "CAT", "HADT": "HADT", "HEPM": "HEPM", "CLST": "CLST", "WAST": "WAST", "UYST": "UYST", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "HEEG": "HEEG", "WAT": "WAT", "AST": "AST", "PST": "PST", "WESZ": "WESZ", "ACWDT": "ACWDT", "HNPM": "HNPM", "ACST": "ACST", "WART": "WART", "CDT": "CDT", "BT": "BT", "HEOG": "HEOG", "SAST": "SAST", "LHST": "LHST", "CHAST": "CHAST"}, } } @@ -330,7 +330,12 @@ func (dav *dav_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (dav *dav_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (dav *dav_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (dav *dav_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de/de.go b/de/de.go index f622eb0dc..eb0b10532 100644 --- a/de/de.go +++ b/de/de.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGK", "BGN", "BGJ", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGK", "BGN", "BGJ", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"UYST": "Uruguayanische Sommerzeit", "SRT": "Suriname-Zeit", "MEZ": "Mitteleuropäische Normalzeit", "AEST": "Ostaustralische Normalzeit", "HNT": "Neufundland-Normalzeit", "HAT": "Neufundland-Sommerzeit", "CLST": "Chilenische Sommerzeit", "UYT": "Uruguyanische Normalzeit", "HKST": "Hongkong-Sommerzeit", "SAST": "Südafrikanische Zeit", "TMT": "Turkmenistan-Normalzeit", "CLT": "Chilenische Normalzeit", "JDT": "Japanische Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "WART": "Westargentinische Normalzeit", "AST": "Atlantik-Normalzeit", "MDT": "Rocky-Mountain-Sommerzeit", "AWST": "Westaustralische Normalzeit", "ARST": "Argentinische Sommerzeit", "GYT": "Guyana-Zeit", "BOT": "Bolivianische Zeit", "COT": "Kolumbianische Normalzeit", "WIB": "Westindonesische Zeit", "SGT": "Singapur-Zeit", "TMST": "Turkmenistan-Sommerzeit", "OESZ": "Osteuropäische Sommerzeit", "VET": "Venezuela-Zeit", "LHST": "Lord-Howe-Normalzeit", "ART": "Argentinische Normalzeit", "CST": "Nordamerikanische Inland-Normalzeit", "NZST": "Neuseeland-Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "CAT": "Zentralafrikanische Zeit", "GFT": "Französisch-Guayana-Zeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "WEZ": "Westeuropäische Normalzeit", "HKT": "Hongkong-Normalzeit", "MYT": "Malaysische Zeit", "ChST": "Chamorro-Zeit", "COST": "Kolumbianische Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "BT": "Bhutan-Zeit", "ADT": "Atlantik-Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "AKST": "Alaska-Normalzeit", "MST": "Rocky Mountain-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "CHADT": "Chatham-Sommerzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AWDT": "Westaustralische Sommerzeit", "OEZ": "Osteuropäische Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "EAT": "Ostafrikanische Zeit", "AKDT": "Alaska-Sommerzeit", "WITA": "Zentralindonesische Zeit", "IST": "Indische Zeit", "∅∅∅": "Peruanische Sommerzeit", "CHAST": "Chatham-Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "WARST": "Westargentinische Sommerzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "ECT": "Ecuadorianische Zeit", "WIT": "Ostindonesische Zeit", "LHDT": "Lord-Howe-Sommerzeit", "JST": "Japanische Normalzeit"}, + timezones: map[string]string{"PDT": "Nordamerikanische Westküsten-Sommerzeit", "LHST": "Lord-Howe-Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "HKT": "Hongkong-Normalzeit", "CLT": "Chilenische Normalzeit", "JDT": "Japanische Sommerzeit", "OESZ": "Osteuropäische Sommerzeit", "MST": "Macau-Normalzeit", "AKST": "Alaska-Normalzeit", "GYT": "Guyana-Zeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "HNOG": "Westgrönland-Normalzeit", "WAT": "Westafrikanische Normalzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "MYT": "Malaysische Zeit", "HEOG": "Westgrönland-Sommerzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "NZST": "Neuseeland-Normalzeit", "VET": "Venezuela-Zeit", "SRT": "Suriname-Zeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "JST": "Japanische Normalzeit", "WARST": "Westargentinische Sommerzeit", "UYT": "Uruguyanische Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "MDT": "Macau-Sommerzeit", "HAT": "Neufundland-Sommerzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "IST": "Indische Zeit", "HECU": "Kubanische Sommerzeit", "UYST": "Uruguayanische Sommerzeit", "HNT": "Neufundland-Normalzeit", "ARST": "Argentinische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "WAST": "Westafrikanische Sommerzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "GFT": "Französisch-Guayana-Zeit", "TMT": "Turkmenistan-Normalzeit", "OEZ": "Osteuropäische Normalzeit", "WART": "Westargentinische Normalzeit", "SGT": "Singapur-Zeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "ADT": "Atlantik-Sommerzeit", "WIB": "Westindonesische Zeit", "HKST": "Hongkong-Sommerzeit", "WITA": "Zentralindonesische Zeit", "∅∅∅": "Amazonas-Sommerzeit", "BOT": "Bolivianische Zeit", "TMST": "Turkmenistan-Sommerzeit", "CAT": "Zentralafrikanische Zeit", "COT": "Kolumbianische Normalzeit", "GMT": "Mittlere Greenwich-Zeit", "AWST": "Westaustralische Normalzeit", "ChST": "Chamorro-Zeit", "HEEG": "Ostgrönland-Sommerzeit", "EAT": "Ostafrikanische Zeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "AEST": "Ostaustralische Normalzeit", "ECT": "Ecuadorianische Zeit", "CST": "Nordamerikanische Inland-Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AST": "Atlantik-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "BT": "Bhutan-Zeit", "WEZ": "Westeuropäische Normalzeit", "AWDT": "Westaustralische Sommerzeit", "NZDT": "Neuseeland-Sommerzeit", "SAST": "Südafrikanische Zeit", "CLST": "Chilenische Sommerzeit", "HNEG": "Ostgrönland-Normalzeit", "ACST": "Zentralaustralische Normalzeit", "WIT": "Ostindonesische Zeit", "WESZ": "Westeuropäische Sommerzeit", "MESZ": "Mitteleuropäische Sommerzeit", "CHADT": "Chatham-Sommerzeit", "HNCU": "Kubanische Normalzeit", "AKDT": "Alaska-Sommerzeit", "ART": "Argentinische Normalzeit", "AEDT": "Ostaustralische Sommerzeit", "CHAST": "Chatham-Normalzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit"}, } } @@ -445,7 +445,12 @@ func (de *de) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (de *de) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (de *de) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_AT/de_AT.go b/de_AT/de_AT.go index 893f84376..7d02b54dd 100644 --- a/de_AT/de_AT.go +++ b/de_AT/de_AT.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"EDT": "Nordamerikanische Ostküsten-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "COST": "Kolumbianische Sommerzeit", "HNT": "Neufundland-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "ADT": "Atlantik-Sommerzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "HKST": "Hongkong-Sommerzeit", "SGT": "Singapur-Zeit", "VET": "Venezuela-Zeit", "WART": "Westargentinische Normalzeit", "TMST": "Turkmenistan-Sommerzeit", "CAT": "Zentralafrikanische Zeit", "BOT": "Bolivianische Zeit", "CHAST": "Chatham-Normalzeit", "AEST": "Ostaustralische Normalzeit", "ART": "Argentinische Normalzeit", "∅∅∅": "Azoren-Sommerzeit", "MESZ": "Mitteleuropäische Sommerzeit", "AWST": "Westaustralische Normalzeit", "CLT": "Chilenische Normalzeit", "GMT": "Mittlere Greenwich-Zeit", "CST": "Nordamerikanische Inland-Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "WARST": "Westargentinische Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "AKDT": "Alaska-Sommerzeit", "UYT": "Uruguyanische Normalzeit", "UYST": "Uruguayanische Sommerzeit", "JDT": "Japanische Sommerzeit", "COT": "Kolumbianische Normalzeit", "IST": "Indische Zeit", "EAT": "Ostafrikanische Zeit", "MYT": "Malaysische Zeit", "AWDT": "Westaustralische Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "CHADT": "Chatham-Sommerzeit", "ACDT": "Zentralaustralische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "MDT": "Rocky-Mountain-Sommerzeit", "SAST": "Südafrikanische Zeit", "AKST": "Alaska-Normalzeit", "SRT": "Suriname-Zeit", "LHST": "Lord-Howe-Normalzeit", "HAT": "Neufundland-Sommerzeit", "HKT": "Hongkong-Normalzeit", "WIB": "Westindonesische Zeit", "GYT": "Guyana-Zeit", "AEDT": "Ostaustralische Sommerzeit", "ChST": "Chamorro-Zeit", "BT": "Bhutan-Zeit", "CLST": "Chilenische Sommerzeit", "OEZ": "Osteuropäische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "ARST": "Argentinische Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "AST": "Atlantik-Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "WITA": "Zentralindonesische Zeit", "WIT": "Ostindonesische Zeit", "JST": "Japanische Normalzeit", "GFT": "Französisch-Guayana-Zeit", "HAST": "Hawaii-Aleuten-Normalzeit", "WAT": "Westafrikanische Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "NZST": "Neuseeland-Normalzeit", "WEZ": "Westeuropäische Normalzeit", "ECT": "Ecuadorianische Zeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "MST": "Rocky Mountain-Normalzeit"}, + timezones: map[string]string{"SRT": "Suriname-Zeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "HEOG": "Westgrönland-Sommerzeit", "WITA": "Zentralindonesische Zeit", "WAT": "Westafrikanische Normalzeit", "HNCU": "Kubanische Normalzeit", "SGT": "Singapur-Zeit", "MYT": "Malaysische Zeit", "HAT": "Neufundland-Sommerzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "AWDT": "Westaustralische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "CLT": "Chilenische Normalzeit", "CAT": "Zentralafrikanische Zeit", "MST": "Rocky Mountain-Normalzeit", "HKST": "Hongkong-Sommerzeit", "NZDT": "Neuseeland-Sommerzeit", "∅∅∅": "Amazonas-Sommerzeit", "ECT": "Ecuadorianische Zeit", "ChST": "Chamorro-Zeit", "HECU": "Kubanische Sommerzeit", "WIB": "Westindonesische Zeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "AEST": "Ostaustralische Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "WIT": "Ostindonesische Zeit", "HAST": "Hawaii-Aleuten-Normalzeit", "HNT": "Neufundland-Normalzeit", "CHAST": "Chatham-Normalzeit", "CHADT": "Chatham-Sommerzeit", "ADT": "Atlantik-Sommerzeit", "UYST": "Uruguayanische Sommerzeit", "AWST": "Westaustralische Normalzeit", "LHST": "Lord-Howe-Normalzeit", "HNEG": "Ostgrönland-Normalzeit", "GYT": "Guyana-Zeit", "BOT": "Bolivianische Zeit", "WAST": "Westafrikanische Sommerzeit", "BT": "Bhutan-Zeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "HEEG": "Ostgrönland-Sommerzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "IST": "Indische Zeit", "EAT": "Ostafrikanische Zeit", "AST": "Atlantik-Normalzeit", "UYT": "Uruguyanische Normalzeit", "VET": "Venezuela-Zeit", "HNOG": "Westgrönland-Normalzeit", "MEZ": "Mitteleuropäische Normalzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "SAST": "Südafrikanische Zeit", "JDT": "Japanische Sommerzeit", "WARST": "Westargentinische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "AKDT": "Alaska-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "COT": "Kolumbianische Normalzeit", "OEZ": "Osteuropäische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "WART": "Westargentinische Normalzeit", "AKST": "Alaska-Normalzeit", "CST": "Nordamerikanische Inland-Normalzeit", "MDT": "Rocky-Mountain-Sommerzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "HKT": "Hongkong-Normalzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "NZST": "Neuseeland-Normalzeit", "CLST": "Chilenische Sommerzeit", "TMST": "Turkmenistan-Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "ART": "Argentinische Normalzeit", "ARST": "Argentinische Sommerzeit", "JST": "Japanische Normalzeit", "GFT": "Französisch-Guayana-Zeit"}, } } @@ -464,7 +464,12 @@ func (de *de_AT) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +483,12 @@ func (de *de_AT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -494,7 +504,12 @@ func (de *de_AT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_BE/de_BE.go b/de_BE/de_BE.go index bf8a79429..3e5f91e11 100644 --- a/de_BE/de_BE.go +++ b/de_BE/de_BE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"NZST": "Neuseeland-Normalzeit", "CHADT": "Chatham-Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "MST": "Rocky Mountain-Normalzeit", "ChST": "Chamorro-Zeit", "MESZ": "Mitteleuropäische Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AWST": "Westaustralische Normalzeit", "SRT": "Suriname-Zeit", "OESZ": "Osteuropäische Sommerzeit", "ACDT": "Zentralaustralische Sommerzeit", "COT": "Kolumbianische Normalzeit", "WART": "Westargentinische Normalzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "ADT": "Atlantik-Sommerzeit", "EAT": "Ostafrikanische Zeit", "VET": "Venezuela-Zeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "AKDT": "Alaska-Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "BT": "Bhutan-Zeit", "GFT": "Französisch-Guayana-Zeit", "OEZ": "Osteuropäische Normalzeit", "LHST": "Lord-Howe-Normalzeit", "UYST": "Uruguayanische Sommerzeit", "HKT": "Hongkong-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "AST": "Atlantik-Normalzeit", "CST": "Nordamerikanische Inland-Normalzeit", "HAT": "Neufundland-Sommerzeit", "HNT": "Neufundland-Normalzeit", "UYT": "Uruguyanische Normalzeit", "WAT": "Westafrikanische Normalzeit", "BOT": "Bolivianische Zeit", "CAT": "Zentralafrikanische Zeit", "IST": "Indische Zeit", "MEZ": "Mitteleuropäische Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "JST": "Japanische Normalzeit", "JDT": "Japanische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "WAST": "Westafrikanische Sommerzeit", "∅∅∅": "Peruanische Sommerzeit", "MYT": "Malaysische Zeit", "GYT": "Guyana-Zeit", "MDT": "Rocky-Mountain-Sommerzeit", "CHAST": "Chatham-Normalzeit", "SGT": "Singapur-Zeit", "ARST": "Argentinische Sommerzeit", "TMST": "Turkmenistan-Sommerzeit", "WIT": "Ostindonesische Zeit", "AWDT": "Westaustralische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "HKST": "Hongkong-Sommerzeit", "WIB": "Westindonesische Zeit", "AEST": "Ostaustralische Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "AKST": "Alaska-Normalzeit", "TMT": "Turkmenistan-Normalzeit", "CLST": "Chilenische Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "ECT": "Ecuadorianische Zeit", "LHDT": "Lord-Howe-Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "ART": "Argentinische Normalzeit", "WARST": "Westargentinische Sommerzeit", "SAST": "Südafrikanische Zeit", "WITA": "Zentralindonesische Zeit", "CLT": "Chilenische Normalzeit"}, + timezones: map[string]string{"ART": "Argentinische Normalzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "HKST": "Hongkong-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "ECT": "Ecuadorianische Zeit", "TMST": "Turkmenistan-Sommerzeit", "COT": "Kolumbianische Normalzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "WIB": "Westindonesische Zeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "MYT": "Malaysische Zeit", "UYST": "Uruguayanische Sommerzeit", "WIT": "Ostindonesische Zeit", "HEOG": "Westgrönland-Sommerzeit", "NZDT": "Neuseeland-Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "TMT": "Turkmenistan-Normalzeit", "AEDT": "Ostaustralische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "MST": "Macau-Normalzeit", "AWST": "Westaustralische Normalzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "LHST": "Lord-Howe-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "EAT": "Ostafrikanische Zeit", "CLST": "Chilenische Sommerzeit", "JST": "Japanische Normalzeit", "JDT": "Japanische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "HKT": "Hongkong-Normalzeit", "AEST": "Ostaustralische Normalzeit", "NZST": "Neuseeland-Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "AKDT": "Alaska-Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "CHADT": "Chatham-Sommerzeit", "CAT": "Zentralafrikanische Zeit", "WARST": "Westargentinische Sommerzeit", "MDT": "Macau-Sommerzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "ACST": "Zentralaustralische Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "HAT": "Neufundland-Sommerzeit", "AWDT": "Westaustralische Sommerzeit", "HEEG": "Ostgrönland-Sommerzeit", "AST": "Atlantik-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "CLT": "Chilenische Normalzeit", "∅∅∅": "Amazonas-Sommerzeit", "OEZ": "Osteuropäische Normalzeit", "AKST": "Alaska-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "ARST": "Argentinische Sommerzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "HECU": "Kubanische Sommerzeit", "GYT": "Guyana-Zeit", "UYT": "Uruguyanische Normalzeit", "VET": "Venezuela-Zeit", "BT": "Bhutan-Zeit", "WESZ": "Westeuropäische Sommerzeit", "SAST": "Südafrikanische Zeit", "WAST": "Westafrikanische Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "IST": "Indische Zeit", "BOT": "Bolivianische Zeit", "HNEG": "Ostgrönland-Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "WART": "Westargentinische Normalzeit", "HNCU": "Kubanische Normalzeit", "SRT": "Suriname-Zeit", "HNT": "Neufundland-Normalzeit", "CHAST": "Chatham-Normalzeit", "GFT": "Französisch-Guayana-Zeit", "ChST": "Chamorro-Zeit", "ADT": "Atlantik-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "HNOG": "Westgrönland-Normalzeit", "WITA": "Zentralindonesische Zeit", "MESZ": "Mitteleuropäische Sommerzeit", "SGT": "Singapur-Zeit"}, } } @@ -445,7 +445,12 @@ func (de *de_BE) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (de *de_BE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (de *de_BE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_CH/de_CH.go b/de_CH/de_CH.go index 7207ec928..a055b02ce 100644 --- a/de_CH/de_CH.go +++ b/de_CH/de_CH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"GMT": "Mittlere Greenwich-Zeit", "HKST": "Hongkong-Sommerzeit", "AEST": "Ostaustralische Normalzeit", "EAT": "Ostafrikanische Zeit", "WITA": "Zentralindonesische Zeit", "HNT": "Neufundland-Normalzeit", "∅∅∅": "Brasília-Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "JST": "Japanische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "COT": "Kolumbianische Normalzeit", "ART": "Argentinische Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "AWST": "Westaustralische Normalzeit", "CHAST": "Chatham-Normalzeit", "SRT": "Suriname-Zeit", "AEDT": "Ostaustralische Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "IST": "Indische Zeit", "UYT": "Uruguyanische Normalzeit", "JDT": "Japanische Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "MST": "Rocky Mountain-Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "MESZ": "Mitteleuropäische Sommerzeit", "SGT": "Singapur-Zeit", "WART": "Westargentinische Normalzeit", "WARST": "Westargentinische Sommerzeit", "AKDT": "Alaska-Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "VET": "Venezuela-Zeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "GFT": "Französisch-Guayana-Zeit", "ECT": "Ecuadorianische Zeit", "WIB": "Westindonesische Zeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "NZST": "Neuseeland-Normalzeit", "CAT": "Zentralafrikanische Zeit", "CST": "Nordamerikanische Inland-Normalzeit", "MDT": "Rocky-Mountain-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "AST": "Atlantik-Normalzeit", "LHST": "Lord-Howe-Normalzeit", "HKT": "Hongkong-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "HAT": "Neufundland-Sommerzeit", "WIT": "Ostindonesische Zeit", "LHDT": "Lord-Howe-Sommerzeit", "GYT": "Guyana-Zeit", "OEZ": "Osteuropäische Normalzeit", "SAST": "Südafrikanische Zeit", "TMST": "Turkmenistan-Sommerzeit", "CLST": "Chilenische Sommerzeit", "ARST": "Argentinische Sommerzeit", "ChST": "Chamorro-Zeit", "CLT": "Chilenische Normalzeit", "UYST": "Uruguayanische Sommerzeit", "AKST": "Alaska-Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "ADT": "Atlantik-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "BOT": "Bolivianische Zeit", "CHADT": "Chatham-Sommerzeit", "COST": "Kolumbianische Sommerzeit", "MYT": "Malaysische Zeit", "BT": "Bhutan-Zeit", "AWDT": "Westaustralische Sommerzeit"}, + timezones: map[string]string{"HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "WART": "Westargentinische Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "JST": "Japanische Normalzeit", "HEEG": "Ostgrönland-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "CLST": "Chilenische Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "WIT": "Ostindonesische Zeit", "HEOG": "Westgrönland-Sommerzeit", "AWDT": "Westaustralische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "MDT": "Macau-Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "AEST": "Ostaustralische Normalzeit", "LHST": "Lord-Howe-Normalzeit", "WARST": "Westargentinische Sommerzeit", "EAT": "Ostafrikanische Zeit", "AST": "Atlantik-Normalzeit", "VET": "Venezuela-Zeit", "BT": "Bhutan-Zeit", "ART": "Argentinische Normalzeit", "NZST": "Neuseeland-Normalzeit", "HNCU": "Kubanische Normalzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "MEZ": "Mitteleuropäische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "CAT": "Zentralafrikanische Zeit", "IST": "Indische Zeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "MST": "Macau-Normalzeit", "AKST": "Alaska-Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "WITA": "Zentralindonesische Zeit", "CHAST": "Chatham-Normalzeit", "CLT": "Chilenische Normalzeit", "AKDT": "Alaska-Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "HKST": "Hongkong-Sommerzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "SGT": "Singapur-Zeit", "GYT": "Guyana-Zeit", "HAST": "Hawaii-Aleuten-Normalzeit", "HAT": "Neufundland-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "UYT": "Uruguyanische Normalzeit", "WIB": "Westindonesische Zeit", "ACDT": "Zentralaustralische Sommerzeit", "ChST": "Chamorro-Zeit", "MYT": "Malaysische Zeit", "HNT": "Neufundland-Normalzeit", "HNOG": "Westgrönland-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "ARST": "Argentinische Sommerzeit", "AWST": "Westaustralische Normalzeit", "SAST": "Südafrikanische Zeit", "OEZ": "Osteuropäische Normalzeit", "COT": "Kolumbianische Normalzeit", "GFT": "Französisch-Guayana-Zeit", "HECU": "Kubanische Sommerzeit", "ADT": "Atlantik-Sommerzeit", "HKT": "Hongkong-Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "JDT": "Japanische Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "BOT": "Bolivianische Zeit", "ECT": "Ecuadorianische Zeit", "SRT": "Suriname-Zeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "CHADT": "Chatham-Sommerzeit", "∅∅∅": "Azoren-Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "UYST": "Uruguayanische Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "HNEG": "Ostgrönland-Normalzeit", "TMST": "Turkmenistan-Sommerzeit"}, } } @@ -454,7 +454,12 @@ func (de *de_CH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +473,12 @@ func (de *de_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -484,7 +494,12 @@ func (de *de_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_DE/de_DE.go b/de_DE/de_DE.go index 64125e579..3886a946b 100644 --- a/de_DE/de_DE.go +++ b/de_DE/de_DE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"SGT": "Singapur-Zeit", "AKST": "Alaska-Normalzeit", "MDT": "Rocky-Mountain-Sommerzeit", "CHADT": "Chatham-Sommerzeit", "WARST": "Westargentinische Sommerzeit", "LHDT": "Lord-Howe-Sommerzeit", "ECT": "Ecuadorianische Zeit", "VET": "Venezuela-Zeit", "ACDT": "Zentralaustralische Sommerzeit", "COST": "Kolumbianische Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "NZST": "Neuseeland-Normalzeit", "AWST": "Westaustralische Normalzeit", "GMT": "Mittlere Greenwich-Zeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "AKDT": "Alaska-Sommerzeit", "∅∅∅": "Peruanische Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "LHST": "Lord-Howe-Normalzeit", "WEZ": "Westeuropäische Normalzeit", "WIB": "Westindonesische Zeit", "AEDT": "Ostaustralische Sommerzeit", "JST": "Japanische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "HKST": "Hongkong-Sommerzeit", "COT": "Kolumbianische Normalzeit", "SAST": "Südafrikanische Zeit", "ChST": "Chamorro-Zeit", "SRT": "Suriname-Zeit", "WIT": "Ostindonesische Zeit", "CLT": "Chilenische Normalzeit", "UYT": "Uruguyanische Normalzeit", "WART": "Westargentinische Normalzeit", "EAT": "Ostafrikanische Zeit", "BOT": "Bolivianische Zeit", "TMST": "Turkmenistan-Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "GFT": "Französisch-Guayana-Zeit", "OEZ": "Osteuropäische Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "ART": "Argentinische Normalzeit", "ADT": "Atlantik-Sommerzeit", "IST": "Indische Zeit", "ARST": "Argentinische Sommerzeit", "JDT": "Japanische Sommerzeit", "CHAST": "Chatham-Normalzeit", "HKT": "Hongkong-Normalzeit", "AST": "Atlantik-Normalzeit", "HNT": "Neufundland-Normalzeit", "UYST": "Uruguayanische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "MYT": "Malaysische Zeit", "CAT": "Zentralafrikanische Zeit", "MST": "Rocky Mountain-Normalzeit", "ACST": "Zentralaustralische Normalzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "AEST": "Ostaustralische Normalzeit", "WITA": "Zentralindonesische Zeit", "GYT": "Guyana-Zeit", "BT": "Bhutan-Zeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "WAST": "Westafrikanische Sommerzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "HAT": "Neufundland-Sommerzeit", "CLST": "Chilenische Sommerzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AWDT": "Westaustralische Sommerzeit"}, + timezones: map[string]string{"ART": "Argentinische Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "CLST": "Chilenische Sommerzeit", "EAT": "Ostafrikanische Zeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "HNT": "Neufundland-Normalzeit", "HKST": "Hongkong-Sommerzeit", "CHAST": "Chatham-Normalzeit", "HNCU": "Kubanische Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "HNOG": "Westgrönland-Normalzeit", "CHADT": "Chatham-Sommerzeit", "UYT": "Uruguyanische Normalzeit", "AEDT": "Ostaustralische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "ADT": "Atlantik-Sommerzeit", "JST": "Japanische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "BT": "Bhutan-Zeit", "ACST": "Zentralaustralische Normalzeit", "OEZ": "Osteuropäische Normalzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "GFT": "Französisch-Guayana-Zeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "HKT": "Hongkong-Normalzeit", "CAT": "Zentralafrikanische Zeit", "COT": "Kolumbianische Normalzeit", "COST": "Kolumbianische Sommerzeit", "GYT": "Guyana-Zeit", "WIB": "Westindonesische Zeit", "SRT": "Suriname-Zeit", "WESZ": "Westeuropäische Sommerzeit", "HEOG": "Westgrönland-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "SGT": "Singapur-Zeit", "MYT": "Malaysische Zeit", "AWDT": "Westaustralische Sommerzeit", "NZST": "Neuseeland-Normalzeit", "ChST": "Chamorro-Zeit", "BOT": "Bolivianische Zeit", "ECT": "Ecuadorianische Zeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "CLT": "Chilenische Normalzeit", "SAST": "Südafrikanische Zeit", "JDT": "Japanische Sommerzeit", "HNEG": "Ostgrönland-Normalzeit", "HEEG": "Ostgrönland-Sommerzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "AEST": "Ostaustralische Normalzeit", "AWST": "Westaustralische Normalzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "AKDT": "Alaska-Sommerzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "WITA": "Zentralindonesische Zeit", "∅∅∅": "Amazonas-Sommerzeit", "WARST": "Westargentinische Sommerzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "HECU": "Kubanische Sommerzeit", "MDT": "Macau-Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "WART": "Westargentinische Normalzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "HAT": "Neufundland-Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "VET": "Venezuela-Zeit", "LHST": "Lord-Howe-Normalzeit", "WAT": "Westafrikanische Normalzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "WIT": "Ostindonesische Zeit", "TMST": "Turkmenistan-Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "IST": "Indische Zeit", "ACDT": "Zentralaustralische Sommerzeit", "MST": "Macau-Normalzeit", "UYST": "Uruguayanische Sommerzeit", "AKST": "Alaska-Normalzeit", "AST": "Atlantik-Normalzeit", "ARST": "Argentinische Sommerzeit", "NZDT": "Neuseeland-Sommerzeit"}, } } @@ -445,7 +445,12 @@ func (de *de_DE) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (de *de_DE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (de *de_DE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_IT/de_IT.go b/de_IT/de_IT.go new file mode 100644 index 000000000..6ae3f83bd --- /dev/null +++ b/de_IT/de_IT.go @@ -0,0 +1,614 @@ +package de_IT + +import ( + "math" + "strconv" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +type de_IT struct { + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string +} + +// New returns a new instance of translator for the 'de_IT' locale +func New() locales.Translator { + return &de_IT{ + locale: "de_IT", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ",", + group: ".", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Jän.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}, + daysAbbreviated: []string{"So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."}, + daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, + daysShort: []string{"So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."}, + daysWide: []string{"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"}, + periodsAbbreviated: []string{"vorm.", "nachm."}, + periodsNarrow: []string{"vm.", "nm."}, + periodsWide: []string{"vorm.", "nachm."}, + erasAbbreviated: []string{"v. Chr.", "n. Chr."}, + erasNarrow: []string{"v. Chr.", "n. Chr."}, + erasWide: []string{"v. Chr.", "n. Chr."}, + timezones: map[string]string{"HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "HNCU": "Kubanische Normalzeit", "HECU": "Kubanische Sommerzeit", "MST": "Macau-Normalzeit", "CLT": "Chilenische Normalzeit", "JST": "Japanische Normalzeit", "WART": "Westargentinische Normalzeit", "COST": "Kolumbianische Sommerzeit", "AKST": "Alaska-Normalzeit", "CST": "Nordamerikanische Inland-Normalzeit", "HNOG": "Westgrönland-Normalzeit", "AWST": "Westaustralische Normalzeit", "SAST": "Südafrikanische Zeit", "HNEG": "Ostgrönland-Normalzeit", "ACST": "Zentralaustralische Normalzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "CHAST": "Chatham-Normalzeit", "CAT": "Zentralafrikanische Zeit", "WARST": "Westargentinische Sommerzeit", "HNT": "Neufundland-Normalzeit", "HAT": "Neufundland-Sommerzeit", "OESZ": "Osteuropäische Sommerzeit", "GYT": "Guyana-Zeit", "AKDT": "Alaska-Sommerzeit", "HEOG": "Westgrönland-Sommerzeit", "AEST": "Ostaustralische Normalzeit", "HKT": "Hongkong-Normalzeit", "WITA": "Zentralindonesische Zeit", "LHST": "Lord-Howe-Normalzeit", "ARST": "Argentinische Sommerzeit", "NZST": "Neuseeland-Normalzeit", "WIT": "Ostindonesische Zeit", "VET": "Venezuela-Zeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "NZDT": "Neuseeland-Sommerzeit", "CHADT": "Chatham-Sommerzeit", "JDT": "Japanische Sommerzeit", "OEZ": "Osteuropäische Normalzeit", "AWDT": "Westaustralische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "BOT": "Bolivianische Zeit", "BT": "Bhutan-Zeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "HKST": "Hongkong-Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "ADT": "Atlantik-Sommerzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "EAT": "Ostafrikanische Zeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "UYT": "Uruguyanische Normalzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "CLST": "Chilenische Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "TMST": "Turkmenistan-Sommerzeit", "LHDT": "Lord-Howe-Sommerzeit", "ECT": "Ecuadorianische Zeit", "COT": "Kolumbianische Normalzeit", "ART": "Argentinische Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "GMT": "Mittlere Greenwich-Zeit", "SRT": "Suriname-Zeit", "ChST": "Chamorro-Zeit", "HEEG": "Ostgrönland-Sommerzeit", "GFT": "Französisch-Guayana-Zeit", "WAT": "Westafrikanische Normalzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "AST": "Atlantik-Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "IST": "Indische Zeit", "ACDT": "Zentralaustralische Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "SGT": "Singapur-Zeit", "MDT": "Macau-Sommerzeit", "UYST": "Uruguayanische Sommerzeit", "WIB": "Westindonesische Zeit", "∅∅∅": "Amazonas-Sommerzeit", "MYT": "Malaysische Zeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "WEZ": "Westeuropäische Normalzeit"}, + } +} + +// Locale returns the current translators string locale +func (de *de_IT) Locale() string { + return de.locale +} + +// PluralsCardinal returns the list of cardinal plural rules associated with 'de_IT' +func (de *de_IT) PluralsCardinal() []locales.PluralRule { + return de.pluralsCardinal +} + +// PluralsOrdinal returns the list of ordinal plural rules associated with 'de_IT' +func (de *de_IT) PluralsOrdinal() []locales.PluralRule { + return de.pluralsOrdinal +} + +// PluralsRange returns the list of range plural rules associated with 'de_IT' +func (de *de_IT) PluralsRange() []locales.PluralRule { + return de.pluralsRange +} + +// CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'de_IT' +func (de *de_IT) CardinalPluralRule(num float64, v uint64) locales.PluralRule { + + n := math.Abs(num) + i := int64(n) + + if i == 1 && v == 0 { + return locales.PluralRuleOne + } + + return locales.PluralRuleOther +} + +// OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'de_IT' +func (de *de_IT) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleOther +} + +// RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'de_IT' +func (de *de_IT) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { + + start := de.CardinalPluralRule(num1, v1) + end := de.CardinalPluralRule(num2, v2) + + if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } + + return locales.PluralRuleOther + +} + +// MonthAbbreviated returns the locales abbreviated month given the 'month' provided +func (de *de_IT) MonthAbbreviated(month time.Month) string { + return de.monthsAbbreviated[month] +} + +// MonthsAbbreviated returns the locales abbreviated months +func (de *de_IT) MonthsAbbreviated() []string { + return de.monthsAbbreviated[1:] +} + +// MonthNarrow returns the locales narrow month given the 'month' provided +func (de *de_IT) MonthNarrow(month time.Month) string { + return de.monthsNarrow[month] +} + +// MonthsNarrow returns the locales narrow months +func (de *de_IT) MonthsNarrow() []string { + return de.monthsNarrow[1:] +} + +// MonthWide returns the locales wide month given the 'month' provided +func (de *de_IT) MonthWide(month time.Month) string { + return de.monthsWide[month] +} + +// MonthsWide returns the locales wide months +func (de *de_IT) MonthsWide() []string { + return de.monthsWide[1:] +} + +// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided +func (de *de_IT) WeekdayAbbreviated(weekday time.Weekday) string { + return de.daysAbbreviated[weekday] +} + +// WeekdaysAbbreviated returns the locales abbreviated weekdays +func (de *de_IT) WeekdaysAbbreviated() []string { + return de.daysAbbreviated +} + +// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided +func (de *de_IT) WeekdayNarrow(weekday time.Weekday) string { + return de.daysNarrow[weekday] +} + +// WeekdaysNarrow returns the locales narrow weekdays +func (de *de_IT) WeekdaysNarrow() []string { + return de.daysNarrow +} + +// WeekdayShort returns the locales short weekday given the 'weekday' provided +func (de *de_IT) WeekdayShort(weekday time.Weekday) string { + return de.daysShort[weekday] +} + +// WeekdaysShort returns the locales short weekdays +func (de *de_IT) WeekdaysShort() []string { + return de.daysShort +} + +// WeekdayWide returns the locales wide weekday given the 'weekday' provided +func (de *de_IT) WeekdayWide(weekday time.Weekday) string { + return de.daysWide[weekday] +} + +// WeekdaysWide returns the locales wide weekdays +func (de *de_IT) WeekdaysWide() []string { + return de.daysWide +} + +// FmtNumber returns 'num' with digits/precision of 'v' for 'de_IT' and handles both Whole and Real numbers based on 'v' +func (de *de_IT) FmtNumber(num float64, v uint64) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, de.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, de.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, de.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) +} + +// FmtPercent returns 'num' with digits/precision of 'v' for 'de_IT' and handles both Whole and Real numbers based on 'v' +// NOTE: 'num' passed into FmtPercent is assumed to be in percent already +func (de *de_IT) FmtPercent(num float64, v uint64) string { + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, de.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, de.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, de.percentSuffix...) + + b = append(b, de.percent...) + + return string(b) +} + +// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'de_IT' +func (de *de_IT) FmtCurrency(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := de.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, de.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, de.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, de.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, de.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, de.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) +} + +// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'de_IT' +// in accounting notation. +func (de *de_IT) FmtAccounting(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := de.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, de.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, de.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, de.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, de.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, de.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, de.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) +} + +// FmtDateShort returns the short date representation of 't' for 'de_IT' +func (de *de_IT) FmtDateShort(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2e}...) + + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) + } + + return string(b) +} + +// FmtDateMedium returns the medium date representation of 't' for 'de_IT' +func (de *de_IT) FmtDateMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateLong returns the long date representation of 't' for 'de_IT' +func (de *de_IT) FmtDateLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, de.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateFull returns the full date representation of 't' for 'de_IT' +func (de *de_IT) FmtDateFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, de.daysWide[t.Weekday()]...) + b = append(b, []byte{0x2c, 0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, de.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtTimeShort returns the short time representation of 't' for 'de_IT' +func (de *de_IT) FmtTimeShort(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, de.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + + return string(b) +} + +// FmtTimeMedium returns the medium time representation of 't' for 'de_IT' +func (de *de_IT) FmtTimeMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, de.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, de.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + + return string(b) +} + +// FmtTimeLong returns the long time representation of 't' for 'de_IT' +func (de *de_IT) FmtTimeLong(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, de.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, de.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + + return string(b) +} + +// FmtTimeFull returns the full time representation of 't' for 'de_IT' +func (de *de_IT) FmtTimeFull(t time.Time) string { + + b := make([]byte, 0, 32) + + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, de.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, de.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := de.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + return string(b) +} diff --git a/de_IT/de_IT_test.go b/de_IT/de_IT_test.go new file mode 100644 index 000000000..e8904680a --- /dev/null +++ b/de_IT/de_IT_test.go @@ -0,0 +1,1120 @@ +package de_IT + +import ( + "testing" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +func TestLocale(t *testing.T) { + + trans := New() + expected := "de_IT" + + if trans.Locale() != expected { + t.Errorf("Expected '%s' Got '%s'", expected, trans.Locale()) + } +} + +func TestPluralsRange(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsRange() + // expected := 1 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsOrdinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleTwo, + // }, + // { + // expected: locales.PluralRuleFew, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsOrdinal() + // expected := 4 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsCardinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsCardinal() + // expected := 2 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestRangePlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num1 float64 + v1 uint64 + num2 float64 + v2 uint64 + expected locales.PluralRule + }{ + // { + // num1: 1, + // v1: 1, + // num2: 2, + // v2: 2, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.RangePluralRule(tt.num1, tt.v1, tt.num2, tt.v2) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestOrdinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 2, + // v: 0, + // expected: locales.PluralRuleTwo, + // }, + // { + // num: 3, + // v: 0, + // expected: locales.PluralRuleFew, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.OrdinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestCardinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.CardinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestDaysAbbreviated(t *testing.T) { + + trans := New() + days := trans.WeekdaysAbbreviated() + + for i, day := range days { + s := trans.WeekdayAbbreviated(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sun", + // }, + // { + // idx: 1, + // expected: "Mon", + // }, + // { + // idx: 2, + // expected: "Tue", + // }, + // { + // idx: 3, + // expected: "Wed", + // }, + // { + // idx: 4, + // expected: "Thu", + // }, + // { + // idx: 5, + // expected: "Fri", + // }, + // { + // idx: 6, + // expected: "Sat", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayAbbreviated(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysNarrow(t *testing.T) { + + trans := New() + days := trans.WeekdaysNarrow() + + for i, day := range days { + s := trans.WeekdayNarrow(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", string(day), s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "S", + // }, + // { + // idx: 1, + // expected: "M", + // }, + // { + // idx: 2, + // expected: "T", + // }, + // { + // idx: 3, + // expected: "W", + // }, + // { + // idx: 4, + // expected: "T", + // }, + // { + // idx: 5, + // expected: "F", + // }, + // { + // idx: 6, + // expected: "S", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayNarrow(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysShort(t *testing.T) { + + trans := New() + days := trans.WeekdaysShort() + + for i, day := range days { + s := trans.WeekdayShort(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Su", + // }, + // { + // idx: 1, + // expected: "Mo", + // }, + // { + // idx: 2, + // expected: "Tu", + // }, + // { + // idx: 3, + // expected: "We", + // }, + // { + // idx: 4, + // expected: "Th", + // }, + // { + // idx: 5, + // expected: "Fr", + // }, + // { + // idx: 6, + // expected: "Sa", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayShort(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysWide(t *testing.T) { + + trans := New() + days := trans.WeekdaysWide() + + for i, day := range days { + s := trans.WeekdayWide(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sunday", + // }, + // { + // idx: 1, + // expected: "Monday", + // }, + // { + // idx: 2, + // expected: "Tuesday", + // }, + // { + // idx: 3, + // expected: "Wednesday", + // }, + // { + // idx: 4, + // expected: "Thursday", + // }, + // { + // idx: 5, + // expected: "Friday", + // }, + // { + // idx: 6, + // expected: "Saturday", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayWide(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsAbbreviated(t *testing.T) { + + trans := New() + months := trans.MonthsAbbreviated() + + for i, month := range months { + s := trans.MonthAbbreviated(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "Jan", + // }, + // { + // idx: 2, + // expected: "Feb", + // }, + // { + // idx: 3, + // expected: "Mar", + // }, + // { + // idx: 4, + // expected: "Apr", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "Jun", + // }, + // { + // idx: 7, + // expected: "Jul", + // }, + // { + // idx: 8, + // expected: "Aug", + // }, + // { + // idx: 9, + // expected: "Sep", + // }, + // { + // idx: 10, + // expected: "Oct", + // }, + // { + // idx: 11, + // expected: "Nov", + // }, + // { + // idx: 12, + // expected: "Dec", + // }, + } + + for _, tt := range tests { + s := trans.MonthAbbreviated(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsNarrow(t *testing.T) { + + trans := New() + months := trans.MonthsNarrow() + + for i, month := range months { + s := trans.MonthNarrow(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "J", + // }, + // { + // idx: 2, + // expected: "F", + // }, + // { + // idx: 3, + // expected: "M", + // }, + // { + // idx: 4, + // expected: "A", + // }, + // { + // idx: 5, + // expected: "M", + // }, + // { + // idx: 6, + // expected: "J", + // }, + // { + // idx: 7, + // expected: "J", + // }, + // { + // idx: 8, + // expected: "A", + // }, + // { + // idx: 9, + // expected: "S", + // }, + // { + // idx: 10, + // expected: "O", + // }, + // { + // idx: 11, + // expected: "N", + // }, + // { + // idx: 12, + // expected: "D", + // }, + } + + for _, tt := range tests { + s := trans.MonthNarrow(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsWide(t *testing.T) { + + trans := New() + months := trans.MonthsWide() + + for i, month := range months { + s := trans.MonthWide(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "January", + // }, + // { + // idx: 2, + // expected: "February", + // }, + // { + // idx: 3, + // expected: "March", + // }, + // { + // idx: 4, + // expected: "April", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "June", + // }, + // { + // idx: 7, + // expected: "July", + // }, + // { + // idx: 8, + // expected: "August", + // }, + // { + // idx: 9, + // expected: "September", + // }, + // { + // idx: 10, + // expected: "October", + // }, + // { + // idx: 11, + // expected: "November", + // }, + // { + // idx: 12, + // expected: "December", + // }, + } + + for _, tt := range tests { + s := string(trans.MonthWide(time.Month(tt.idx))) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeFull(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + // fixed := time.FixedZone("OTHER", -4) + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am Eastern Standard Time", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, fixed), + // expected: "8:05:01 pm OTHER", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeLong(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am EST", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, loc), + // expected: "8:05:01 pm EST", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05:01 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05:01 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateFull(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Wednesday, February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateLong(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Feb 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/16", + // }, + // { + // t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/500", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtNumber(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // expected: "1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // expected: "1,123,456.6", + // }, + // { + // num: 221123456.5643, + // v: 3, + // expected: "221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtNumber(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtCurrency(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "-$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "-CAD 221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtCurrency(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtAccounting(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "($221,123,456.564)", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "(CAD 221,123,456.564)", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtAccounting(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtPercent(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 15, + // v: 0, + // expected: "15%", + // }, + // { + // num: 15, + // v: 2, + // expected: "15.00%", + // }, + // { + // num: 434.45, + // v: 0, + // expected: "434%", + // }, + // { + // num: 34.4, + // v: 2, + // expected: "34.40%", + // }, + // { + // num: -34, + // v: 0, + // expected: "-34%", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtPercent(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} diff --git a/de_LI/de_LI.go b/de_LI/de_LI.go index 648f741d7..e55b64161 100644 --- a/de_LI/de_LI.go +++ b/de_LI/de_LI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"WIB": "Westindonesische Zeit", "WAST": "Westafrikanische Sommerzeit", "AST": "Atlantik-Normalzeit", "SAST": "Südafrikanische Zeit", "NZST": "Neuseeland-Normalzeit", "SGT": "Singapur-Zeit", "VET": "Venezuela-Zeit", "ACDT": "Zentralaustralische Sommerzeit", "ART": "Argentinische Normalzeit", "ChST": "Chamorro-Zeit", "OESZ": "Osteuropäische Sommerzeit", "ECT": "Ecuadorianische Zeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ADT": "Atlantik-Sommerzeit", "AEST": "Ostaustralische Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "MST": "Rocky Mountain-Normalzeit", "MYT": "Malaysische Zeit", "GYT": "Guyana-Zeit", "WEZ": "Westeuropäische Normalzeit", "AKST": "Alaska-Normalzeit", "BT": "Bhutan-Zeit", "LHST": "Lord-Howe-Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "ARST": "Argentinische Sommerzeit", "EAT": "Ostafrikanische Zeit", "NZDT": "Neuseeland-Sommerzeit", "AWDT": "Westaustralische Sommerzeit", "LHDT": "Lord-Howe-Sommerzeit", "HKT": "Hongkong-Normalzeit", "COST": "Kolumbianische Sommerzeit", "MEZ": "Mitteleuropäische Normalzeit", "AEDT": "Ostaustralische Sommerzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "JDT": "Japanische Sommerzeit", "CHADT": "Chatham-Sommerzeit", "SRT": "Suriname-Zeit", "WITA": "Zentralindonesische Zeit", "CLT": "Chilenische Normalzeit", "JST": "Japanische Normalzeit", "WART": "Westargentinische Normalzeit", "WAT": "Westafrikanische Normalzeit", "WARST": "Westargentinische Sommerzeit", "TMST": "Turkmenistan-Sommerzeit", "CLST": "Chilenische Sommerzeit", "HKST": "Hongkong-Sommerzeit", "CHAST": "Chatham-Normalzeit", "IST": "Indische Zeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "BOT": "Bolivianische Zeit", "∅∅∅": "Acre-Sommerzeit", "COT": "Kolumbianische Normalzeit", "GMT": "Mittlere Greenwich-Zeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "WIT": "Ostindonesische Zeit", "TMT": "Turkmenistan-Normalzeit", "CAT": "Zentralafrikanische Zeit", "AKDT": "Alaska-Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "HAT": "Neufundland-Sommerzeit", "GFT": "Französisch-Guayana-Zeit", "ACST": "Zentralaustralische Normalzeit", "UYT": "Uruguyanische Normalzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "HNT": "Neufundland-Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "AWST": "Westaustralische Normalzeit", "UYST": "Uruguayanische Sommerzeit", "OEZ": "Osteuropäische Normalzeit", "MDT": "Rocky-Mountain-Sommerzeit"}, + timezones: map[string]string{"HKST": "Hongkong-Sommerzeit", "∅∅∅": "Amazonas-Sommerzeit", "TMST": "Turkmenistan-Sommerzeit", "VET": "Venezuela-Zeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "CHAST": "Chatham-Normalzeit", "WIB": "Westindonesische Zeit", "ART": "Argentinische Normalzeit", "NZST": "Neuseeland-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "ARST": "Argentinische Sommerzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "JST": "Japanische Normalzeit", "AST": "Atlantik-Normalzeit", "AKST": "Alaska-Normalzeit", "HNT": "Neufundland-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "WARST": "Westargentinische Sommerzeit", "MST": "Macau-Normalzeit", "MYT": "Malaysische Zeit", "HEOG": "Westgrönland-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "WART": "Westargentinische Normalzeit", "MDT": "Macau-Sommerzeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "HNOG": "Westgrönland-Normalzeit", "LHST": "Lord-Howe-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "SAST": "Südafrikanische Zeit", "BOT": "Bolivianische Zeit", "WAT": "Westafrikanische Normalzeit", "HECU": "Kubanische Sommerzeit", "BT": "Bhutan-Zeit", "CLST": "Chilenische Sommerzeit", "GFT": "Französisch-Guayana-Zeit", "HNEG": "Ostgrönland-Normalzeit", "SGT": "Singapur-Zeit", "UYT": "Uruguyanische Normalzeit", "CHADT": "Chatham-Sommerzeit", "WEZ": "Westeuropäische Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "WIT": "Ostindonesische Zeit", "AEDT": "Ostaustralische Sommerzeit", "CLT": "Chilenische Normalzeit", "OEZ": "Osteuropäische Normalzeit", "ECT": "Ecuadorianische Zeit", "CAT": "Zentralafrikanische Zeit", "WAST": "Westafrikanische Sommerzeit", "HNCU": "Kubanische Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "CST": "Nordamerikanische Inland-Normalzeit", "MEZ": "Mitteleuropäische Normalzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "AKDT": "Alaska-Sommerzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "ChST": "Chamorro-Zeit", "EAT": "Ostafrikanische Zeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "ADT": "Atlantik-Sommerzeit", "GYT": "Guyana-Zeit", "AWST": "Westaustralische Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "UYST": "Uruguayanische Sommerzeit", "WITA": "Zentralindonesische Zeit", "SRT": "Suriname-Zeit", "AWDT": "Westaustralische Sommerzeit", "NZDT": "Neuseeland-Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "HKT": "Hongkong-Normalzeit", "HEEG": "Ostgrönland-Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "COT": "Kolumbianische Normalzeit", "COST": "Kolumbianische Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "AEST": "Ostaustralische Normalzeit", "WESZ": "Westeuropäische Sommerzeit", "MESZ": "Mitteleuropäische Sommerzeit", "IST": "Indische Zeit", "JDT": "Japanische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "HAT": "Neufundland-Sommerzeit"}, } } @@ -454,7 +454,12 @@ func (de *de_LI) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +473,12 @@ func (de *de_LI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -484,7 +494,12 @@ func (de *de_LI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/de_LU/de_LU.go b/de_LU/de_LU.go index 74cbe0154..4e05dc8a4 100644 --- a/de_LU/de_LU.go +++ b/de_LU/de_LU.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -68,12 +68,12 @@ func New() locales.Translator { daysShort: []string{"So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."}, daysWide: []string{"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"}, periodsAbbreviated: []string{"vorm.", "nachm."}, - periodsNarrow: []string{"vm.", "nm."}, + periodsNarrow: []string{"vorm.", "nachm."}, periodsWide: []string{"vorm.", "nachm."}, erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"ACST": "Zentralaustralische Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "TMST": "Turkmenistan-Sommerzeit", "MYT": "Malaysische Zeit", "CLST": "Chilenische Sommerzeit", "CHAST": "Chatham-Normalzeit", "WEZ": "Westeuropäische Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "MDT": "Rocky-Mountain-Sommerzeit", "AWST": "Westaustralische Normalzeit", "∅∅∅": "Acre-Sommerzeit", "ART": "Argentinische Normalzeit", "BOT": "Bolivianische Zeit", "HAT": "Neufundland-Sommerzeit", "CLT": "Chilenische Normalzeit", "AST": "Atlantik-Normalzeit", "MST": "Rocky Mountain-Normalzeit", "JDT": "Japanische Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "LHST": "Lord-Howe-Normalzeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "WITA": "Zentralindonesische Zeit", "CST": "Nordamerikanische Inland-Normalzeit", "GFT": "Französisch-Guayana-Zeit", "ECT": "Ecuadorianische Zeit", "SGT": "Singapur-Zeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "AKST": "Alaska-Normalzeit", "BT": "Bhutan-Zeit", "AEDT": "Ostaustralische Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "OESZ": "Osteuropäische Sommerzeit", "IST": "Indische Zeit", "WIB": "Westindonesische Zeit", "MESZ": "Mitteleuropäische Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "CAT": "Zentralafrikanische Zeit", "UYST": "Uruguayanische Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ChST": "Chamorro-Zeit", "HNT": "Neufundland-Normalzeit", "LHDT": "Lord-Howe-Sommerzeit", "COST": "Kolumbianische Sommerzeit", "ARST": "Argentinische Sommerzeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "JST": "Japanische Normalzeit", "AKDT": "Alaska-Sommerzeit", "SAST": "Südafrikanische Zeit", "OEZ": "Osteuropäische Normalzeit", "HKST": "Hongkong-Sommerzeit", "VET": "Venezuela-Zeit", "WARST": "Westargentinische Sommerzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "COT": "Kolumbianische Normalzeit", "EAT": "Ostafrikanische Zeit", "WAT": "Westafrikanische Normalzeit", "AWDT": "Westaustralische Sommerzeit", "AEST": "Ostaustralische Normalzeit", "NZST": "Neuseeland-Normalzeit", "SRT": "Suriname-Zeit", "MEZ": "Mitteleuropäische Normalzeit", "WART": "Westargentinische Normalzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "GYT": "Guyana-Zeit", "CHADT": "Chatham-Sommerzeit", "HKT": "Hongkong-Normalzeit", "NZDT": "Neuseeland-Sommerzeit", "UYT": "Uruguyanische Normalzeit", "ADT": "Atlantik-Sommerzeit", "WIT": "Ostindonesische Zeit"}, + timezones: map[string]string{"AKDT": "Alaska-Sommerzeit", "BT": "Bhutan-Zeit", "OEZ": "Osteuropäische Normalzeit", "COT": "Kolumbianische Normalzeit", "HEPMX": "Mexiko Pazifikzone-Sommerzeit", "HADT": "Hawaii-Aleuten-Sommerzeit", "ACWST": "Zentral-/Westaustralische Normalzeit", "HAT": "Neufundland-Sommerzeit", "AEDT": "Ostaustralische Sommerzeit", "HEPM": "Saint-Pierre-und-Miquelon-Sommerzeit", "GMT": "Mittlere Greenwich-Zeit", "HNPMX": "Mexiko Pazifikzone-Normalzeit", "MEZ": "Mitteleuropäische Normalzeit", "HENOMX": "Mexiko Nordwestliche Zone-Sommerzeit", "HNT": "Neufundland-Normalzeit", "WITA": "Zentralindonesische Zeit", "LHDT": "Lord-Howe-Sommerzeit", "WAST": "Westafrikanische Sommerzeit", "OESZ": "Osteuropäische Sommerzeit", "NZST": "Neuseeland-Normalzeit", "CHAST": "Chatham-Normalzeit", "CLT": "Chilenische Normalzeit", "HEEG": "Ostgrönland-Sommerzeit", "COST": "Kolumbianische Sommerzeit", "ADT": "Atlantik-Sommerzeit", "UYT": "Uruguyanische Normalzeit", "HKT": "Hongkong-Normalzeit", "MESZ": "Mitteleuropäische Sommerzeit", "IST": "Indische Zeit", "HECU": "Kubanische Sommerzeit", "ARST": "Argentinische Sommerzeit", "HKST": "Hongkong-Sommerzeit", "WAT": "Westafrikanische Normalzeit", "UYST": "Uruguayanische Sommerzeit", "VET": "Venezuela-Zeit", "NZDT": "Neuseeland-Sommerzeit", "CLST": "Chilenische Sommerzeit", "ACST": "Zentralaustralische Normalzeit", "WIT": "Ostindonesische Zeit", "PDT": "Nordamerikanische Westküsten-Sommerzeit", "TMT": "Turkmenistan-Normalzeit", "ACDT": "Zentralaustralische Sommerzeit", "ART": "Argentinische Normalzeit", "WARST": "Westargentinische Sommerzeit", "HNNOMX": "Mexiko Nordwestliche Zone-Normalzeit", "AST": "Atlantik-Normalzeit", "GYT": "Guyana-Zeit", "AKST": "Alaska-Normalzeit", "HAST": "Hawaii-Aleuten-Normalzeit", "SRT": "Suriname-Zeit", "CAT": "Zentralafrikanische Zeit", "∅∅∅": "Azoren-Sommerzeit", "AWST": "Westaustralische Normalzeit", "AWDT": "Westaustralische Sommerzeit", "HNEG": "Ostgrönland-Normalzeit", "GFT": "Französisch-Guayana-Zeit", "WIB": "Westindonesische Zeit", "PST": "Nordamerikanische Westküsten-Normalzeit", "HNPM": "Saint-Pierre-und-Miquelon-Normalzeit", "CHADT": "Chatham-Sommerzeit", "SAST": "Südafrikanische Zeit", "JST": "Japanische Normalzeit", "TMST": "Turkmenistan-Sommerzeit", "SGT": "Singapur-Zeit", "MST": "Macau-Normalzeit", "MDT": "Macau-Sommerzeit", "BOT": "Bolivianische Zeit", "EDT": "Nordamerikanische Ostküsten-Sommerzeit", "CDT": "Nordamerikanische Inland-Sommerzeit", "WESZ": "Westeuropäische Sommerzeit", "AEST": "Ostaustralische Normalzeit", "ChST": "Chamorro-Zeit", "EAT": "Ostafrikanische Zeit", "HNCU": "Kubanische Normalzeit", "EST": "Nordamerikanische Ostküsten-Normalzeit", "MYT": "Malaysische Zeit", "HNOG": "Westgrönland-Normalzeit", "HEOG": "Westgrönland-Sommerzeit", "WART": "Westargentinische Normalzeit", "CST": "Nordamerikanische Inland-Normalzeit", "WEZ": "Westeuropäische Normalzeit", "ACWDT": "Zentral-/Westaustralische Sommerzeit", "LHST": "Lord-Howe-Normalzeit", "JDT": "Japanische Sommerzeit", "ECT": "Ecuadorianische Zeit"}, } } @@ -445,7 +445,12 @@ func (de *de_LU) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (de *de_LU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (de *de_LU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, de.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dje/dje.go b/dje/dje.go index fc81f91fe..a1d0b50b9 100644 --- a/dje/dje.go +++ b/dje/dje.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"AST": "AST", "WEZ": "WEZ", "HKST": "HKST", "SGT": "SGT", "EAT": "EAT", "WAT": "WAT", "WAST": "WAST", "WIT": "WIT", "WESZ": "WESZ", "SRT": "SRT", "WIB": "WIB", "ART": "ART", "MYT": "MYT", "NZST": "NZST", "∅∅∅": "∅∅∅", "ECT": "ECT", "BOT": "BOT", "CAT": "CAT", "LHDT": "LHDT", "VET": "VET", "IST": "IST", "AWST": "AWST", "COST": "COST", "COT": "COT", "ARST": "ARST", "ADT": "ADT", "CDT": "CDT", "OEZ": "OEZ", "HAST": "HAST", "MDT": "MDT", "OESZ": "OESZ", "SAST": "SAST", "CHAST": "CHAST", "WART": "WART", "EDT": "EDT", "CST": "CST", "JDT": "JDT", "ACST": "ACST", "AEDT": "AEDT", "WARST": "WARST", "BT": "BT", "HAT": "HAT", "LHST": "LHST", "UYST": "UYST", "PST": "PST", "PDT": "PDT", "WITA": "WITA", "AWDT": "AWDT", "UYT": "UYT", "CHADT": "CHADT", "MEZ": "MEZ", "ChST": "ChST", "JST": "JST", "TMST": "TMST", "AKDT": "AKDT", "GFT": "GFT", "ACDT": "ACDT", "MST": "MST", "NZDT": "NZDT", "HNT": "HNT", "CLT": "CLT", "HKT": "HKT", "HADT": "HADT", "ACWST": "ACWST", "TMT": "TMT", "GYT": "GYT", "CLST": "CLST", "GMT": "GMT", "ACWDT": "ACWDT", "AEST": "AEST", "AKST": "AKST", "EST": "EST", "MESZ": "MESZ"}, + timezones: map[string]string{"SAST": "SAST", "ChST": "ChST", "MST": "MST", "AEST": "AEST", "NZST": "NZST", "HNOG": "HNOG", "AWDT": "AWDT", "HKST": "HKST", "NZDT": "NZDT", "WARST": "WARST", "UYST": "UYST", "BT": "BT", "WEZ": "WEZ", "CHADT": "CHADT", "JDT": "JDT", "ACST": "ACST", "EAT": "EAT", "HENOMX": "HENOMX", "CHAST": "CHAST", "MESZ": "MESZ", "HNCU": "HNCU", "EST": "EST", "WIB": "WIB", "HNT": "HNT", "ACDT": "ACDT", "AKDT": "AKDT", "WITA": "WITA", "CLT": "CLT", "HECU": "HECU", "MDT": "MDT", "PDT": "PDT", "CAT": "CAT", "GMT": "GMT", "UYT": "UYT", "PST": "PST", "GFT": "GFT", "COT": "COT", "SGT": "SGT", "HNPMX": "HNPMX", "CDT": "CDT", "HAST": "HAST", "SRT": "SRT", "HAT": "HAT", "IST": "IST", "BOT": "BOT", "HEEG": "HEEG", "WART": "WART", "ART": "ART", "CLST": "CLST", "JST": "JST", "ECT": "ECT", "ADT": "ADT", "ACWST": "ACWST", "HEPM": "HEPM", "AEDT": "AEDT", "HNEG": "HNEG", "AKST": "AKST", "CST": "CST", "GYT": "GYT", "VET": "VET", "WESZ": "WESZ", "ARST": "ARST", "HEOG": "HEOG", "∅∅∅": "∅∅∅", "WAT": "WAT", "HEPMX": "HEPMX", "AST": "AST", "AWST": "AWST", "HKT": "HKT", "MEZ": "MEZ", "LHST": "LHST", "HADT": "HADT", "WAST": "WAST", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "EDT": "EDT", "MYT": "MYT", "WIT": "WIT", "TMT": "TMT", "TMST": "TMST", "OEZ": "OEZ", "COST": "COST", "ACWDT": "ACWDT", "HNPM": "HNPM", "LHDT": "LHDT"}, } } @@ -375,7 +375,12 @@ func (dje *dje) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (dje *dje) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (dje *dje) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (dje *dje) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dje_NE/dje_NE.go b/dje_NE/dje_NE.go index d21cc7a5c..a133bd54c 100644 --- a/dje_NE/dje_NE.go +++ b/dje_NE/dje_NE.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"SAST": "SAST", "IST": "IST", "AKST": "AKST", "AWST": "AWST", "CLST": "CLST", "JST": "JST", "VET": "VET", "ACWST": "ACWST", "EDT": "EDT", "CST": "CST", "AWDT": "AWDT", "WIT": "WIT", "OEZ": "OEZ", "HADT": "HADT", "CAT": "CAT", "HNT": "HNT", "CHADT": "CHADT", "WART": "WART", "WAT": "WAT", "LHST": "LHST", "OESZ": "OESZ", "CHAST": "CHAST", "ACDT": "ACDT", "ARST": "ARST", "ADT": "ADT", "TMT": "TMT", "TMST": "TMST", "WIB": "WIB", "EAT": "EAT", "NZDT": "NZDT", "BOT": "BOT", "SRT": "SRT", "PST": "PST", "PDT": "PDT", "AST": "AST", "COT": "COT", "HAST": "HAST", "GYT": "GYT", "HAT": "HAT", "UYT": "UYT", "WEZ": "WEZ", "HKST": "HKST", "MESZ": "MESZ", "ART": "ART", "WITA": "WITA", "∅∅∅": "∅∅∅", "JDT": "JDT", "COST": "COST", "WAST": "WAST", "CDT": "CDT", "GMT": "GMT", "LHDT": "LHDT", "UYST": "UYST", "MEZ": "MEZ", "SGT": "SGT", "AEDT": "AEDT", "WARST": "WARST", "NZST": "NZST", "BT": "BT", "EST": "EST", "MDT": "MDT", "WESZ": "WESZ", "ACST": "ACST", "MYT": "MYT", "GFT": "GFT", "ChST": "ChST", "HKT": "HKT", "ECT": "ECT", "AKDT": "AKDT", "MST": "MST", "CLT": "CLT", "ACWDT": "ACWDT", "AEST": "AEST"}, + timezones: map[string]string{"GYT": "GYT", "MEZ": "MEZ", "LHST": "LHST", "ChST": "ChST", "HNEG": "HNEG", "HNPMX": "HNPMX", "NZST": "NZST", "CHADT": "CHADT", "SAST": "SAST", "OEZ": "OEZ", "WART": "WART", "MESZ": "MESZ", "HKT": "HKT", "NZDT": "NZDT", "HEOG": "HEOG", "ACWST": "ACWST", "HNT": "HNT", "AEST": "AEST", "COT": "COT", "UYT": "UYT", "AEDT": "AEDT", "CHAST": "CHAST", "HNOG": "HNOG", "MST": "MST", "CDT": "CDT", "AWDT": "AWDT", "BOT": "BOT", "HEEG": "HEEG", "HENOMX": "HENOMX", "GMT": "GMT", "MYT": "MYT", "AKDT": "AKDT", "VET": "VET", "HNPM": "HNPM", "CAT": "CAT", "AST": "AST", "UYST": "UYST", "WIB": "WIB", "PST": "PST", "ACWDT": "ACWDT", "IST": "IST", "ACST": "ACST", "ACDT": "ACDT", "ADT": "ADT", "OESZ": "OESZ", "HAT": "HAT", "TMST": "TMST", "EAT": "EAT", "WAT": "WAT", "HNNOMX": "HNNOMX", "EST": "EST", "WIT": "WIT", "ART": "ART", "AWST": "AWST", "JST": "JST", "JDT": "JDT", "AKST": "AKST", "WEZ": "WEZ", "HKST": "HKST", "WITA": "WITA", "HEPM": "HEPM", "TMT": "TMT", "PDT": "PDT", "LHDT": "LHDT", "CLT": "CLT", "WARST": "WARST", "SGT": "SGT", "EDT": "EDT", "MDT": "MDT", "HAST": "HAST", "HADT": "HADT", "SRT": "SRT", "WESZ": "WESZ", "ECT": "ECT", "∅∅∅": "∅∅∅", "CST": "CST", "CLST": "CLST", "HNCU": "HNCU", "BT": "BT", "GFT": "GFT", "WAST": "WAST", "HECU": "HECU", "ARST": "ARST", "COST": "COST", "HEPMX": "HEPMX"}, } } @@ -375,7 +375,12 @@ func (dje *dje_NE) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (dje *dje_NE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (dje *dje_NE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (dje *dje_NE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dje.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dsb/dsb.go b/dsb/dsb.go index 64cd5bce0..27bfc1964 100644 --- a/dsb/dsb.go +++ b/dsb/dsb.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pś.Chr.n.", "pó Chr.n."}, erasNarrow: []string{"", ""}, erasWide: []string{"pśed Kristusowym naroźenim", "pó Kristusowem naroźenju"}, - timezones: map[string]string{"OEZ": "Pódzajtšnoeuropski standardny cas", "WIB": "Pódwjacornoindoneski cas", "WAST": "Pódwjacornoafriski lěśojski cas", "AKST": "Alaskojski standardny cas", "NZST": "Nowoseelandski standardny cas", "HAT": "Nowofundlandski lěśojski cas", "CLST": "Chilski lěśojski cas", "JST": "Japański standardny cas", "ACDT": "Srjejźoawstralski lěśojski cas", "ADT": "Atlantiski lěśojski cas", "SAST": "Pódpołdnjowoafriski cas", "AWST": "Pódwjacornoawstralski standardny cas", "CHAST": "Chathamski standardny cas", "MESZ": "Srjejźoeuropski lěśojski cas", "COT": "Kolumbiski standardny cas", "IST": "Indiski cas", "TMST": "Turkmeniski lěśojski cas", "ChST": "Chamorrski cas", "LHST": "Standardny cas kupy Lord-Howe", "EST": "Pódpołnocnoameriski pódzajtšny standardny cas", "CST": "Pódpołnocnoameriski centralny standardny cas", "BT": "Bhutański cas", "UYT": "Uruguayski standardny cas", "UYST": "Uruguayski lěśojski cas", "WESZ": "Pódwjacornoeuropski lěśojski cas", "GFT": "Francojskoguyański cas", "ACWDT": "Srjejźopódwjacorny awstralski lěśojski cas", "MST": "Pódpołnocnoameriski górski standardny cas", "BOT": "Boliwiski cas", "CLT": "Chilski standardny cas", "HKST": "Hongkongski lěśojski cas", "HAST": "Hawaiisko-aleutski standardny cas", "NZDT": "Nowoseelandski lěśojski cas", "VET": "Venezuelski cas", "AEDT": "Pódzajtšnoawstralski lěśojski cas", "ARST": "Argentinski lěśojski cas", "EAT": "Pódzajtšnoafriski cas", "AKDT": "Alaskojski lěśojski cas", "HKT": "Hongkongski standardny cas", "SGT": "Singapurski cas", "ECT": "Ekuadorski cas", "AEST": "Pódzajtšnoawstralski standardny cas", "WAT": "Pódwjacornoafriski standardny cas", "GYT": "Guyański cas", "ACST": "Srjejźoawstralski standardny cas", "ACWST": "Srjejźopódwjacorny awstralski standardny cas", "WART": "Pódwjacornoargentinski standardny cas", "∅∅∅": "∅∅∅", "OESZ": "Pódzajtšnoeuropski lěśojski cas", "CHADT": "Chathamski lěśojski cas", "HADT": "Hawaiisko-aleutski lěśojski cas", "PDT": "Pódpołnocnoameriski pacifiski lěśojski cas", "LHDT": "lěśojski cas kupy Lord-Howe", "EDT": "Pódpołnocnoameriski pódzajtšny lěśojski cas", "WIT": "Pódzajtšnoindoneski", "WARST": "Pódwjacornoargentinski lěśojski cas", "CDT": "Pódpołnocnoameriski centralny lěśojski cas", "MYT": "Malajziski cas", "AWDT": "Pódwjacornoawstralski lěśojski cas", "HNT": "Nowofundlandski standardny cas", "MDT": "Pódpołnocnoameriski górski lěśojski cas", "SRT": "Surinamski cas", "MEZ": "Srjejźoeuropski standardny cas", "COST": "Kolumbiski lěśojski cas", "AST": "Atlantiski standardny cas", "WITA": "Srjejźoindoneski cas", "CAT": "Srjejźoafriski cas", "WEZ": "Pódwjacornoeuropski standardny cas", "PST": "Pódpołnocnoameriski pacifiski standardny cas", "ART": "Argentinski standardny cas", "TMT": "Turkmeniski standardny cas", "GMT": "Greenwichski cas", "JDT": "Japański lěśojski cas"}, + timezones: map[string]string{"HKT": "Hongkongski standardny cas", "HENOMX": "Mexiski dłujkowjacorny lěśojski cas", "NZST": "Nowoseelandski standardny cas", "CHAST": "Chathamski standardny cas", "OEZ": "Pódzajtšnoeuropski standardny cas", "OESZ": "Pódzajtšnoeuropski lěśojski cas", "COST": "Kolumbiski lěśojski cas", "AKST": "Alaskojski standardny cas", "HADT": "Hawaiisko-aleutski lěśojski cas", "WITA": "Srjejźoindoneski cas", "AWDT": "Pódwjacornoawstralski lěśojski cas", "ACDT": "Srjejźoawstralski lěśojski cas", "EST": "Pódpołnocnoameriski pódzajtšny standardny cas", "HAST": "Hawaiisko-aleutski standardny cas", "AEST": "Pódzajtšnoawstralski standardny cas", "AEDT": "Pódzajtšnoawstralski lěśojski cas", "NZDT": "Nowoseelandski lěśojski cas", "CLT": "Chilski standardny cas", "GFT": "Francojskoguyański cas", "WAST": "Pódwjacornoafriski lěśojski cas", "HNNOMX": "Mexiski dłujkowjacorny standardny cas", "MDT": "MDT", "SRT": "Surinamski cas", "ACWDT": "Srjejźopódwjacorny awstralski lěśojski cas", "TMST": "Turkmeniski lěśojski cas", "CDT": "Pódpołnocnoameriski centralny lěśojski cas", "UYT": "Uruguayski standardny cas", "MESZ": "Srjejźoeuropski lěśojski cas", "HNOG": "Pódwjacornogrönlandski standardny cas", "CHADT": "Chathamski lěśojski cas", "CLST": "Chilski lěśojski cas", "TMT": "Turkmeniski standardny cas", "ChST": "Chamorrski cas", "GMT": "Greenwichski cas", "ADT": "Atlantiski lěśojski cas", "MYT": "Malajziski cas", "WAT": "Pódwjacornoafriski standardny cas", "ECT": "Ekuadorski cas", "WART": "Pódwjacornoargentinski standardny cas", "AWST": "Pódwjacornoawstralski standardny cas", "IST": "Indiski cas", "HNEG": "Pódzajtšnogrönlandski standardny cas", "HNCU": "Kubański standardny cas", "∅∅∅": "Acorski lěśojski cas", "GYT": "Guyański cas", "HECU": "Kubański lěśojski cas", "WIB": "Pódwjacornoindoneski cas", "JDT": "Japański lěśojski cas", "ART": "Argentinski standardny cas", "HEPM": "St.-Pierre-a-Miqueloński lěśojski cas", "LHST": "Standardny cas kupy Lord-Howe", "SAST": "Pódpołdnjowoafriski cas", "JST": "Japański standardny cas", "SGT": "Singapurski cas", "WIT": "Pódzajtšnoindoneski", "ACWST": "Srjejźopódwjacorny awstralski standardny cas", "LHDT": "lěśojski cas kupy Lord-Howe", "CAT": "Srjejźoafriski cas", "HEPMX": "Mexiski pacifiski lěśojski cas", "BT": "Bhutański cas", "PDT": "Pódpołnocnoameriski pacifiski lěśojski cas", "ARST": "Argentinski lěśojski cas", "WESZ": "Pódwjacornoeuropski lěśojski cas", "HNPM": "St.-Pierre-a-Miqueloński standardny cas", "PST": "Pódpołnocnoameriski pacifiski standardny cas", "ACST": "Srjejźoawstralski standardny cas", "HNPMX": "Mexiski pacifiski standardny cas", "AKDT": "Alaskojski lěśojski cas", "HAT": "Nowofundlandski lěśojski cas", "MEZ": "Srjejźoeuropski standardny cas", "AST": "Atlantiski standardny cas", "VET": "Venezuelski cas", "HEOG": "Pódwjacornogrönlandski lěśojski cas", "EAT": "Pódzajtšnoafriski cas", "CST": "Pódpołnocnoameriski centralny standardny cas", "UYST": "Uruguayski lěśojski cas", "WEZ": "Pódwjacornoeuropski standardny cas", "HKST": "Hongkongski lěśojski cas", "HEEG": "Pódzajtšnogrönlandski lěśojski cas", "BOT": "Boliwiski cas", "WARST": "Pódwjacornoargentinski lěśojski cas", "COT": "Kolumbiski standardny cas", "EDT": "Pódpołnocnoameriski pódzajtšny lěśojski cas", "MST": "MST", "HNT": "Nowofundlandski standardny cas"}, } } @@ -421,7 +421,12 @@ func (dsb *dsb) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (dsb *dsb) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, dsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +461,12 @@ func (dsb *dsb) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, dsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dsb_DE/dsb_DE.go b/dsb_DE/dsb_DE.go index 59b111f08..802e034eb 100644 --- a/dsb_DE/dsb_DE.go +++ b/dsb_DE/dsb_DE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pś.Chr.n.", "pó Chr.n."}, erasNarrow: []string{"", ""}, erasWide: []string{"pśed Kristusowym naroźenim", "pó Kristusowem naroźenju"}, - timezones: map[string]string{"MDT": "Pódpołnocnoameriski górski lěśojski cas", "MYT": "Malajziski cas", "WIT": "Pódzajtšnoindoneski", "HNT": "Nowofundlandski standardny cas", "COT": "Kolumbiski standardny cas", "WART": "Pódwjacornoargentinski standardny cas", "WITA": "Srjejźoindoneski cas", "TMST": "Turkmeniski lěśojski cas", "CST": "Pódpołnocnoameriski centralny standardny cas", "BOT": "Boliwiski cas", "CLT": "Chilski standardny cas", "CLST": "Chilski lěśojski cas", "MEZ": "Srjejźoeuropski standardny cas", "ARST": "Argentinski lěśojski cas", "AKST": "Alaskojski standardny cas", "IST": "Indiski cas", "AWST": "Pódwjacornoawstralski standardny cas", "AWDT": "Pódwjacornoawstralski lěśojski cas", "UYT": "Uruguayski standardny cas", "NZST": "Nowoseelandski standardny cas", "MESZ": "Srjejźoeuropski lěśojski cas", "ACWST": "Srjejźopódwjacorny awstralski standardny cas", "AKDT": "Alaskojski lěśojski cas", "EST": "Pódpołnocnoameriski pódzajtšny standardny cas", "BT": "Bhutański cas", "JDT": "Japański lěśojski cas", "ECT": "Ekuadorski cas", "WIB": "Pódwjacornoindoneski cas", "ACDT": "Srjejźoawstralski lěśojski cas", "EDT": "Pódpołnocnoameriski pódzajtšny lěśojski cas", "ACST": "Srjejźoawstralski standardny cas", "PST": "Pódpołnocnoameriski pacifiski standardny cas", "LHST": "Standardny cas kupy Lord-Howe", "ChST": "Chamorrski cas", "UYST": "Uruguayski lěśojski cas", "WESZ": "Pódwjacornoeuropski lěśojski cas", "COST": "Kolumbiski lěśojski cas", "ACWDT": "Srjejźopódwjacorny awstralski lěśojski cas", "AEST": "Pódzajtšnoawstralski standardny cas", "HKT": "Hongkongski standardny cas", "GFT": "Francojskoguyański cas", "AST": "Atlantiski standardny cas", "TMT": "Turkmeniski standardny cas", "JST": "Japański standardny cas", "OESZ": "Pódzajtšnoeuropski lěśojski cas", "WEZ": "Pódwjacornoeuropski standardny cas", "HADT": "Hawaiisko-aleutski lěśojski cas", "AEDT": "Pódzajtšnoawstralski lěśojski cas", "SGT": "Singapurski cas", "EAT": "Pódzajtšnoafriski cas", "MST": "Pódpołnocnoameriski górski standardny cas", "HAT": "Nowofundlandski lěśojski cas", "VET": "Venezuelski cas", "PDT": "Pódpołnocnoameriski pacifiski lěśojski cas", "GYT": "Guyański cas", "NZDT": "Nowoseelandski lěśojski cas", "LHDT": "lěśojski cas kupy Lord-Howe", "OEZ": "Pódzajtšnoeuropski standardny cas", "ART": "Argentinski standardny cas", "WAT": "Pódwjacornoafriski standardny cas", "WAST": "Pódwjacornoafriski lěśojski cas", "HKST": "Hongkongski lěśojski cas", "CDT": "Pódpołnocnoameriski centralny lěśojski cas", "CAT": "Srjejźoafriski cas", "GMT": "Greenwichski cas", "∅∅∅": "∅∅∅", "CHAST": "Chathamski standardny cas", "ADT": "Atlantiski lěśojski cas", "SAST": "Pódpołdnjowoafriski cas", "SRT": "Surinamski cas", "CHADT": "Chathamski lěśojski cas", "WARST": "Pódwjacornoargentinski lěśojski cas", "HAST": "Hawaiisko-aleutski standardny cas"}, + timezones: map[string]string{"BT": "Bhutański cas", "TMST": "Turkmeniski lěśojski cas", "AST": "Atlantiski standardny cas", "WIB": "Pódwjacornoindoneski cas", "HADT": "Hawaiisko-aleutski lěśojski cas", "HNNOMX": "Mexiski dłujkowjacorny standardny cas", "HNT": "Nowofundlandski standardny cas", "MST": "MST", "EST": "Pódpołnocnoameriski pódzajtšny standardny cas", "CST": "Pódpołnocnoameriski centralny standardny cas", "HAT": "Nowofundlandski lěśojski cas", "MEZ": "Srjejźoeuropski standardny cas", "WAT": "Pódwjacornoafriski standardny cas", "HNCU": "Kubański standardny cas", "GMT": "Greenwichski cas", "JDT": "Japański lěśojski cas", "ACST": "Srjejźoawstralski standardny cas", "CHADT": "Chathamski lěśojski cas", "HEEG": "Pódzajtšnogrönlandski lěśojski cas", "ChST": "Chamorrski cas", "EDT": "Pódpołnocnoameriski pódzajtšny lěśojski cas", "AKST": "Alaskojski standardny cas", "WITA": "Srjejźoindoneski cas", "LHST": "Standardny cas kupy Lord-Howe", "HECU": "Kubański lěśojski cas", "HNOG": "Pódwjacornogrönlandski standardny cas", "AWDT": "Pódwjacornoawstralski lěśojski cas", "SGT": "Singapurski cas", "SRT": "Surinamski cas", "HNEG": "Pódzajtšnogrönlandski standardny cas", "WAST": "Pódwjacornoafriski lěśojski cas", "CAT": "Srjejźoafriski cas", "COST": "Kolumbiski lěśojski cas", "ACWDT": "Srjejźopódwjacorny awstralski lěśojski cas", "∅∅∅": "Peruski lěśojski cas", "CDT": "Pódpołnocnoameriski centralny lěśojski cas", "WIT": "Pódzajtšnoindoneski", "SAST": "Pódpołdnjowoafriski cas", "WEZ": "Pódwjacornoeuropski standardny cas", "ARST": "Argentinski lěśojski cas", "PST": "Pódpołnocnoameriski pacifiski standardny cas", "CHAST": "Chathamski standardny cas", "CLT": "Chilski standardny cas", "TMT": "Turkmeniski standardny cas", "HEPMX": "Mexiski pacifiski lěśojski cas", "GYT": "Guyański cas", "ART": "Argentinski standardny cas", "VET": "Venezuelski cas", "NZDT": "Nowoseelandski lěśojski cas", "GFT": "Francojskoguyański cas", "COT": "Kolumbiski standardny cas", "HENOMX": "Mexiski dłujkowjacorny lěśojski cas", "ADT": "Atlantiski lěśojski cas", "HEOG": "Pódwjacornogrönlandski lěśojski cas", "PDT": "Pódpołnocnoameriski pacifiski lěśojski cas", "BOT": "Boliwiski cas", "ACDT": "Srjejźoawstralski lěśojski cas", "EAT": "Pódzajtšnoafriski cas", "UYST": "Uruguayski lěśojski cas", "HAST": "Hawaiisko-aleutski standardny cas", "AWST": "Pódwjacornoawstralski standardny cas", "HKT": "Hongkongski standardny cas", "HEPM": "St.-Pierre-a-Miqueloński lěśojski cas", "OESZ": "Pódzajtšnoeuropski lěśojski cas", "WART": "Pódwjacornoargentinski standardny cas", "WESZ": "Pódwjacornoeuropski lěśojski cas", "MYT": "Malajziski cas", "UYT": "Uruguayski standardny cas", "MESZ": "Srjejźoeuropski lěśojski cas", "HNPM": "St.-Pierre-a-Miqueloński standardny cas", "CLST": "Chilski lěśojski cas", "OEZ": "Pódzajtšnoeuropski standardny cas", "ACWST": "Srjejźopódwjacorny awstralski standardny cas", "AEST": "Pódzajtšnoawstralski standardny cas", "LHDT": "lěśojski cas kupy Lord-Howe", "NZST": "Nowoseelandski standardny cas", "WARST": "Pódwjacornoargentinski lěśojski cas", "AKDT": "Alaskojski lěśojski cas", "AEDT": "Pódzajtšnoawstralski lěśojski cas", "HKST": "Hongkongski lěśojski cas", "IST": "Indiski cas", "JST": "Japański standardny cas", "ECT": "Ekuadorski cas", "MDT": "MDT", "HNPMX": "Mexiski pacifiski standardny cas"}, } } @@ -421,7 +421,12 @@ func (dsb *dsb_DE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (dsb *dsb_DE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, dsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +461,12 @@ func (dsb *dsb_DE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, dsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dua/dua.go b/dua/dua.go index 5360acf89..3805d8ec9 100644 --- a/dua/dua.go +++ b/dua/dua.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ɓ.Ys", "mb.Ys"}, erasNarrow: []string{"", ""}, erasWide: []string{"ɓoso ɓwá yáɓe lá", "mbúsa kwédi a Yés"}, - timezones: map[string]string{"ACST": "ACST", "HAST": "HAST", "SAST": "SAST", "TMT": "TMT", "MST": "MST", "AWDT": "AWDT", "LHST": "LHST", "MESZ": "MESZ", "ACWST": "ACWST", "ACWDT": "ACWDT", "AEDT": "AEDT", "WITA": "WITA", "ChST": "ChST", "ACDT": "ACDT", "HADT": "HADT", "EST": "EST", "GFT": "GFT", "UYT": "UYT", "WEZ": "WEZ", "AKST": "AKST", "AWST": "AWST", "ECT": "ECT", "VET": "VET", "AST": "AST", "GYT": "GYT", "BT": "BT", "WIB": "WIB", "CHAST": "CHAST", "CLT": "CLT", "CLST": "CLST", "OESZ": "OESZ", "CHADT": "CHADT", "SGT": "SGT", "AEST": "AEST", "HAT": "HAT", "WART": "WART", "HKST": "HKST", "SRT": "SRT", "TMST": "TMST", "∅∅∅": "∅∅∅", "HNT": "HNT", "GMT": "GMT", "EAT": "EAT", "IST": "IST", "PST": "PST", "NZST": "NZST", "COST": "COST", "WAT": "WAT", "MDT": "MDT", "WARST": "WARST", "LHDT": "LHDT", "JST": "JST", "OEZ": "OEZ", "ART": "ART", "ARST": "ARST", "ADT": "ADT", "BOT": "BOT", "UYST": "UYST", "JDT": "JDT", "WAST": "WAST", "CST": "CST", "NZDT": "NZDT", "COT": "COT", "AKDT": "AKDT", "EDT": "EDT", "WESZ": "WESZ", "WIT": "WIT", "HKT": "HKT", "MEZ": "MEZ", "PDT": "PDT", "CDT": "CDT", "MYT": "MYT", "CAT": "CAT"}, + timezones: map[string]string{"GMT": "GMT", "AKDT": "AKDT", "CAT": "CAT", "JDT": "JDT", "ACDT": "ACDT", "WAT": "WAT", "HNNOMX": "HNNOMX", "AKST": "AKST", "AST": "AST", "WEZ": "WEZ", "CHAST": "CHAST", "ECT": "ECT", "COT": "COT", "HEPM": "HEPM", "ChST": "ChST", "EAT": "EAT", "MDT": "MDT", "HNEG": "HNEG", "∅∅∅": "∅∅∅", "SGT": "SGT", "HNPMX": "HNPMX", "HAT": "HAT", "CLST": "CLST", "MYT": "MYT", "HKST": "HKST", "MEZ": "MEZ", "LHDT": "LHDT", "GFT": "GFT", "MESZ": "MESZ", "EST": "EST", "WIB": "WIB", "PDT": "PDT", "AWST": "AWST", "NZDT": "NZDT", "TMST": "TMST", "HNOG": "HNOG", "WITA": "WITA", "NZST": "NZST", "LHST": "LHST", "SAST": "SAST", "UYST": "UYST", "HEEG": "HEEG", "OESZ": "OESZ", "HEPMX": "HEPMX", "SRT": "SRT", "PST": "PST", "AEDT": "AEDT", "TMT": "TMT", "HADT": "HADT", "ACWST": "ACWST", "ACWDT": "ACWDT", "HENOMX": "HENOMX", "COST": "COST", "GYT": "GYT", "UYT": "UYT", "WIT": "WIT", "HNT": "HNT", "ARST": "ARST", "BOT": "BOT", "HNCU": "HNCU", "ART": "ART", "AWDT": "AWDT", "JST": "JST", "CLT": "CLT", "MST": "MST", "BT": "BT", "HKT": "HKT", "OEZ": "OEZ", "HAST": "HAST", "HEOG": "HEOG", "HNPM": "HNPM", "ACST": "ACST", "WAST": "WAST", "WARST": "WARST", "EDT": "EDT", "CDT": "CDT", "VET": "VET", "WESZ": "WESZ", "CHADT": "CHADT", "IST": "IST", "WART": "WART", "HECU": "HECU", "CST": "CST", "ADT": "ADT", "AEST": "AEST"}, } } @@ -387,7 +387,12 @@ func (dua *dua) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +406,12 @@ func (dua *dua) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +425,12 @@ func (dua *dua) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +446,12 @@ func (dua *dua) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dua_CM/dua_CM.go b/dua_CM/dua_CM.go index 7b15ae6e9..128a4a784 100644 --- a/dua_CM/dua_CM.go +++ b/dua_CM/dua_CM.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ɓ.Ys", "mb.Ys"}, erasNarrow: []string{"", ""}, erasWide: []string{"ɓoso ɓwá yáɓe lá", "mbúsa kwédi a Yés"}, - timezones: map[string]string{"EDT": "EDT", "BOT": "BOT", "NZST": "NZST", "CHAST": "CHAST", "AEST": "AEST", "HADT": "HADT", "IST": "IST", "MDT": "MDT", "MYT": "MYT", "AWDT": "AWDT", "CHADT": "CHADT", "VET": "VET", "AEDT": "AEDT", "WAST": "WAST", "EST": "EST", "CAT": "CAT", "SRT": "SRT", "EAT": "EAT", "CDT": "CDT", "HAT": "HAT", "PDT": "PDT", "WITA": "WITA", "WIT": "WIT", "JST": "JST", "COT": "COT", "ACDT": "ACDT", "HAST": "HAST", "PST": "PST", "GMT": "GMT", "WIB": "WIB", "ADT": "ADT", "CLST": "CLST", "LHDT": "LHDT", "SGT": "SGT", "ECT": "ECT", "ART": "ART", "AST": "AST", "BT": "BT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "AKDT": "AKDT", "ChST": "ChST", "OEZ": "OEZ", "WESZ": "WESZ", "HNT": "HNT", "COST": "COST", "MEZ": "MEZ", "WAT": "WAT", "AWST": "AWST", "CLT": "CLT", "UYT": "UYT", "SAST": "SAST", "MST": "MST", "MESZ": "MESZ", "ACST": "ACST", "ACWST": "ACWST", "ACWDT": "ACWDT", "HKT": "HKT", "HKST": "HKST", "OESZ": "OESZ", "TMT": "TMT", "GFT": "GFT", "WARST": "WARST", "TMST": "TMST", "NZDT": "NZDT", "LHST": "LHST", "WART": "WART", "CST": "CST", "GYT": "GYT", "JDT": "JDT", "ARST": "ARST", "AKST": "AKST", "UYST": "UYST"}, + timezones: map[string]string{"VET": "VET", "HAT": "HAT", "EAT": "EAT", "COT": "COT", "ARST": "ARST", "HKST": "HKST", "EST": "EST", "AEST": "AEST", "HEPM": "HEPM", "GFT": "GFT", "TMST": "TMST", "ECT": "ECT", "WART": "WART", "ACWDT": "ACWDT", "AEDT": "AEDT", "HNPM": "HNPM", "CHADT": "CHADT", "ChST": "ChST", "∅∅∅": "∅∅∅", "HNPMX": "HNPMX", "UYT": "UYT", "IST": "IST", "SAST": "SAST", "JST": "JST", "AST": "AST", "SRT": "SRT", "NZDT": "NZDT", "CHAST": "CHAST", "HEEG": "HEEG", "OEZ": "OEZ", "HENOMX": "HENOMX", "AKST": "AKST", "MEZ": "MEZ", "AKDT": "AKDT", "HEOG": "HEOG", "PDT": "PDT", "JDT": "JDT", "ACST": "ACST", "ACDT": "ACDT", "CAT": "CAT", "COST": "COST", "BOT": "BOT", "GYT": "GYT", "AWDT": "AWDT", "WEZ": "WEZ", "PST": "PST", "LHST": "LHST", "CLT": "CLT", "EDT": "EDT", "WESZ": "WESZ", "ACWST": "ACWST", "HKT": "HKT", "HNOG": "HNOG", "OESZ": "OESZ", "HNCU": "HNCU", "HECU": "HECU", "HNT": "HNT", "ART": "ART", "AWST": "AWST", "TMT": "TMT", "HEPMX": "HEPMX", "WIT": "WIT", "HAST": "HAST", "WAT": "WAT", "MST": "MST", "MDT": "MDT", "BT": "BT", "MESZ": "MESZ", "WAST": "WAST", "SGT": "SGT", "HADT": "HADT", "WITA": "WITA", "CLST": "CLST", "HNNOMX": "HNNOMX", "ADT": "ADT", "MYT": "MYT", "UYST": "UYST", "HNEG": "HNEG", "GMT": "GMT", "CDT": "CDT", "WIB": "WIB", "WARST": "WARST", "CST": "CST", "LHDT": "LHDT", "NZST": "NZST"}, } } @@ -387,7 +387,12 @@ func (dua *dua_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +406,12 @@ func (dua *dua_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +425,12 @@ func (dua *dua_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +446,12 @@ func (dua *dua_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dyo/dyo.go b/dyo/dyo.go index 3b1fca90c..a9a86aec1 100644 --- a/dyo/dyo.go +++ b/dyo/dyo.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Sa", "Fe", "Ma", "Ab", "Me", "Su", "Sú", "Ut", "Se", "Ok", "No", "De"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ArY", "AtY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ariŋuu Yeesu", "Atooŋe Yeesu"}, - timezones: map[string]string{"WART": "WART", "BOT": "BOT", "CLT": "CLT", "COT": "COT", "ACWDT": "ACWDT", "ART": "ART", "AST": "AST", "MST": "MST", "HAT": "HAT", "GFT": "GFT", "LHDT": "LHDT", "HAST": "HAST", "COST": "COST", "EDT": "EDT", "EAT": "EAT", "WAT": "WAT", "WIT": "WIT", "SGT": "SGT", "BT": "BT", "AWDT": "AWDT", "SRT": "SRT", "WESZ": "WESZ", "CHAST": "CHAST", "WAST": "WAST", "ChST": "ChST", "ACWST": "ACWST", "PDT": "PDT", "WITA": "WITA", "VET": "VET", "WIB": "WIB", "ACST": "ACST", "CST": "CST", "CDT": "CDT", "MEZ": "MEZ", "GMT": "GMT", "LHST": "LHST", "UYST": "UYST", "PST": "PST", "ADT": "ADT", "∅∅∅": "∅∅∅", "NZDT": "NZDT", "HNT": "HNT", "WEZ": "WEZ", "ECT": "ECT", "AEDT": "AEDT", "WARST": "WARST", "OEZ": "OEZ", "HADT": "HADT", "AKDT": "AKDT", "CLST": "CLST", "HKT": "HKT", "EST": "EST", "CAT": "CAT", "JDT": "JDT", "ARST": "ARST", "OESZ": "OESZ", "ACDT": "ACDT", "AKST": "AKST", "TMST": "TMST", "MDT": "MDT", "AWST": "AWST", "UYT": "UYT", "SAST": "SAST", "TMT": "TMT", "NZST": "NZST", "CHADT": "CHADT", "MESZ": "MESZ", "JST": "JST", "IST": "IST", "GYT": "GYT", "MYT": "MYT", "HKST": "HKST", "AEST": "AEST"}, + timezones: map[string]string{"HKT": "HKT", "HEPMX": "HEPMX", "CDT": "CDT", "HNOG": "HNOG", "TMT": "TMT", "MDT": "MDT", "HNPMX": "HNPMX", "ADT": "ADT", "JDT": "JDT", "EST": "EST", "MESZ": "MESZ", "SAST": "SAST", "HNEG": "HNEG", "ACDT": "ACDT", "MST": "MST", "AKST": "AKST", "AEDT": "AEDT", "HEPM": "HEPM", "PST": "PST", "WESZ": "WESZ", "EAT": "EAT", "UYST": "UYST", "HAST": "HAST", "WIT": "WIT", "BT": "BT", "LHDT": "LHDT", "CHADT": "CHADT", "CLT": "CLT", "ChST": "ChST", "COST": "COST", "HNNOMX": "HNNOMX", "SRT": "SRT", "HKST": "HKST", "WITA": "WITA", "WART": "WART", "WARST": "WARST", "GMT": "GMT", "SGT": "SGT", "GYT": "GYT", "WAST": "WAST", "OEZ": "OEZ", "UYT": "UYT", "CST": "CST", "HEOG": "HEOG", "ART": "ART", "IST": "IST", "HECU": "HECU", "CAT": "CAT", "WAT": "WAT", "ECT": "ECT", "MYT": "MYT", "WEZ": "WEZ", "ARST": "ARST", "CHAST": "CHAST", "TMST": "TMST", "HNCU": "HNCU", "HADT": "HADT", "AWDT": "AWDT", "LHST": "LHST", "MEZ": "MEZ", "OESZ": "OESZ", "AST": "AST", "AEST": "AEST", "AWST": "AWST", "GFT": "GFT", "HNT": "HNT", "ACWDT": "ACWDT", "HAT": "HAT", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "WIB": "WIB", "VET": "VET", "CLST": "CLST", "COT": "COT", "BOT": "BOT", "HEEG": "HEEG", "ACST": "ACST", "EDT": "EDT", "PDT": "PDT", "ACWST": "ACWST", "HNPM": "HNPM", "JST": "JST", "AKDT": "AKDT", "NZST": "NZST", "HENOMX": "HENOMX"}, } } @@ -381,7 +381,12 @@ func (dyo *dyo) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -395,7 +400,12 @@ func (dyo *dyo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -409,7 +419,12 @@ func (dyo *dyo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -425,7 +440,12 @@ func (dyo *dyo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dyo_SN/dyo_SN.go b/dyo_SN/dyo_SN.go index 6d8c41da7..5e2b0bdaa 100644 --- a/dyo_SN/dyo_SN.go +++ b/dyo_SN/dyo_SN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Sa", "Fe", "Ma", "Ab", "Me", "Su", "Sú", "Ut", "Se", "Ok", "No", "De"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ArY", "AtY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ariŋuu Yeesu", "Atooŋe Yeesu"}, - timezones: map[string]string{"PDT": "PDT", "WEZ": "WEZ", "ART": "ART", "HADT": "HADT", "WAT": "WAT", "PST": "PST", "MDT": "MDT", "BT": "BT", "JST": "JST", "SGT": "SGT", "WIB": "WIB", "ACWST": "ACWST", "GMT": "GMT", "GFT": "GFT", "COT": "COT", "ACWDT": "ACWDT", "AKST": "AKST", "CDT": "CDT", "OESZ": "OESZ", "SAST": "SAST", "TMT": "TMT", "NZDT": "NZDT", "CLST": "CLST", "UYT": "UYT", "AEDT": "AEDT", "HAST": "HAST", "ADT": "ADT", "MST": "MST", "LHDT": "LHDT", "CHAST": "CHAST", "COST": "COST", "CST": "CST", "HNT": "HNT", "ChST": "ChST", "ARST": "ARST", "CLT": "CLT", "WESZ": "WESZ", "SRT": "SRT", "OEZ": "OEZ", "ECT": "ECT", "IST": "IST", "LHST": "LHST", "HKST": "HKST", "WARST": "WARST", "AST": "AST", "EAT": "EAT", "MYT": "MYT", "BOT": "BOT", "UYST": "UYST", "JDT": "JDT", "ACDT": "ACDT", "AWDT": "AWDT", "CAT": "CAT", "HKT": "HKT", "MESZ": "MESZ", "WART": "WART", "∅∅∅": "∅∅∅", "AWST": "AWST", "WAST": "WAST", "TMST": "TMST", "GYT": "GYT", "NZST": "NZST", "HAT": "HAT", "WIT": "WIT", "VET": "VET", "MEZ": "MEZ", "AEST": "AEST", "EST": "EST", "ACST": "ACST", "AKDT": "AKDT", "EDT": "EDT", "WITA": "WITA", "CHADT": "CHADT"}, + timezones: map[string]string{"MEZ": "MEZ", "SAST": "SAST", "JST": "JST", "GFT": "GFT", "WAST": "WAST", "HECU": "HECU", "HEPMX": "HEPMX", "AEST": "AEST", "OEZ": "OEZ", "AWDT": "AWDT", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HNPMX": "HNPMX", "HAST": "HAST", "WAT": "WAT", "ECT": "ECT", "WESZ": "WESZ", "HNT": "HNT", "CLT": "CLT", "CST": "CST", "HNPM": "HNPM", "NZST": "NZST", "ACWDT": "ACWDT", "LHST": "LHST", "TMT": "TMT", "OESZ": "OESZ", "ADT": "ADT", "UYST": "UYST", "HADT": "HADT", "HEPM": "HEPM", "EAT": "EAT", "COT": "COT", "WARST": "WARST", "VET": "VET", "BT": "BT", "HEOG": "HEOG", "ART": "ART", "AEDT": "AEDT", "ChST": "ChST", "EDT": "EDT", "GYT": "GYT", "UYT": "UYT", "BOT": "BOT", "NZDT": "NZDT", "MESZ": "MESZ", "JDT": "JDT", "HKST": "HKST", "ACST": "ACST", "AWST": "AWST", "CHAST": "CHAST", "COST": "COST", "SGT": "SGT", "AKDT": "AKDT", "WIB": "WIB", "CLST": "CLST", "MST": "MST", "ACWST": "ACWST", "PST": "PST", "ACDT": "ACDT", "CAT": "CAT", "MYT": "MYT", "HAT": "HAT", "WITA": "WITA", "AKST": "AKST", "HENOMX": "HENOMX", "WART": "WART", "WEZ": "WEZ", "HKT": "HKT", "LHDT": "LHDT", "AST": "AST", "WIT": "WIT", "SRT": "SRT", "PDT": "PDT", "HEEG": "HEEG", "∅∅∅": "∅∅∅", "GMT": "GMT", "MDT": "MDT", "HNOG": "HNOG", "CHADT": "CHADT", "IST": "IST", "TMST": "TMST", "EST": "EST", "CDT": "CDT", "ARST": "ARST"}, } } @@ -381,7 +381,12 @@ func (dyo *dyo_SN) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -395,7 +400,12 @@ func (dyo *dyo_SN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -409,7 +419,12 @@ func (dyo *dyo_SN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -425,7 +440,12 @@ func (dyo *dyo_SN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, dyo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/dz/dz.go b/dz/dz.go index f4fb0834b..821e32c5c 100644 --- a/dz/dz.go +++ b/dz/dz.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "གྲངས་མེད", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "Nu.", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KR₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "TH฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "Nu.", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KR₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "TH฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩", "༡༠", "༡༡", "12"}, monthsNarrow: []string{"", "༡", "༢", "༣", "4", "༥", "༦", "༧", "༨", "9", "༡༠", "༡༡", "༡༢"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"MST": "བྱང་ཨ་མི་རི་ཀ་མའུ་ཊེན་ཚད་ལྡན་ཆུ་ཚོད", "NZST": "ནིའུ་ཛི་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "GMT": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད", "ECT": "ཨེ་ཀུ་ཌཽ་ཆུ་ཚོད", "IST": "རྒྱ་གར་ཆུ་ཚོད", "MESZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "SGT": "SGT", "EST": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "AST": "ཨེཊ་ལེན་ཊིཀ་ཚད་ལྡན་ཆུ་ཚོད", "CDT": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "CHAST": "CHAST", "VET": "བེ་ནི་ཛུ་ཝེ་ལ་ཆུ་ཚོད", "MEZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "WART": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "AKST": "ཨ་ལསི་ཀ་ཚད་ལྡན་ཆུ་ཚོད", "ARST": "ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "AKDT": "ཨ་ལསི་ཀ་ཉིན་སྲུང་ཆུ་ཚོད", "UYST": "ཡུ་རུ་གུ་ཝཱའི་བྱཱར་དུས་ཆུ་ཚོད", "ACST": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "AEST": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "BOT": "བྷོ་ལི་བི་ཡ་ཆུ་ཚོད", "CLT": "ཅི་ལི་ཚད་ལྡན་ཆུ་ཚོད", "WEZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "ACDT": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "ART": "ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "PDT": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཉིན་སྲུང་ཆུ་ཚོད", "WAST": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་བྱཱར་དུས་ཆུ་ཚོད", "TMT": "TMT", "TMST": "TMST", "HKST": "HKST", "ACWST": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "ACWDT": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "WARST": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "∅∅∅": "ཨེ་ཛོརས་བྱཱར་དུས་ཆུ་ཚོད", "COT": "ཀོ་ལོམ་བྷི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "COST": "ཀོ་ལོམ་བྷི་ཡ་བྱཱར་དུས་ཆུ་ཚོད", "HAST": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཚད་ལྡན་ཆུ་ཚོད", "BT": "འབྲུག་ཡུལ་ཆུ་ཚོད", "OEZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "OESZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "WIT": "ཤར་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "JDT": "ཇ་པཱན་ཉིན་སྲུང་ཆུ་ཚོད", "MDT": "བྱང་ཨ་མི་རི་ཀ་མའུ་ཊེན་ཉིན་སྲུང་ཆུ་ཚོད", "CLST": "ཅི་ལི་བྱཱར་དུས་ཆུ་ཚོད", "HNT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "LHST": "LHST", "UYT": "ཡུ་རུ་གུ་ཝཱའི་ཚད་ལྡན་ཆུ་ཚོད", "JST": "ཇ་པཱན་ཚད་ལྡན་ཆུ་ཚོད", "EAT": "ཤར་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "WAT": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཚད་ལྡན་ཆུ་ཚོད", "SRT": "སུ་རི་ནཱམ་ཆུ་ཚོད", "MYT": "MYT", "AWDT": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "HADT": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཉིན་སྲུང་ཆུ་ཚོད", "SAST": "ལྷོ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "WITA": "དབུས་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "ChST": "ChST", "GYT": "གུ་ཡ་ན་ཆུ་ཚོད", "WESZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "HKT": "HKT", "CHADT": "CHADT", "AEDT": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "ADT": "ཨེཊ་ལེན་ཊིཀ་ཉིན་སྲུང་ཆུ་ཚོད", "NZDT": "ནིའུ་ཛི་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "CAT": "དབུས་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "LHDT": "LHDT", "EDT": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "PST": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཚད་ལྡན་ཆུ་ཚོད", "AWST": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "HAT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "GFT": "ཕིརེནཅ་གི་ཡ་ན་ཆུ་ཚོད", "WIB": "ནུབ་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "CST": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད"}, + timezones: map[string]string{"WESZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "HEPM": "པའི་རི་དང་མི་ཀི་ལཱོན་ཉིན་སྲུང་ཆུ་ཚོད", "AST": "ཨེཊ་ལེན་ཊིཀ་ཚད་ལྡན་ཆུ་ཚོད", "WARST": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "UYST": "ཡུ་རུ་གུ་ཝཱའི་བྱཱར་དུས་ཆུ་ཚོད", "CDT": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "HAST": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཚད་ལྡན་ཆུ་ཚོད", "TMT": "TMT", "ACDT": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "ECT": "ཨེ་ཀུ་ཌཽ་ཆུ་ཚོད", "EAT": "ཤར་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "HNNOMX": "HNNOMX", "SRT": "སུ་རི་ནཱམ་ཆུ་ཚོད", "∅∅∅": "པ་རུ་བྱཱར་དུས་ཆུ་ཚོད", "MST": "MST", "ADT": "ཨེཊ་ལེན་ཊིཀ་ཉིན་སྲུང་ཆུ་ཚོད", "AEDT": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "CHAST": "CHAST", "OEZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "PST": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཚད་ལྡན་ཆུ་ཚོད", "HNT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "TMST": "TMST", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "GYT": "གུ་ཡ་ན་ཆུ་ཚོད", "MYT": "MYT", "VET": "བེ་ནི་ཛུ་ཝེ་ལ་ཆུ་ཚོད", "ACWDT": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "OESZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "COT": "ཀོ་ལོམ་བྷི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "SGT": "SGT", "HNCU": "ཀིའུ་བྷ་ཚད་ལྡན་ཆུ་ཚོད", "EST": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "PDT": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཉིན་སྲུང་ཆུ་ཚོད", "MESZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "NZST": "ནིའུ་ཛི་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "WAT": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཚད་ལྡན་ཆུ་ཚོད", "BOT": "བྷོ་ལི་བི་ཡ་ཆུ་ཚོད", "AKST": "ཨ་ལསི་ཀ་ཚད་ལྡན་ཆུ་ཚོད", "HADT": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཉིན་སྲུང་ཆུ་ཚོད", "WIT": "ཤར་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "ACWST": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "HKT": "HKT", "CLST": "ཅི་ལི་བྱཱར་དུས་ཆུ་ཚོད", "GMT": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད", "WITA": "དབུས་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "NZDT": "ནིའུ་ཛི་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "HEEG": "ཤར་ཕྱོགས་གིརིན་ལེནཌ་བྱཱར་དུས་ཆུ་ཚོད", "WAST": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་བྱཱར་དུས་ཆུ་ཚོད", "ARST": "ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "HEOG": "ནུབ་ཕྱོགས་གིརིན་ལེནཌ་བྱཱར་དུས་ཆུ་ཚོད", "AWST": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "SAST": "ལྷོ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "JDT": "ཇ་པཱན་ཉིན་སྲུང་ཆུ་ཚོད", "GFT": "ཕིརེནཅ་གི་ཡ་ན་ཆུ་ཚོད", "WART": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "HNPMX": "HNPMX", "CST": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "CLT": "ཅི་ལི་ཚད་ལྡན་ཆུ་ཚོད", "HNEG": "ཤར་ཕྱོགས་གིརིན་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "MDT": "MDT", "COST": "ཀོ་ལོམ་བྷི་ཡ་བྱཱར་དུས་ཆུ་ཚོད", "AKDT": "ཨ་ལསི་ཀ་ཉིན་སྲུང་ཆུ་ཚོད", "AEST": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "AWDT": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "HNPM": "པའི་རི་དང་མི་ཀི་ལཱོན་ཚད་ལྡན་ཆུ་ཚོད", "MEZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "CAT": "དབུས་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "LHST": "LHST", "JST": "ཇ་པཱན་ཚད་ལྡན་ཆུ་ཚོད", "HAT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "BT": "འབྲུག་ཡུལ་ཆུ་ཚོད", "WEZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "HKST": "HKST", "CHADT": "CHADT", "IST": "རྒྱ་གར་ཆུ་ཚོད", "ACST": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "UYT": "ཡུ་རུ་གུ་ཝཱའི་ཚད་ལྡན་ཆུ་ཚོད", "LHDT": "LHDT", "HNOG": "ནུབ་ཕྱོགས་གིརིན་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "EDT": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "WIB": "ནུབ་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "ART": "ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "ChST": "ChST", "HECU": "ཀིའུ་བྷ་ཉིན་སྲུང་ཆུ་ཚོད"}, } } @@ -407,7 +407,12 @@ func (dz *dz) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -433,7 +438,13 @@ func (dz *dz) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9f, 0xe0, 0xbe, 0xb3, 0xe0, 0xbc, 0x8b}...) b = append(b, dz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -453,7 +464,13 @@ func (dz *dz) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, dz.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b, 0x20}...) @@ -474,7 +491,13 @@ func (dz *dz) FmtDateFull(t time.Time) string { b = append(b, dz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20, 0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, dz.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) diff --git a/dz_BT/dz_BT.go b/dz_BT/dz_BT.go index cdba51dbf..7f34c5590 100644 --- a/dz_BT/dz_BT.go +++ b/dz_BT/dz_BT.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "གྲངས་མེད", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩", "༡༠", "༡༡", "12"}, monthsNarrow: []string{"", "༡", "༢", "༣", "4", "༥", "༦", "༧", "༨", "9", "༡༠", "༡༡", "༡༢"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WAST": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་བྱཱར་དུས་ཆུ་ཚོད", "MYT": "MYT", "GMT": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད", "CHADT": "CHADT", "ACST": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "AKST": "ཨ་ལསི་ཀ་ཚད་ལྡན་ཆུ་ཚོད", "HAST": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཚད་ལྡན་ཆུ་ཚོད", "EST": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "SAST": "ལྷོ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "BOT": "བྷོ་ལི་བི་ཡ་ཆུ་ཚོད", "HKT": "HKT", "VET": "བེ་ནི་ཛུ་ཝེ་ལ་ཆུ་ཚོད", "MEZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "ACDT": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "JDT": "ཇ་པཱན་ཉིན་སྲུང་ཆུ་ཚོད", "GYT": "གུ་ཡ་ན་ཆུ་ཚོད", "WIT": "ཤར་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "WART": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "AKDT": "ཨ་ལསི་ཀ་ཉིན་སྲུང་ཆུ་ཚོད", "TMST": "TMST", "CLST": "ཅི་ལི་བྱཱར་དུས་ཆུ་ཚོད", "AWST": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "AWDT": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "PST": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཚད་ལྡན་ཆུ་ཚོད", "EAT": "ཤར་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "IST": "རྒྱ་གར་ཆུ་ཚོད", "HAT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "LHST": "LHST", "HADT": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཉིན་སྲུང་ཆུ་ཚོད", "AEDT": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "NZST": "ནིའུ་ཛི་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "MST": "བྱང་ཨ་མི་རི་ཀ་མའུ་ཊེན་ཚད་ལྡན་ཆུ་ཚོད", "HNT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "AST": "ཨེཊ་ལེན་ཊིཀ་ཚད་ལྡན་ཆུ་ཚོད", "ADT": "ཨེཊ་ལེན་ཊིཀ་ཉིན་སྲུང་ཆུ་ཚོད", "EDT": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "PDT": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཉིན་སྲུང་ཆུ་ཚོད", "LHDT": "LHDT", "WIB": "ནུབ་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "COT": "ཀོ་ལོམ་བྷི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "OESZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "SGT": "SGT", "GFT": "ཕིརེནཅ་གི་ཡ་ན་ཆུ་ཚོད", "HKST": "HKST", "MESZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "ChST": "ChST", "AEST": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "NZDT": "ནིའུ་ཛི་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "JST": "ཇ་པཱན་ཚད་ལྡན་ཆུ་ཚོད", "WESZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "ECT": "ཨེ་ཀུ་ཌཽ་ཆུ་ཚོད", "COST": "ཀོ་ལོམ་བྷི་ཡ་བྱཱར་དུས་ཆུ་ཚོད", "WAT": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཚད་ལྡན་ཆུ་ཚོད", "TMT": "TMT", "MDT": "བྱང་ཨ་མི་རི་ཀ་མའུ་ཊེན་ཉིན་སྲུང་ཆུ་ཚོད", "OEZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "ACWST": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "ART": "ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "UYT": "ཡུ་རུ་གུ་ཝཱའི་ཚད་ལྡན་ཆུ་ཚོད", "SRT": "སུ་རི་ནཱམ་ཆུ་ཚོད", "∅∅∅": "ཨེ་ཛོརས་བྱཱར་དུས་ཆུ་ཚོད", "CDT": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "CST": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "BT": "འབྲུག་ཡུལ་ཆུ་ཚོད", "WEZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "ACWDT": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "ARST": "ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "CLT": "ཅི་ལི་ཚད་ལྡན་ཆུ་ཚོད", "CAT": "དབུས་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "UYST": "ཡུ་རུ་གུ་ཝཱའི་བྱཱར་དུས་ཆུ་ཚོད", "CHAST": "CHAST", "WARST": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "WITA": "དབུས་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད"}, + timezones: map[string]string{"UYT": "ཡུ་རུ་གུ་ཝཱའི་ཚད་ལྡན་ཆུ་ཚོད", "WIT": "ཤར་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "SRT": "སུ་རི་ནཱམ་ཆུ་ཚོད", "HEOG": "ནུབ་ཕྱོགས་གིརིན་ལེནཌ་བྱཱར་དུས་ཆུ་ཚོད", "WITA": "དབུས་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "HNNOMX": "HNNOMX", "AKST": "ཨ་ལསི་ཀ་ཚད་ལྡན་ཆུ་ཚོད", "SGT": "SGT", "AWDT": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "WEZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "ARST": "ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "MEZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "HNCU": "ཀིའུ་བྷ་ཚད་ལྡན་ཆུ་ཚོད", "CDT": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "AWST": "ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "EAT": "ཤར་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "MST": "MST", "COST": "ཀོ་ལོམ་བྷི་ཡ་བྱཱར་དུས་ཆུ་ཚོད", "EST": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "AST": "ཨེཊ་ལེན་ཊིཀ་ཚད་ལྡན་ཆུ་ཚོད", "BT": "འབྲུག་ཡུལ་ཆུ་ཚོད", "ACWDT": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "HAT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "TMST": "TMST", "ChST": "ChST", "NZST": "ནིའུ་ཛི་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "WAT": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཚད་ལྡན་ཆུ་ཚོད", "HNEG": "ཤར་ཕྱོགས་གིརིན་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "ACST": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "GMT": "གིརིན་ཝིཆ་ལུ་ཡོད་པའི་ཆུ་ཚོད", "HEPMX": "HEPMX", "GYT": "གུ་ཡ་ན་ཆུ་ཚོད", "HNOG": "ནུབ་ཕྱོགས་གིརིན་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "CLST": "ཅི་ལི་བྱཱར་དུས་ཆུ་ཚོད", "JST": "ཇ་པཱན་ཚད་ལྡན་ཆུ་ཚོད", "HKT": "HKT", "AEST": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "LHDT": "LHDT", "JDT": "ཇ་པཱན་ཉིན་སྲུང་ཆུ་ཚོད", "HECU": "ཀིའུ་བྷ་ཉིན་སྲུང་ཆུ་ཚོད", "CHADT": "CHADT", "UYST": "ཡུ་རུ་གུ་ཝཱའི་བྱཱར་དུས་ཆུ་ཚོད", "ACWST": "དབུས་ནུབ་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "HENOMX": "HENOMX", "MDT": "MDT", "AKDT": "ཨ་ལསི་ཀ་ཉིན་སྲུང་ཆུ་ཚོད", "SAST": "ལྷོ་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "OEZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་ཚད་ལྡན་ཆུ་ཚོད", "HNPMX": "HNPMX", "ART": "ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "∅∅∅": "ཨེ་མ་ཛཱོན་བྱཱར་དུས་ཆུ་ཚོད", "OESZ": "ཤར་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "HKST": "HKST", "IST": "རྒྱ་གར་ཆུ་ཚོད", "BOT": "བྷོ་ལི་བི་ཡ་ཆུ་ཚོད", "ADT": "ཨེཊ་ལེན་ཊིཀ་ཉིན་སྲུང་ཆུ་ཚོད", "HAST": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཚད་ལྡན་ཆུ་ཚོད", "PST": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཚད་ལྡན་ཆུ་ཚོད", "HEPM": "པའི་རི་དང་མི་ཀི་ལཱོན་ཉིན་སྲུང་ཆུ་ཚོད", "LHST": "LHST", "CHAST": "CHAST", "WAST": "ནུབ་ཕྱོགས་ཨཕ་རི་ཀཱ་བྱཱར་དུས་ཆུ་ཚོད", "WART": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་ཚད་ལྡན་ཆུ་ཚོད", "MESZ": "དབུས་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "HADT": "ཧ་ཝའི་-ཨེ་ལིའུ་ཤེན་ཉིན་སྲུང་ཆུ་ཚོད", "HNT": "ནིའུ་ཕའུནཌ་ལེནཌ་ཚད་ལྡན་ཆུ་ཚོད", "CLT": "ཅི་ལི་ཚད་ལྡན་ཆུ་ཚོད", "WIB": "ནུབ་ཕྱོགས་ཨིན་ཌོ་ནེ་ཤི་ཡ་ཆུ་ཚོད", "CAT": "དབུས་ཕྱོགས་ཨཕ་རི་ཀཱ་ཆུ་ཚོད", "COT": "ཀོ་ལོམ་བྷི་ཡ་ཚད་ལྡན་ཆུ་ཚོད", "WARST": "ནུབ་ཕྱོགས་ཨར་ཇེན་ཊི་ན་བྱཱར་དུས་ཆུ་ཚོད", "EDT": "བྱང་ཨ་མི་རི་ཀ་ཤར་ཕྱོགས་ཉིན་སྲུང་ཆུ་ཚོད", "CST": "བྱང་ཨ་མི་རི་ཀ་དབུས་ཕྱོགས་ཚད་ལྡན་ཆུ་ཚོད", "MYT": "MYT", "ACDT": "དབུས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "ECT": "ཨེ་ཀུ་ཌཽ་ཆུ་ཚོད", "AEDT": "ཤར་ཕྱོགས་ཕྱོགས་ཨཱོས་ཊྲེལ་ལི་ཡ་ཉིན་སྲུང་ཆུ་ཚོད", "HNPM": "པའི་རི་དང་མི་ཀི་ལཱོན་ཚད་ལྡན་ཆུ་ཚོད", "WESZ": "ནུབ་ཕྱོགས་ཡུ་རོ་པེན་བྱཱར་དུས་ཆུ་ཚོད", "PDT": "བྱང་ཨ་མི་རི་ཀ་པེ་སི་ཕིག་ཉིན་སྲུང་ཆུ་ཚོད", "TMT": "TMT", "VET": "བེ་ནི་ཛུ་ཝེ་ལ་ཆུ་ཚོད", "NZDT": "ནིའུ་ཛི་ལེནཌ་ཉིན་སྲུང་ཆུ་ཚོད", "HEEG": "ཤར་ཕྱོགས་གིརིན་ལེནཌ་བྱཱར་དུས་ཆུ་ཚོད", "GFT": "ཕིརེནཅ་གི་ཡ་ན་ཆུ་ཚོད"}, } } @@ -407,7 +407,12 @@ func (dz *dz_BT) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -433,7 +438,13 @@ func (dz *dz_BT) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9f, 0xe0, 0xbe, 0xb3, 0xe0, 0xbc, 0x8b}...) b = append(b, dz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) @@ -453,7 +464,13 @@ func (dz *dz_BT) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, dz.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b, 0x20}...) @@ -474,7 +491,13 @@ func (dz *dz_BT) FmtDateFull(t time.Time) string { b = append(b, dz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20, 0xe0, 0xbd, 0xa6, 0xe0, 0xbe, 0xa4, 0xe0, 0xbe, 0xb1, 0xe0, 0xbd, 0xb2, 0xe0, 0xbc, 0x8b, 0xe0, 0xbd, 0xa3, 0xe0, 0xbd, 0xbc, 0xe0, 0xbc, 0x8b}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, dz.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe0, 0xbd, 0x9a, 0xe0, 0xbd, 0xba, 0xe0, 0xbd, 0xa6, 0xe0, 0xbc, 0x8b}...) diff --git a/ebu/ebu.go b/ebu/ebu.go index 4d3709e3b..238740aec 100644 --- a/ebu/ebu.go +++ b/ebu/ebu.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mbe", "Kai", "Kat", "Kan", "Gat", "Gan", "Mug", "Knn", "Ken", "Iku", "Imw", "Igi"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "TK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristo", "Thutha wa Kristo"}, - timezones: map[string]string{"AST": "AST", "∅∅∅": "∅∅∅", "CHAST": "CHAST", "ACWDT": "ACWDT", "AKST": "AKST", "ARST": "ARST", "JDT": "JDT", "COST": "COST", "ACST": "ACST", "NZST": "NZST", "CLST": "CLST", "SGT": "SGT", "CST": "CST", "BOT": "BOT", "JST": "JST", "IST": "IST", "MEZ": "MEZ", "MESZ": "MESZ", "EDT": "EDT", "WIT": "WIT", "BT": "BT", "LHST": "LHST", "OESZ": "OESZ", "WEZ": "WEZ", "AWDT": "AWDT", "MYT": "MYT", "WAST": "WAST", "WITA": "WITA", "ChST": "ChST", "CHADT": "CHADT", "HKST": "HKST", "ECT": "ECT", "GFT": "GFT", "NZDT": "NZDT", "AWST": "AWST", "ACWST": "ACWST", "TMT": "TMT", "GYT": "GYT", "AKDT": "AKDT", "EST": "EST", "WAT": "WAT", "MST": "MST", "MDT": "MDT", "COT": "COT", "HAST": "HAST", "AEDT": "AEDT", "WIB": "WIB", "ART": "ART", "PDT": "PDT", "CAT": "CAT", "OEZ": "OEZ", "WESZ": "WESZ", "HKT": "HKT", "CDT": "CDT", "CLT": "CLT", "UYST": "UYST", "WART": "WART", "PST": "PST", "SAST": "SAST", "LHDT": "LHDT", "VET": "VET", "WARST": "WARST", "TMST": "TMST", "HNT": "HNT", "HAT": "HAT", "ACDT": "ACDT", "ADT": "ADT", "EAT": "EAT", "HADT": "HADT", "AEST": "AEST", "GMT": "GMT", "UYT": "UYT", "SRT": "SRT"}, + timezones: map[string]string{"GFT": "GFT", "GMT": "GMT", "WIT": "WIT", "VET": "VET", "HNOG": "HNOG", "TMST": "TMST", "OESZ": "OESZ", "AKST": "AKST", "HECU": "HECU", "WEZ": "WEZ", "HAT": "HAT", "NZST": "NZST", "CLT": "CLT", "SRT": "SRT", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "COST": "COST", "HNNOMX": "HNNOMX", "GYT": "GYT", "HKT": "HKT", "WITA": "WITA", "MEZ": "MEZ", "HEEG": "HEEG", "PST": "PST", "HNEG": "HNEG", "HNCU": "HNCU", "EST": "EST", "HENOMX": "HENOMX", "AKDT": "AKDT", "WIB": "WIB", "HKST": "HKST", "SAST": "SAST", "JDT": "JDT", "OEZ": "OEZ", "ACST": "ACST", "ACDT": "ACDT", "WAST": "WAST", "ECT": "ECT", "ACWDT": "ACWDT", "AEST": "AEST", "CLST": "CLST", "BOT": "BOT", "COT": "COT", "ADT": "ADT", "HEPMX": "HEPMX", "UYST": "UYST", "PDT": "PDT", "WESZ": "WESZ", "AWDT": "AWDT", "MESZ": "MESZ", "MST": "MST", "MDT": "MDT", "CST": "CST", "HADT": "HADT", "HEOG": "HEOG", "AWST": "AWST", "SGT": "SGT", "EDT": "EDT", "WART": "WART", "HNPMX": "HNPMX", "AST": "AST", "ACWST": "ACWST", "AEDT": "AEDT", "HEPM": "HEPM", "EAT": "EAT", "ARST": "ARST", "CAT": "CAT", "NZDT": "NZDT", "JST": "JST", "UYT": "UYT", "BT": "BT", "HNT": "HNT", "LHST": "LHST", "LHDT": "LHDT", "CHADT": "CHADT", "TMT": "TMT", "ART": "ART", "IST": "IST", "ChST": "ChST", "CDT": "CDT", "HAST": "HAST", "HNPM": "HNPM", "WAT": "WAT", "WARST": "WARST", "MYT": "MYT"}, } } @@ -330,7 +330,12 @@ func (ebu *ebu) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (ebu *ebu) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (ebu *ebu) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (ebu *ebu) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ebu_KE/ebu_KE.go b/ebu_KE/ebu_KE.go index a86c3820f..057858d99 100644 --- a/ebu_KE/ebu_KE.go +++ b/ebu_KE/ebu_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mbe", "Kai", "Kat", "Kan", "Gat", "Gan", "Mug", "Knn", "Ken", "Iku", "Imw", "Igi"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "TK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristo", "Thutha wa Kristo"}, - timezones: map[string]string{"AKST": "AKST", "WIT": "WIT", "HNT": "HNT", "SGT": "SGT", "HADT": "HADT", "EDT": "EDT", "ACDT": "ACDT", "HAST": "HAST", "ART": "ART", "ACWDT": "ACWDT", "WARST": "WARST", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "ACST": "ACST", "AST": "AST", "ChST": "ChST", "HKST": "HKST", "EST": "EST", "EAT": "EAT", "WITA": "WITA", "CLT": "CLT", "WEZ": "WEZ", "MST": "MST", "LHST": "LHST", "UYT": "UYT", "LHDT": "LHDT", "HKT": "HKT", "CHAST": "CHAST", "COT": "COT", "ECT": "ECT", "ARST": "ARST", "TMT": "TMT", "CST": "CST", "MYT": "MYT", "BT": "BT", "UYST": "UYST", "BOT": "BOT", "GMT": "GMT", "GFT": "GFT", "MESZ": "MESZ", "WESZ": "WESZ", "WIB": "WIB", "ACWST": "ACWST", "IST": "IST", "TMST": "TMST", "AWST": "AWST", "JDT": "JDT", "SRT": "SRT", "CAT": "CAT", "PST": "PST", "ADT": "ADT", "SAST": "SAST", "MDT": "MDT", "NZDT": "NZDT", "VET": "VET", "MEZ": "MEZ", "WAST": "WAST", "CDT": "CDT", "GYT": "GYT", "CLST": "CLST", "OESZ": "OESZ", "COST": "COST", "AEST": "AEST", "PDT": "PDT", "WAT": "WAT", "NZST": "NZST", "AWDT": "AWDT", "JST": "JST", "HAT": "HAT", "CHADT": "CHADT", "AEDT": "AEDT", "WART": "WART"}, + timezones: map[string]string{"HEEG": "HEEG", "TMST": "TMST", "HECU": "HECU", "MDT": "MDT", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "UYST": "UYST", "AEST": "AEST", "WAST": "WAST", "WESZ": "WESZ", "HEPMX": "HEPMX", "AKDT": "AKDT", "GFT": "GFT", "HAST": "HAST", "HEOG": "HEOG", "AEDT": "AEDT", "IST": "IST", "AST": "AST", "BT": "BT", "EST": "EST", "HNPMX": "HNPMX", "OEZ": "OEZ", "ADT": "ADT", "ACWST": "ACWST", "SAST": "SAST", "ACDT": "ACDT", "AKST": "AKST", "SRT": "SRT", "PDT": "PDT", "HNEG": "HNEG", "MST": "MST", "LHDT": "LHDT", "JST": "JST", "TMT": "TMT", "ECT": "ECT", "HNCU": "HNCU", "UYT": "UYT", "HKT": "HKT", "WITA": "WITA", "VET": "VET", "HNT": "HNT", "MEZ": "MEZ", "GYT": "GYT", "ACST": "ACST", "HADT": "HADT", "NZDT": "NZDT", "CHAST": "CHAST", "CLST": "CLST", "WART": "WART", "EDT": "EDT", "PST": "PST", "WEZ": "WEZ", "LHST": "LHST", "NZST": "NZST", "BOT": "BOT", "OESZ": "OESZ", "WARST": "WARST", "COST": "COST", "CST": "CST", "HNOG": "HNOG", "HKST": "HKST", "HEPM": "HEPM", "ACWDT": "ACWDT", "HAT": "HAT", "MYT": "MYT", "WIT": "WIT", "ART": "ART", "ARST": "ARST", "AWST": "AWST", "CAT": "CAT", "EAT": "EAT", "HENOMX": "HENOMX", "SGT": "SGT", "MESZ": "MESZ", "ChST": "ChST", "JDT": "JDT", "COT": "COT", "CHADT": "CHADT", "CLT": "CLT", "HNNOMX": "HNNOMX", "GMT": "GMT", "CDT": "CDT", "WIB": "WIB", "HNPM": "HNPM", "WAT": "WAT"}, } } @@ -330,7 +330,12 @@ func (ebu *ebu_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (ebu *ebu_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (ebu *ebu_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (ebu *ebu_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ebu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ee/ee.go b/ee/ee.go index 43aa06602..d2713a690 100644 --- a/ee/ee.go +++ b/ee/ee.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "dzv", "dzd", "ted", "afɔ", "dam", "mas", "sia", "dea", "any", "kel", "ade", "dzm"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"hY", "Yŋ"}, erasNarrow: []string{"hY", "Yŋ"}, erasWide: []string{"Hafi Yesu Va Do ŋgɔ", "Yesu Ŋɔli"}, - timezones: map[string]string{"UYST": "Uruguai dzomeŋɔli gaƒoƒome", "∅∅∅": "Brasilia dzomeŋɔli gaƒoƒome", "ACST": "Titina Australia gaƒoƒoɖoanyime", "AKST": "Alaska gaƒoƒoɖoanyime", "CDT": "Titina America ŋkekeme gaƒoƒome", "GYT": "Gayana gaƒoƒome", "BOT": "Bolivia gaƒoƒome", "BT": "BT", "CLT": "Tsile gaƒoƒoɖoanyime", "WIB": "WIB", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "ADT": "Atlantic ŋkekeme gaƒoƒome", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "VET": "Venezuela gaƒoƒome", "IST": "IST", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome", "MST": "Makau gaƒoƒoɖoanyime", "GMT": "Greenwich gaƒoƒome", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "SRT": "Suriname gaƒoƒome", "WITA": "WITA", "AKDT": "Alaska ŋkekeme gaƒoƒome", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "UYT": "Uruguai gaƒoƒoɖoanyime", "JST": "Japan gaƒoƒoɖanyime", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "ART": "Argentina gaƒoƒoɖoanyime", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime", "MDT": "Makau ŋkekeme gaƒoƒome", "LHDT": "LHDT", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "CHADT": "CHADT", "ACDT": "Titina Australia ŋkekeme gaƒoƒome", "SGT": "SGT", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "PST": "Pacific gaƒoƒoɖoanyime", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "NZST": "NZST", "JDT": "Japan ŋkekeme gaƒoƒome", "GFT": "Frentsi Guiana gaƒoƒome", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "MYT": "MYT", "CAT": "Titina Afrika gaƒoƒome", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "WIT": "WIT", "COT": "Kolombia gaƒoƒoɖoanyime", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "AST": "Atlantic gaƒoƒoɖoanyime", "LHST": "LHST", "PDT": "Pacific ŋkekme gaƒoƒome", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "CST": "Titina America gaƒoƒoɖoanyime", "NZDT": "NZDT", "ChST": "ChST", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "CHAST": "CHAST", "SAST": "Anyiehe Africa gaƒoƒome", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome"}, + timezones: map[string]string{"HNOG": "Ɣetoɖoƒe Grinlanɖ gaƒoƒoɖoanyime", "HEOG": "Ɣetoɖoƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "SAST": "Anyiehe Africa gaƒoƒome", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "CST": "Titina America gaƒoƒoɖoanyime", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "MST": "America Todzidukɔwo ƒe gaƒoƒoɖoanyime", "BT": "BT", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "HNPMX": "HNPMX", "WIB": "WIB", "CHAST": "CHAST", "CAT": "Titina Afrika gaƒoƒome", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "ADT": "Atlantic ŋkekeme gaƒoƒome", "WIT": "WIT", "ChST": "ChST", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome", "MDT": "America Todzidukɔwo ƒe ŋkekme gaƒoƒome", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "JST": "Japan gaƒoƒoɖanyime", "HECU": "Kuba ŋkekeme gaƒoƒome", "GYT": "Gayana gaƒoƒome", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "IST": "IST", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "HNNOMX": "HNNOMX", "AST": "Atlantic gaƒoƒoɖoanyime", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "SGT": "SGT", "HEPMX": "HEPMX", "AKST": "Alaska gaƒoƒoɖoanyime", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "ACDT": "Titina Australia ŋkekeme gaƒoƒome", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "GMT": "Greenwich gaƒoƒome", "MYT": "MYT", "SRT": "Suriname gaƒoƒome", "CHADT": "CHADT", "NZDT": "NZDT", "JDT": "Japan ŋkekeme gaƒoƒome", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "ART": "Argentina gaƒoƒoɖoanyime", "PST": "Pacific gaƒoƒoɖoanyime", "WITA": "WITA", "GFT": "Frentsi Guiana gaƒoƒome", "UYST": "Uruguai dzomeŋɔli gaƒoƒome", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "LHDT": "LHDT", "NZST": "NZST", "CDT": "Titina America ŋkekeme gaƒoƒome", "VET": "Venezuela gaƒoƒome", "HNEG": "Ɣedzeƒe Grinlanɖ gaƒoƒoɖoanyime", "COT": "Kolombia gaƒoƒoɖoanyime", "HENOMX": "HENOMX", "BOT": "Bolivia gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "CLT": "Tsile gaƒoƒoɖoanyime", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "ACST": "Titina Australia gaƒoƒoɖoanyime", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "∅∅∅": "Amazon dzomeŋɔli gaƒoƒome", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome", "HNCU": "Kuba gaƒoƒoɖoanyime", "PDT": "Pacific ŋkekme gaƒoƒome", "LHST": "LHST", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "AKDT": "Alaska ŋkekeme gaƒoƒome", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "HNPM": "Saint Pierre kple Mikuelon gaƒoƒoɖoanyime", "HEPM": "Saint Pierre kple Mikuelon ŋkekeme gaƒoƒome", "HEEG": "Ɣedzeƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "UYT": "Uruguai gaƒoƒoɖoanyime", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome"}, } } @@ -349,7 +349,12 @@ func (ee *ee) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +369,12 @@ func (ee *ee) FmtDateLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +391,12 @@ func (ee *ee) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ee_GH/ee_GH.go b/ee_GH/ee_GH.go index 36aa93a90..af2a53baf 100644 --- a/ee_GH/ee_GH.go +++ b/ee_GH/ee_GH.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "dzv", "dzd", "ted", "afɔ", "dam", "mas", "sia", "dea", "any", "kel", "ade", "dzm"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"hY", "Yŋ"}, erasNarrow: []string{"hY", "Yŋ"}, erasWide: []string{"Hafi Yesu Va Do ŋgɔ", "Yesu Ŋɔli"}, - timezones: map[string]string{"SRT": "Suriname gaƒoƒome", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "CST": "Titina America gaƒoƒoɖoanyime", "CLT": "Tsile gaƒoƒoɖoanyime", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "∅∅∅": "Peru dzomeŋɔli gaƒoƒome", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "JDT": "Japan ŋkekeme gaƒoƒome", "NZDT": "NZDT", "BT": "BT", "GMT": "Greenwich gaƒoƒome", "JST": "Japan gaƒoƒoɖanyime", "ADT": "Atlantic ŋkekeme gaƒoƒome", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "CDT": "Titina America ŋkekeme gaƒoƒome", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "WIB": "WIB", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "AST": "Atlantic gaƒoƒoɖoanyime", "AKST": "Alaska gaƒoƒoɖoanyime", "PST": "Pacific gaƒoƒoɖoanyime", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime", "MDT": "America Todzidukɔwo ƒe ŋkekme gaƒoƒome", "UYST": "Uruguai dzomeŋɔli gaƒoƒome", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "ACDT": "Titina Australia ŋkekeme gaƒoƒome", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "AKDT": "Alaska ŋkekeme gaƒoƒome", "MYT": "MYT", "NZST": "NZST", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "CHADT": "CHADT", "UYT": "Uruguai gaƒoƒoɖoanyime", "SGT": "SGT", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "WIT": "WIT", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "CHAST": "CHAST", "SAST": "Anyiehe Africa gaƒoƒome", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "LHDT": "LHDT", "GFT": "Frentsi Guiana gaƒoƒome", "ChST": "ChST", "BOT": "Bolivia gaƒoƒome", "CAT": "Titina Afrika gaƒoƒome", "LHST": "LHST", "ACST": "Titina Australia gaƒoƒoɖoanyime", "PDT": "Pacific ŋkekme gaƒoƒome", "IST": "IST", "MST": "America Todzidukɔwo ƒe gaƒoƒoɖoanyime", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "VET": "Venezuela gaƒoƒome", "ART": "Argentina gaƒoƒoɖoanyime", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "GYT": "Gayana gaƒoƒome", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "WITA": "WITA", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "COT": "Kolombia gaƒoƒoɖoanyime", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome"}, + timezones: map[string]string{"AKDT": "Alaska ŋkekeme gaƒoƒome", "CST": "Titina America gaƒoƒoɖoanyime", "MDT": "Makau ŋkekeme gaƒoƒome", "HEOG": "Ɣetoɖoƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "ART": "Argentina gaƒoƒoɖoanyime", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "MST": "Makau gaƒoƒoɖoanyime", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "JST": "Japan gaƒoƒoɖanyime", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "HNNOMX": "HNNOMX", "∅∅∅": "Azores dzomeŋɔli gaƒoƒome", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "BT": "BT", "SAST": "Anyiehe Africa gaƒoƒome", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "HEPM": "Saint Pierre kple Mikuelon ŋkekeme gaƒoƒome", "CLT": "Tsile gaƒoƒoɖoanyime", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "GYT": "Gayana gaƒoƒome", "UYT": "Uruguai gaƒoƒoɖoanyime", "HNOG": "Ɣetoɖoƒe Grinlanɖ gaƒoƒoɖoanyime", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "CHAST": "CHAST", "CAT": "Titina Afrika gaƒoƒome", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "BOT": "Bolivia gaƒoƒome", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "AST": "Atlantic gaƒoƒoɖoanyime", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "NZDT": "NZDT", "CHADT": "CHADT", "IST": "IST", "CDT": "Titina America ŋkekeme gaƒoƒome", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "COT": "Kolombia gaƒoƒoɖoanyime", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "GMT": "Greenwich gaƒoƒome", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome", "ADT": "Atlantic ŋkekeme gaƒoƒome", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "WIT": "WIT", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "HNPM": "Saint Pierre kple Mikuelon gaƒoƒoɖoanyime", "LHDT": "LHDT", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "HNCU": "Kuba gaƒoƒoɖoanyime", "AKST": "Alaska gaƒoƒoɖoanyime", "LHST": "LHST", "NZST": "NZST", "HNEG": "Ɣedzeƒe Grinlanɖ gaƒoƒoɖoanyime", "JDT": "Japan ŋkekeme gaƒoƒome", "HEEG": "Ɣedzeƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "ACST": "Titina Australia gaƒoƒoɖoanyime", "HENOMX": "HENOMX", "VET": "Venezuela gaƒoƒome", "SRT": "Suriname gaƒoƒome", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "WITA": "WITA", "HECU": "Kuba ŋkekeme gaƒoƒome", "HEPMX": "HEPMX", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome", "PST": "Pacific gaƒoƒoɖoanyime", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "SGT": "SGT", "HNPMX": "HNPMX", "UYST": "Uruguai dzomeŋɔli gaƒoƒome", "WIB": "WIB", "PDT": "Pacific ŋkekme gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "ChST": "ChST", "ACDT": "Titina Australia ŋkekeme gaƒoƒome", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome", "MYT": "MYT", "GFT": "Frentsi Guiana gaƒoƒome", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime"}, } } @@ -349,7 +349,12 @@ func (ee *ee_GH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +369,12 @@ func (ee *ee_GH) FmtDateLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +391,12 @@ func (ee *ee_GH) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ee_TG/ee_TG.go b/ee_TG/ee_TG.go index 7370f0dd5..f459781c7 100644 --- a/ee_TG/ee_TG.go +++ b/ee_TG/ee_TG.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "dzv", "dzd", "ted", "afɔ", "dam", "mas", "sia", "dea", "any", "kel", "ade", "dzm"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"hY", "Yŋ"}, erasNarrow: []string{"hY", "Yŋ"}, erasWide: []string{"Hafi Yesu Va Do ŋgɔ", "Yesu Ŋɔli"}, - timezones: map[string]string{"ACDT": "Titina Australia ŋkekeme gaƒoƒome", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "CHADT": "CHADT", "ADT": "Atlantic ŋkekeme gaƒoƒome", "GYT": "Gayana gaƒoƒome", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "GMT": "Greenwich gaƒoƒome", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "CST": "Titina America gaƒoƒoɖoanyime", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "MYT": "MYT", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "ART": "Argentina gaƒoƒoɖoanyime", "AST": "Atlantic gaƒoƒoɖoanyime", "PDT": "Pacific ŋkekme gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "PST": "Pacific gaƒoƒoɖoanyime", "MST": "America Todzidukɔwo ƒe gaƒoƒoɖoanyime", "ACST": "Titina Australia gaƒoƒoɖoanyime", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome", "AKDT": "Alaska ŋkekeme gaƒoƒome", "LHDT": "LHDT", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "COT": "Kolombia gaƒoƒoɖoanyime", "WIB": "WIB", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome", "AKST": "Alaska gaƒoƒoɖoanyime", "WITA": "WITA", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime", "CLT": "Tsile gaƒoƒoɖoanyime", "GFT": "Frentsi Guiana gaƒoƒome", "SGT": "SGT", "VET": "Venezuela gaƒoƒome", "IST": "IST", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "MDT": "America Todzidukɔwo ƒe ŋkekme gaƒoƒome", "∅∅∅": "Peru dzomeŋɔli gaƒoƒome", "ChST": "ChST", "BOT": "Bolivia gaƒoƒome", "JST": "Japan gaƒoƒoɖanyime", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "SAST": "Anyiehe Africa gaƒoƒome", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "LHST": "LHST", "SRT": "Suriname gaƒoƒome", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "BT": "BT", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome", "NZST": "NZST", "JDT": "Japan ŋkekeme gaƒoƒome", "NZDT": "NZDT", "WIT": "WIT", "CHAST": "CHAST", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "CDT": "Titina America ŋkekeme gaƒoƒome", "CAT": "Titina Afrika gaƒoƒome", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "UYST": "Uruguai dzomeŋɔli gaƒoƒome", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "UYT": "Uruguai gaƒoƒoɖoanyime"}, + timezones: map[string]string{"UYST": "Uruguai dzomeŋɔli gaƒoƒome", "MESZ": "Titina Europe ŋkekeme gaƒoƒome", "WART": "Ɣetoɖoƒe Argentina gaƒoƒoɖoanyime", "HECU": "Kuba ŋkekeme gaƒoƒome", "MDT": "Makau ŋkekeme gaƒoƒome", "ADT": "Atlantic ŋkekeme gaƒoƒome", "LHDT": "LHDT", "HEEG": "Ɣedzeƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "SAST": "Anyiehe Africa gaƒoƒome", "WAST": "Ɣetoɖoƒe Africa ŋkekeme gaƒoƒome", "COT": "Kolombia gaƒoƒoɖoanyime", "AST": "Atlantic gaƒoƒoɖoanyime", "UYT": "Uruguai gaƒoƒoɖoanyime", "BT": "BT", "ART": "Argentina gaƒoƒoɖoanyime", "AWST": "Ɣetoɖoƒe Australia gaƒoƒoɖoanyime", "OEZ": "Ɣedzeƒe Europe gaƒoƒoɖoanyime", "WARST": "Ɣetoɖoƒe Argentina dzomeŋɔli gaƒoƒome", "WESZ": "Ɣetoɖoƒe Europe ŋkekeme gaƒoƒome", "ACWST": "Australia ɣetoɖofe gaƒoƒoɖoanyime", "NZST": "NZST", "IST": "IST", "AKDT": "Alaska ŋkekeme gaƒoƒome", "MYT": "MYT", "HNT": "Niufaunɖlanɖ gaƒoƒoɖoanyime", "AEDT": "Ɣedzeƒe Australia ŋkekeme gaƒoƒome", "MEZ": "Titina Europe gaƒoƒoɖoanyime", "EAT": "Ɣedzeƒe Africa gaƒoƒome", "GMT": "Greenwich gaƒoƒome", "CST": "Titina America gaƒoƒoɖoanyime", "ARST": "Argentina dzomeŋɔli gaƒoƒome", "HKT": "Hɔng Kɔng gaƒoƒoɖoanyi me", "HNPM": "Saint Pierre kple Mikuelon gaƒoƒoɖoanyime", "VET": "Venezuela gaƒoƒome", "HAT": "Niufaunɖlanɖ ŋkekeme gaƒoƒome", "HNOG": "Ɣetoɖoƒe Grinlanɖ gaƒoƒoɖoanyime", "BOT": "Bolivia gaƒoƒome", "TMST": "Tɛkmenistan dzomeŋɔli gaƒoƒome", "WAT": "Ɣetoɖoƒe Afrika gaƒoƒoɖoanyime", "HENOMX": "HENOMX", "PST": "Pacific gaƒoƒoɖoanyime", "AEST": "Ɣedzeƒe Australia gaƒoƒoɖoanyime", "GFT": "Frentsi Guiana gaƒoƒome", "CAT": "Titina Afrika gaƒoƒome", "COST": "Kolombia dzomeŋɔli gaƒoƒome", "HNNOMX": "HNNOMX", "CDT": "Titina America ŋkekeme gaƒoƒome", "WIB": "WIB", "CLT": "Tsile gaƒoƒoɖoanyime", "ECT": "Ikuedɔ dzomeŋɔli gaƒoƒome", "SRT": "Suriname gaƒoƒome", "WEZ": "Ɣetoɖoƒe Europe gaƒoƒoɖoanyime", "HEOG": "Ɣetoɖoƒe Grinlanɖ dzomeŋɔli gaƒoƒome", "CLST": "Tsile dzomeŋɔli gaƒoƒome", "TMT": "Tɛkmenistan gaƒoƒoɖoanyime", "HNCU": "Kuba gaƒoƒoɖoanyime", "WIT": "WIT", "ACWDT": "Australia ɣetoɖofe ŋkekeme gaƒoƒome", "CHADT": "CHADT", "NZDT": "NZDT", "ChST": "ChST", "ACST": "Titina Australia gaƒoƒoɖoanyime", "EDT": "Ɣedzeƒe America ŋkekeme gaƒoƒome", "MST": "Makau gaƒoƒoɖoanyime", "WITA": "WITA", "JDT": "Japan ŋkekeme gaƒoƒome", "HNEG": "Ɣedzeƒe Grinlanɖ gaƒoƒoɖoanyime", "SGT": "SGT", "AKST": "Alaska gaƒoƒoɖoanyime", "GYT": "Gayana gaƒoƒome", "HADT": "Hawaii-Aleutia ŋkekeme gaƒoƒome", "PDT": "Pacific ŋkekme gaƒoƒome", "HKST": "Hɔng Kɔng dzomeŋɔli gaƒoƒome", "CHAST": "CHAST", "OESZ": "Ɣedzeƒe Europe ŋkekeme gaƒoƒome", "EST": "Ɣedzeƒe America gaƒoƒoɖoanyime", "HNPMX": "HNPMX", "LHST": "LHST", "JST": "Japan gaƒoƒoɖanyime", "ACDT": "Titina Australia ŋkekeme gaƒoƒome", "∅∅∅": "Peru dzomeŋɔli gaƒoƒome", "HEPMX": "HEPMX", "HAST": "Hawaii-Aleutia gaƒoƒoɖoanyime", "AWDT": "Ɣetoɖoƒe Australia ŋkekeme gaƒoƒome", "HEPM": "Saint Pierre kple Mikuelon ŋkekeme gaƒoƒome"}, } } @@ -349,7 +349,12 @@ func (ee *ee_TG) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +369,12 @@ func (ee *ee_TG) FmtDateLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +391,12 @@ func (ee *ee_TG) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0x6c, 0x69, 0x61}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/el/el.go b/el/el.go index 144c5f1dc..09ac4f657 100644 --- a/el/el.go +++ b/el/el.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "Δρχ", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "Δρχ", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"π.Χ.", "μ.Χ."}, erasNarrow: []string{"", ""}, erasWide: []string{"προ Χριστού", "μετά Χριστόν"}, - timezones: map[string]string{"ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "ECT": "Ώρα Εκουαδόρ", "LHST": "Χειμερινή ώρα Λορντ Χάου", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "WITA": "Ώρα: Κεντρική Ινδονησία", "MST": "Χειμερινή ώρα Μακάο", "BT": "Ώρα Μπουτάν", "CLT": "Χειμερινή ώρα Χιλής", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "CAT": "Ώρα Κεντρικής Αφρικής", "UYT": "Χειμερινή ώρα Ουρουγουάης", "SRT": "Ώρα Σουρινάμ", "WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "EAT": "Ώρα Ανατολικής Αφρικής", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "BOT": "Ώρα Βολιβίας", "TMST": "Θερινή ώρα Τουρκμενιστάν", "UYST": "Θερινή ώρα Ουρουγουάης", "JST": "Χειμερινή ώρα Ιαπωνίας", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "CHADT": "Θερινή ώρα Τσάθαμ", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "SGT": "Ώρα Σιγκαπούρης", "COST": "Θερινή ώρα Κολομβίας", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "WIB": "Ώρα: Δυτική Ινδονησία", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "AKDT": "Θερινή ώρα Αλάσκας", "WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "JDT": "Θερινή ώρα Ιαπωνίας", "CHAST": "Χειμερινή ώρα Τσάθαμ", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "VET": "Ώρα Βενεζουέλας", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "PDT": "Θερινή ώρα Βόρειας Αμερικής", "AKST": "Χειμερινή ώρα Αλάσκας", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "ChST": "Ώρα Τσαμόρο", "HNT": "Χειμερινή ώρα Νέας Γης", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "IST": "Ώρα Ινδίας", "∅∅∅": "Θερινή ώρα Αμαζονίου", "GFT": "Ώρα Γαλλικής Γουιάνας", "ARST": "Θερινή ώρα Αργεντινής", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "ART": "Χειμερινή ώρα Αργεντινής", "AST": "Χειμερινή ώρα Ατλαντικού", "LHDT": "Θερινή ώρα Λορντ Χάου", "WARST": "Θερινή ώρα Δυτικής Αργεντινής", "GYT": "Ώρα Γουιάνας", "GMT": "Μέση ώρα Γκρίνουιτς", "COT": "Χειμερινή ώρα Κολομβίας", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "MDT": "Θερινή ώρα Μακάο", "WIT": "Ώρα: Ανατολική Ινδονησία", "HAT": "Θερινή ώρα Νέας Γης", "MYT": "Ώρα Μαλαισίας", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "CLST": "Θερινή ώρα Χιλής", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "ADT": "Θερινή ώρα Ατλαντικού"}, + timezones: map[string]string{"PDT": "Θερινή ώρα Βόρειας Αμερικής", "HEPM": "Θερινή ώρα Σαιντ Πιερ και Μικελόν", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "ChST": "Ώρα Τσαμόρο", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "GFT": "Ώρα Γαλλικής Γουιάνας", "TMST": "Θερινή ώρα Τουρκμενιστάν", "COST": "Θερινή ώρα Κολομβίας", "WARST": "Θερινή ώρα Δυτικής Αργεντινής", "GMT": "Μέση ώρα Γκρίνουιτς", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "∅∅∅": "Θερινή ώρα Περού", "AST": "Χειμερινή ώρα Ατλαντικού", "WIT": "Ώρα Ανατολικής Ινδονησίας", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "CAT": "Ώρα Κεντρικής Αφρικής", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "CLT": "Χειμερινή ώρα Χιλής", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "HECU": "Θερινή ώρα Κούβας", "UYST": "Θερινή ώρα Ουρουγουάης", "HAT": "Θερινή ώρα Νέας Γης", "ARST": "Θερινή ώρα Αργεντινής", "HNOG": "Χειμερινή ώρα Δυτικής Γροιλανδίας", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "SGT": "Ώρα Σιγκαπούρης", "AKDT": "Θερινή ώρα Αλάσκας", "WIB": "Ώρα Δυτικής Ινδονησίας", "VET": "Ώρα Βενεζουέλας", "LHST": "Χειμερινή ώρα Λορντ Χάου", "CLST": "Θερινή ώρα Χιλής", "HENOMX": "Θερινή ώρα Βορειοδυτικού Μεξικού", "MST": "Χειμερινή ώρα Μακάο", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "GYT": "Ώρα Γουιάνας", "HNT": "Χειμερινή ώρα Νέας Γης", "EAT": "Ώρα Ανατολικής Αφρικής", "WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "HNNOMX": "Χειμερινή ώρα Βορειοδυτικού Μεξικού", "MDT": "Θερινή ώρα Μακάο", "HNPMX": "Χειμερινή ώρα Ειρηνικού Μεξικού", "HNCU": "Χειμερινή ώρα Κούβας", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "UYT": "Χειμερινή ώρα Ουρουγουάης", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "AKST": "Χειμερινή ώρα Αλάσκας", "BT": "Ώρα Μπουτάν", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "COT": "Χειμερινή ώρα Κολομβίας", "HEPMX": "Θερινή ώρα Ειρηνικού Μεξικού", "CHADT": "Θερινή ώρα Τσάθαμ", "HNEG": "Χειμερινή ώρα Ανατολικής Γροιλανδίας", "ECT": "Ώρα Εκουαδόρ", "MYT": "Ώρα Μαλαισίας", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "IST": "Ώρα Ινδίας", "LHDT": "Θερινή ώρα Λορντ Χάου", "CHAST": "Χειμερινή ώρα Τσάθαμ", "JST": "Χειμερινή ώρα Ιαπωνίας", "SRT": "Ώρα Σουρινάμ", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "HEOG": "Θερινή ώρα Δυτικής Γροιλανδίας", "WITA": "Ώρα Κεντρικής Ινδονησίας", "BOT": "Ώρα Βολιβίας", "HEEG": "Θερινή ώρα Ανατολικής Γροιλανδίας", "ADT": "Θερινή ώρα Ατλαντικού", "ART": "Χειμερινή ώρα Αργεντινής", "HNPM": "Χειμερινή ώρα Σαιντ Πιερ και Μικελόν", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "JDT": "Θερινή ώρα Ιαπωνίας"}, } } @@ -422,7 +422,12 @@ func (el *el) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +441,12 @@ func (el *el) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +462,12 @@ func (el *el) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/el_CY/el_CY.go b/el_CY/el_CY.go index 0a71ee175..88ce68227 100644 --- a/el_CY/el_CY.go +++ b/el_CY/el_CY.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"π.Χ.", "μ.Χ."}, erasNarrow: []string{"", ""}, erasWide: []string{"προ Χριστού", "μετά Χριστόν"}, - timezones: map[string]string{"ART": "Χειμερινή ώρα Αργεντινής", "WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "AKST": "Χειμερινή ώρα Αλάσκας", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "TMST": "Θερινή ώρα Τουρκμενιστάν", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "CHADT": "Θερινή ώρα Τσάθαμ", "ADT": "Θερινή ώρα Ατλαντικού", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "PDT": "Θερινή ώρα Βόρειας Αμερικής", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "MYT": "Ώρα Μαλαισίας", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "COST": "Θερινή ώρα Κολομβίας", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "MST": "Ορεινή χειμερινή ώρα Βόρειας Αμερικής", "HAT": "Θερινή ώρα Νέας Γης", "UYST": "Θερινή ώρα Ουρουγουάης", "JDT": "Θερινή ώρα Ιαπωνίας", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "ECT": "Ώρα Εκουαδόρ", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "EAT": "Ώρα Ανατολικής Αφρικής", "AKDT": "Θερινή ώρα Αλάσκας", "ChST": "Ώρα Τσαμόρο", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "UYT": "Χειμερινή ώρα Ουρουγουάης", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "BT": "Ώρα Μπουτάν", "CLT": "Χειμερινή ώρα Χιλής", "SGT": "Ώρα Σιγκαπούρης", "VET": "Ώρα Βενεζουέλας", "ARST": "Θερινή ώρα Αργεντινής", "CAT": "Ώρα Κεντρικής Αφρικής", "AST": "Χειμερινή ώρα Ατλαντικού", "GMT": "Μέση ώρα Γκρίνουιτς", "GFT": "Ώρα Γαλλικής Γουιάνας", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "COT": "Χειμερινή ώρα Κολομβίας", "LHDT": "Θερινή ώρα Λορντ Χάου", "WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "WIB": "Ώρα: Δυτική Ινδονησία", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "WITA": "Ώρα: Κεντρική Ινδονησία", "WIT": "Ώρα: Ανατολική Ινδονησία", "LHST": "Χειμερινή ώρα Λορντ Χάου", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "CHAST": "Χειμερινή ώρα Τσάθαμ", "SRT": "Ώρα Σουρινάμ", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "IST": "Ώρα Ινδίας", "HNT": "Χειμερινή ώρα Νέας Γης", "CLST": "Θερινή ώρα Χιλής", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "WARST": "Θερινή ώρα Δυτικής Αργεντινής", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "MDT": "Ορεινή θερινή ώρα Βόρειας Αμερικής", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "GYT": "Ώρα Γουιάνας", "∅∅∅": "Θερινή ώρα Περού", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "BOT": "Ώρα Βολιβίας", "JST": "Χειμερινή ώρα Ιαπωνίας"}, + timezones: map[string]string{"WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "HEOG": "Θερινή ώρα Δυτικής Γροιλανδίας", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "WARST": "Θερινή ώρα Δυτικής Αργεντινής", "PDT": "Θερινή ώρα Βόρειας Αμερικής", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "HNPM": "Χειμερινή ώρα Σαιντ Πιερ και Μικελόν", "ChST": "Ώρα Τσαμόρο", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "UYST": "Θερινή ώρα Ουρουγουάης", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "WIB": "Ώρα Δυτικής Ινδονησίας", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "HNPMX": "Χειμερινή ώρα Ειρηνικού Μεξικού", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "BT": "Ώρα Μπουτάν", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "SRT": "Ώρα Σουρινάμ", "HNOG": "Χειμερινή ώρα Δυτικής Γροιλανδίας", "ARST": "Θερινή ώρα Αργεντινής", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "CLT": "Χειμερινή ώρα Χιλής", "HNEG": "Χειμερινή ώρα Ανατολικής Γροιλανδίας", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "∅∅∅": "Θερινή ώρα Αζορών", "MYT": "Ώρα Μαλαισίας", "ADT": "Θερινή ώρα Ατλαντικού", "HNT": "Χειμερινή ώρα Νέας Γης", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "COT": "Χειμερινή ώρα Κολομβίας", "SGT": "Ώρα Σιγκαπούρης", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "BOT": "Ώρα Βολιβίας", "GYT": "Ώρα Γουιάνας", "WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "GFT": "Ώρα Γαλλικής Γουιάνας", "MST": "Χειμερινή ώρα Μακάο", "AST": "Χειμερινή ώρα Ατλαντικού", "LHST": "Χειμερινή ώρα Λορντ Χάου", "IST": "Ώρα Ινδίας", "LHDT": "Θερινή ώρα Λορντ Χάου", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "EAT": "Ώρα Ανατολικής Αφρικής", "UYT": "Χειμερινή ώρα Ουρουγουάης", "AKDT": "Θερινή ώρα Αλάσκας", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "ART": "Χειμερινή ώρα Αργεντινής", "HEPM": "Θερινή ώρα Σαιντ Πιερ και Μικελόν", "COST": "Θερινή ώρα Κολομβίας", "VET": "Ώρα Βενεζουέλας", "HEEG": "Θερινή ώρα Ανατολικής Γροιλανδίας", "TMST": "Θερινή ώρα Τουρκμενιστάν", "HEPMX": "Θερινή ώρα Ειρηνικού Μεξικού", "CLST": "Θερινή ώρα Χιλής", "ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "HENOMX": "Θερινή ώρα Βορειοδυτικού Μεξικού", "GMT": "Μέση ώρα Γκρίνουιτς", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "CHAST": "Χειμερινή ώρα Τσάθαμ", "JDT": "Θερινή ώρα Ιαπωνίας", "CAT": "Ώρα Κεντρικής Αφρικής", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "ECT": "Ώρα Εκουαδόρ", "MDT": "Θερινή ώρα Μακάο", "WIT": "Ώρα Ανατολικής Ινδονησίας", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "CHADT": "Θερινή ώρα Τσάθαμ", "JST": "Χειμερινή ώρα Ιαπωνίας", "AKST": "Χειμερινή ώρα Αλάσκας", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "WITA": "Ώρα Κεντρικής Ινδονησίας", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "HNNOMX": "Χειμερινή ώρα Βορειοδυτικού Μεξικού", "HNCU": "Χειμερινή ώρα Κούβας", "HECU": "Θερινή ώρα Κούβας", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "HAT": "Θερινή ώρα Νέας Γης"}, } } @@ -422,7 +422,12 @@ func (el *el_CY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +441,12 @@ func (el *el_CY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +462,12 @@ func (el *el_CY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/el_GR/el_GR.go b/el_GR/el_GR.go index 4bbc2ada1..6a26471c9 100644 --- a/el_GR/el_GR.go +++ b/el_GR/el_GR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"π.Χ.", "μ.Χ."}, erasNarrow: []string{"", ""}, erasWide: []string{"προ Χριστού", "μετά Χριστόν"}, - timezones: map[string]string{"WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "ADT": "Θερινή ώρα Ατλαντικού", "WITA": "Ώρα: Κεντρική Ινδονησία", "CLT": "Χειμερινή ώρα Χιλής", "GFT": "Ώρα Γαλλικής Γουιάνας", "VET": "Ώρα Βενεζουέλας", "WIB": "Ώρα: Δυτική Ινδονησία", "MYT": "Ώρα Μαλαισίας", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "CHADT": "Θερινή ώρα Τσάθαμ", "WARST": "Θερινή ώρα Δυτικής Αργεντινής", "AKDT": "Θερινή ώρα Αλάσκας", "AST": "Χειμερινή ώρα Ατλαντικού", "BT": "Ώρα Μπουτάν", "WIT": "Ώρα: Ανατολική Ινδονησία", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "∅∅∅": "∅∅∅", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "SGT": "Ώρα Σιγκαπούρης", "COST": "Θερινή ώρα Κολομβίας", "AKST": "Χειμερινή ώρα Αλάσκας", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "MST": "Ορεινή χειμερινή ώρα Βόρειας Αμερικής", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "HNT": "Χειμερινή ώρα Νέας Γης", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "LHST": "Χειμερινή ώρα Λορντ Χάου", "CHAST": "Χειμερινή ώρα Τσάθαμ", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "UYST": "Θερινή ώρα Ουρουγουάης", "ChST": "Ώρα Τσαμόρο", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "EAT": "Ώρα Ανατολικής Αφρικής", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "TMST": "Θερινή ώρα Τουρκμενιστάν", "ARST": "Θερινή ώρα Αργεντινής", "CAT": "Ώρα Κεντρικής Αφρικής", "HAT": "Θερινή ώρα Νέας Γης", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "ECT": "Ώρα Εκουαδόρ", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "UYT": "Χειμερινή ώρα Ουρουγουάης", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "CLST": "Θερινή ώρα Χιλής", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "PDT": "Θερινή ώρα Βόρειας Αμερικής", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "GMT": "Μέση ώρα Γκρίνουιτς", "JDT": "Θερινή ώρα Ιαπωνίας", "LHDT": "Θερινή ώρα Λορντ Χάου", "SRT": "Ώρα Σουρινάμ", "COT": "Χειμερινή ώρα Κολομβίας", "ART": "Χειμερινή ώρα Αργεντινής", "MDT": "Ορεινή θερινή ώρα Βόρειας Αμερικής", "BOT": "Ώρα Βολιβίας", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "IST": "Ώρα Ινδίας", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "GYT": "Ώρα Γουιάνας", "JST": "Χειμερινή ώρα Ιαπωνίας"}, + timezones: map[string]string{"WARST": "Θερινή ώρα Δυτικής Αργεντινής", "HKST": "Θερινή ώρα Χονγκ Κονγκ", "OESZ": "Θερινή ώρα Ανατολικής Ευρώπης", "SGT": "Ώρα Σιγκαπούρης", "JST": "Χειμερινή ώρα Ιαπωνίας", "BOT": "Ώρα Βολιβίας", "COT": "Χειμερινή ώρα Κολομβίας", "GYT": "Ώρα Γουιάνας", "UYT": "Χειμερινή ώρα Ουρουγουάης", "MESZ": "Θερινή ώρα Κεντρικής Ευρώπης", "NZDT": "Θερινή ώρα Νέας Ζηλανδίας", "WART": "Χειμερινή ώρα Δυτικής Αργεντινής", "COST": "Θερινή ώρα Κολομβίας", "ARST": "Θερινή ώρα Αργεντινής", "PST": "Χειμερινή ώρα Βόρειας Αμερικής", "AEST": "Χειμερινή ώρα Ανατολικής Αυστραλίας", "HKT": "Χειμερινή ώρα Χονγκ Κονγκ", "HEPM": "Θερινή ώρα Σαιντ Πιερ και Μικελόν", "MEZ": "Χειμερινή ώρα Κεντρικής Ευρώπης", "∅∅∅": "Θερινή ώρα Περού", "HEEG": "Θερινή ώρα Ανατολικής Γροιλανδίας", "AKDT": "Θερινή ώρα Αλάσκας", "CDT": "Κεντρική θερινή ώρα Βόρειας Αμερικής", "ART": "Χειμερινή ώρα Αργεντινής", "AWDT": "Θερινή ώρα Δυτικής Αυστραλίας", "HNPMX": "Χειμερινή ώρα Ειρηνικού Μεξικού", "WIT": "Ώρα Ανατολικής Ινδονησίας", "HNPM": "Χειμερινή ώρα Σαιντ Πιερ και Μικελόν", "CLST": "Θερινή ώρα Χιλής", "VET": "Ώρα Βενεζουέλας", "WIB": "Ώρα Δυτικής Ινδονησίας", "HADT": "Θερινή ώρα Χαβάης-Αλεούτιων νήσων", "BT": "Ώρα Μπουτάν", "HNT": "Χειμερινή ώρα Νέας Γης", "GFT": "Ώρα Γαλλικής Γουιάνας", "CAT": "Ώρα Κεντρικής Αφρικής", "SRT": "Ώρα Σουρινάμ", "HEOG": "Θερινή ώρα Δυτικής Γροιλανδίας", "NZST": "Χειμερινή ώρα Νέας Ζηλανδίας", "HNEG": "Χειμερινή ώρα Ανατολικής Γροιλανδίας", "ACDT": "Θερινή ώρα Κεντρικής Αυστραλίας", "HNNOMX": "Χειμερινή ώρα Βορειοδυτικού Μεξικού", "OEZ": "Χειμερινή ώρα Ανατολικής Ευρώπης", "UYST": "Θερινή ώρα Ουρουγουάης", "WESZ": "Θερινή ώρα Δυτικής Ευρώπης", "SAST": "Χειμερινή ώρα Νότιας Αφρικής", "IST": "Ώρα Ινδίας", "EAT": "Ώρα Ανατολικής Αφρικής", "HAST": "Χειμερινή ώρα Χαβάης-Αλεούτιων νήσων", "PDT": "Θερινή ώρα Βόρειας Αμερικής", "AWST": "Χειμερινή ώρα Δυτικής Αυστραλίας", "CHADT": "Θερινή ώρα Τσάθαμ", "TMT": "Χειμερινή ώρα Τουρκμενιστάν", "AST": "Χειμερινή ώρα Ατλαντικού", "HNCU": "Χειμερινή ώρα Κούβας", "ADT": "Θερινή ώρα Ατλαντικού", "AKST": "Χειμερινή ώρα Αλάσκας", "LHST": "Χειμερινή ώρα Λορντ Χάου", "WAST": "Θερινή ώρα Δυτικής Αφρικής", "EST": "Ανατολική χειμερινή ώρα Βόρειας Αμερικής", "EDT": "Ανατολική θερινή ώρα Βόρειας Αμερικής", "HEPMX": "Θερινή ώρα Ειρηνικού Μεξικού", "CST": "Κεντρική χειμερινή ώρα Βόρειας Αμερικής", "ACWDT": "Θερινή ώρα Κεντροδυτικής Αυστραλίας", "TMST": "Θερινή ώρα Τουρκμενιστάν", "ChST": "Ώρα Τσαμόρο", "WAT": "Χειμερινή ώρα Δυτικής Αφρικής", "MYT": "Ώρα Μαλαισίας", "CHAST": "Χειμερινή ώρα Τσάθαμ", "JDT": "Θερινή ώρα Ιαπωνίας", "ACST": "Χειμερινή ώρα Κεντρικής Αυστραλίας", "HENOMX": "Θερινή ώρα Βορειοδυτικού Μεξικού", "GMT": "Μέση ώρα Γκρίνουιτς", "MDT": "Θερινή ώρα Μακάο", "AEDT": "Θερινή ώρα Ανατολικής Αυστραλίας", "WITA": "Ώρα Κεντρικής Ινδονησίας", "CLT": "Χειμερινή ώρα Χιλής", "ECT": "Ώρα Εκουαδόρ", "WEZ": "Χειμερινή ώρα Δυτικής Ευρώπης", "HAT": "Θερινή ώρα Νέας Γης", "LHDT": "Θερινή ώρα Λορντ Χάου", "MST": "Χειμερινή ώρα Μακάο", "HNOG": "Χειμερινή ώρα Δυτικής Γροιλανδίας", "ACWST": "Χειμερινή ώρα Κεντροδυτικής Αυστραλίας", "HECU": "Θερινή ώρα Κούβας"}, } } @@ -422,7 +422,12 @@ func (el *el_GR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +441,12 @@ func (el *el_GR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +462,12 @@ func (el *el_GR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, el.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en/en.go b/en/en.go index 17938ddb0..035677a03 100644 --- a/en/en.go +++ b/en/en.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ChST": "Chamorro Standard Time", "LHDT": "Lord Howe Daylight Time", "JDT": "Japan Daylight Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "MST": "Mountain Standard Time", "ECT": "Ecuador Time", "AEDT": "Australian Eastern Daylight Time", "CDT": "Central Daylight Time", "GMT": "Greenwich Mean Time", "ACWST": "Australian Central Western Standard Time", "∅∅∅": "Peru Summer Time", "OESZ": "Eastern European Summer Time", "VET": "Venezuela Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "WARST": "Western Argentina Summer Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "AST": "Atlantic Standard Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "AKST": "Alaska Standard Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "HAST": "Hawaii-Aleutian Standard Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "CLT": "Chile Standard Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "MEZ": "Central European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "IST": "India Standard Time", "LHST": "Lord Howe Standard Time", "HKST": "Hong Kong Summer Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "ARST": "Argentina Summer Time", "OEZ": "Eastern European Standard Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "SGT": "Singapore Standard Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "AWST": "Australian Western Standard Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time"}, + timezones: map[string]string{"SRT": "Suriname Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "WAST": "West Africa Summer Time", "WART": "Western Argentina Standard Time", "BT": "Bhutan Time", "HEOG": "West Greenland Summer Time", "ACWST": "Australian Central Western Standard Time", "JDT": "Japan Daylight Time", "TMST": "Turkmenistan Summer Time", "HEEG": "East Greenland Summer Time", "MYT": "Malaysia Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JST": "Japan Standard Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "MST": "Mountain Standard Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HKT": "Hong Kong Standard Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "MDT": "Mountain Daylight Time", "ACST": "Australian Central Standard Time", "GMT": "Greenwich Mean Time", "AKDT": "Alaska Daylight Time", "VET": "Venezuela Time", "AWDT": "Australian Western Daylight Time", "CLT": "Chile Standard Time", "BOT": "Bolivia Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "HAT": "Newfoundland Daylight Time", "ChST": "Chamorro Standard Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "LHST": "Lord Howe Standard Time", "MEZ": "Central European Standard Time", "WEZ": "Western European Standard Time", "CHAST": "Chatham Standard Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "WIB": "Western Indonesia Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "WITA": "Central Indonesia Time", "ARST": "Argentina Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "WIT": "Eastern Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "HNOG": "West Greenland Standard Time", "PDT": "Pacific Daylight Time", "GYT": "Guyana Time", "HADT": "Hawaii-Aleutian Daylight Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "TMT": "Turkmenistan Standard Time", "ECT": "Ecuador Time", "LHDT": "Lord Howe Daylight Time"}, } } @@ -112,8 +112,8 @@ func (en *en) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_001/en_001.go b/en_001/en_001.go index 2ac8164cf..27884a8f2 100644 --- a/en_001/en_001.go +++ b/en_001/en_001.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "AEST": "Australian Eastern Standard Time", "WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "UYT": "Uruguay Standard Time", "MEZ": "Central European Standard Time", "ARST": "Argentina Summer Time", "WART": "Western Argentina Standard Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "OEZ": "Eastern European Standard Time", "MESZ": "Central European Summer Time", "AEDT": "Australian Eastern Daylight Time", "CLST": "Chile Summer Time", "SRT": "Suriname Time", "OESZ": "Eastern European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "AST": "Atlantic Standard Time", "SGT": "Singapore Standard Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "MDT": "Mountain Daylight Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "AKDT": "Alaska Daylight Time", "WESZ": "Western European Summer Time", "COT": "Colombia Standard Time", "ECT": "Ecuador Time", "SAST": "South Africa Standard Time", "PDT": "Pacific Daylight Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "CHADT": "Chatham Daylight Time", "ACDT": "Australian Central Daylight Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "LHST": "Lord Howe Standard Time", "ACWDT": "Australian Central Western Daylight Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "ACWST": "Australian Central Western Standard Time", "JST": "Japan Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "ART": "Argentina Standard Time", "MST": "Mountain Standard Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "ACST": "Australian Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "GYT": "Guyana Time", "∅∅∅": "Azores Summer Time", "HKT": "Hong Kong Standard Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "TMT": "Turkmenistan Standard Time"}, + timezones: map[string]string{"GFT": "French Guiana Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "SAST": "South Africa Standard Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "IST": "India Standard Time", "CDT": "Central Daylight Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "HEEG": "East Greenland Summer Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "HEOG": "West Greenland Summer Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "ARST": "Argentina Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "WAT": "West Africa Standard Time", "EDT": "Eastern Daylight Time", "VET": "Venezuela Time", "HNEG": "East Greenland Standard Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "HKT": "Hong Kong Standard Time", "WART": "Western Argentina Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "CST": "Central Standard Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "PDT": "Pacific Daylight Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Peru Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "PST": "Pacific Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLT": "Chile Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "HNOG": "West Greenland Standard Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "AWDT": "Australian Western Daylight Time"}, } } @@ -419,7 +419,12 @@ func (en *en_001) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +438,12 @@ func (en *en_001) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (en *en_001) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +478,12 @@ func (en *en_001) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_150/en_150.go b/en_150/en_150.go index b9b80449f..2035504d2 100644 --- a/en_150/en_150.go +++ b/en_150/en_150.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIB": "Western Indonesia Time", "BOT": "Bolivia Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "AEST": "Australian Eastern Standard Time", "MST": "Mountain Standard Time", "NZDT": "New Zealand Daylight Time", "GFT": "French Guiana Time", "COT": "Colombia Standard Time", "CDT": "Central Daylight Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Peru Summer Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "MDT": "Mountain Daylight Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ARST": "Argentina Summer Time", "WAT": "West Africa Standard Time", "MEZ": "Central European Standard Time", "TMST": "Turkmenistan Summer Time", "HAT": "Newfoundland Daylight Time", "GMT": "Greenwich Mean Time", "ART": "Argentina Standard Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "ACDT": "Australian Central Daylight Time", "WEZ": "Western European Standard Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "NZST": "New Zealand Standard Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "LHST": "Lord Howe Standard Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "EDT": "Eastern Daylight Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "CLST": "Chile Summer Time", "SRT": "Suriname Time", "ACWDT": "Australian Central Western Daylight Time", "ADT": "Atlantic Daylight Time", "WAST": "West Africa Summer Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "WITA": "Central Indonesia Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "CAT": "Central Africa Time", "COST": "Colombia Summer Time", "PST": "Pacific Standard Time", "AST": "Atlantic Standard Time", "ChST": "Chamorro Standard Time", "AKDT": "Alaska Daylight Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "IST": "India Standard Time", "HKST": "Hong Kong Summer Time"}, + timezones: map[string]string{"HEEG": "East Greenland Summer Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "WIB": "Western Indonesia Time", "AEST": "Australian Eastern Standard Time", "NZST": "New Zealand Standard Time", "EAT": "East Africa Time", "HECU": "Cuba Daylight Time", "CHADT": "Chatham Daylight Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "MYT": "Malaysia Time", "CDT": "Central Daylight Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "IST": "India Standard Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "OESZ": "Eastern European Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "ADT": "Atlantic Daylight Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "VET": "Venezuela Time", "HEPMX": "Mexican Pacific Daylight Time", "SRT": "Suriname Time", "HNPM": "St. Pierre & Miquelon Standard Time", "WAST": "West Africa Summer Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "MEZ": "Central European Standard Time", "BT": "Bhutan Time", "CHAST": "Chatham Standard Time", "LHDT": "Lord Howe Daylight Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "ARST": "Argentina Summer Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MESZ": "Central European Summer Time", "WARST": "Western Argentina Summer Time", "CST": "Central Standard Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "WIT": "Eastern Indonesia Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "GFT": "French Guiana Time", "∅∅∅": "Peru Summer Time", "AST": "Atlantic Standard Time", "CLT": "Chile Standard Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "MST": "Macau Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACST": "Australian Central Standard Time", "ECT": "Ecuador Time", "ART": "Argentina Standard Time", "JST": "Japan Standard Time", "CAT": "Central Africa Time", "EST": "Eastern Standard Time", "HNPMX": "Mexican Pacific Standard Time", "GYT": "Guyana Time", "ACWDT": "Australian Central Western Daylight Time", "SAST": "South Africa Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_150) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_150) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -423,7 +423,12 @@ func (en *en_150) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +442,12 @@ func (en *en_150) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (en *en_150) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_AG/en_AG.go b/en_AG/en_AG.go index 1fae7caa1..5b1491342 100644 --- a/en_AG/en_AG.go +++ b/en_AG/en_AG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"GYT": "Guyana Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "UYST": "Uruguay Summer Time", "WESZ": "Western European Summer Time", "TMT": "Turkmenistan Standard Time", "AWDT": "Australian Western Daylight Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "AST": "Atlantic Standard Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "GFT": "French Guiana Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "MDT": "Mountain Daylight Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "HKT": "Hong Kong Standard Time", "TMST": "Turkmenistan Summer Time", "AWST": "Australian Western Standard Time", "VET": "Venezuela Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "SAST": "South Africa Standard Time", "AKDT": "Alaska Daylight Time", "JDT": "Japan Daylight Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "∅∅∅": "Peru Summer Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "WEZ": "Western European Standard Time", "WAT": "West Africa Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WAST": "West Africa Summer Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "JST": "Japan Standard Time", "COT": "Colombia Standard Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "ACWDT": "Australian Central Western Daylight Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "PST": "Pacific Standard Time"}, + timezones: map[string]string{"IST": "India Standard Time", "MDT": "Macau Summer Time", "ADT": "Atlantic Daylight Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "MST": "Macau Standard Time", "HNPMX": "Mexican Pacific Standard Time", "SRT": "Suriname Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HECU": "Cuba Daylight Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "CHAST": "Chatham Standard Time", "CLST": "Chile Summer Time", "ACST": "Australian Central Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "ARST": "Argentina Summer Time", "ECT": "Ecuador Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CHADT": "Chatham Daylight Time", "∅∅∅": "Amazon Summer Time", "JST": "Japan Standard Time", "EST": "Eastern Standard Time", "BT": "Bhutan Time", "HEEG": "East Greenland Summer Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "AST": "Atlantic Standard Time", "ART": "Argentina Standard Time", "SAST": "South Africa Standard Time", "OEZ": "Eastern European Standard Time", "AKST": "Alaska Standard Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "HNEG": "East Greenland Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ChST": "Chamorro Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "GYT": "Guyana Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "HNOG": "West Greenland Standard Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "UYT": "Uruguay Standard Time", "HNT": "Newfoundland Standard Time", "HEOG": "West Greenland Summer Time", "AWDT": "Australian Western Daylight Time", "MESZ": "Central European Summer Time", "GFT": "French Guiana Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time"}, } } @@ -112,8 +112,8 @@ func (en *en_AG) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_AG) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_AG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_AG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_AG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_AI/en_AI.go b/en_AI/en_AI.go index 47a2b16af..3daf091d4 100644 --- a/en_AI/en_AI.go +++ b/en_AI/en_AI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"LHDT": "Lord Howe Daylight Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "WART": "Western Argentina Standard Time", "IST": "India Standard Time", "NZDT": "New Zealand Daylight Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "COT": "Colombia Standard Time", "MST": "Mountain Standard Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "EAT": "East Africa Time", "HNT": "Newfoundland Standard Time", "ACDT": "Australian Central Daylight Time", "ChST": "Chamorro Standard Time", "HAT": "Newfoundland Daylight Time", "WEZ": "Western European Standard Time", "CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "WAT": "West Africa Standard Time", "OEZ": "Eastern European Standard Time", "BT": "Bhutan Time", "CLST": "Chile Summer Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "∅∅∅": "Brasilia Summer Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "AST": "Atlantic Standard Time", "PDT": "Pacific Daylight Time", "WITA": "Central Indonesia Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "ECT": "Ecuador Time", "ACWST": "Australian Central Western Standard Time", "TMST": "Turkmenistan Summer Time", "NZST": "New Zealand Standard Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "ADT": "Atlantic Daylight Time", "AKST": "Alaska Standard Time", "JDT": "Japan Daylight Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "AEST": "Australian Eastern Standard Time", "ARST": "Argentina Summer Time", "CLT": "Chile Standard Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "CDT": "Central Daylight Time", "MDT": "Mountain Daylight Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "LHST": "Lord Howe Standard Time", "ART": "Argentina Standard Time", "PST": "Pacific Standard Time", "AKDT": "Alaska Daylight Time", "GYT": "Guyana Time"}, + timezones: map[string]string{"ECT": "Ecuador Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "HAT": "Newfoundland Daylight Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "BT": "Bhutan Time", "HEOG": "West Greenland Summer Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "MDT": "Macau Summer Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "WART": "Western Argentina Standard Time", "ACST": "Australian Central Standard Time", "WIT": "Eastern Indonesia Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ACDT": "Australian Central Daylight Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MEZ": "Central European Standard Time", "PDT": "Pacific Daylight Time", "ACWST": "Australian Central Western Standard Time", "IST": "India Standard Time", "CLT": "Chile Standard Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "HECU": "Cuba Daylight Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "CST": "Central Standard Time", "HNOG": "West Greenland Standard Time", "MST": "Macau Standard Time", "HNPMX": "Mexican Pacific Standard Time", "JDT": "Japan Daylight Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HNCU": "Cuba Standard Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "ARST": "Argentina Summer Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "ART": "Argentina Standard Time", "HNT": "Newfoundland Standard Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "CHADT": "Chatham Daylight Time", "CLST": "Chile Summer Time", "TMT": "Turkmenistan Standard Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "EDT": "Eastern Daylight Time", "WESZ": "Western European Summer Time", "AKDT": "Alaska Daylight Time", "SRT": "Suriname Time"}, } } @@ -112,8 +112,8 @@ func (en *en_AI) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_AI) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_AI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_AI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_AI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_AS/en_AS.go b/en_AS/en_AS.go index 442914f52..5d4af08d9 100644 --- a/en_AS/en_AS.go +++ b/en_AS/en_AS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZDT": "New Zealand Daylight Time", "HNT": "Newfoundland Standard Time", "ECT": "Ecuador Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "SRT": "Suriname Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "IST": "India Standard Time", "TMT": "Turkmenistan Standard Time", "WIT": "Eastern Indonesia Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "AWST": "Australian Western Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "COT": "Colombia Standard Time", "ACWST": "Australian Central Western Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "MDT": "Macau Summer Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Brasilia Summer Time", "SGT": "Singapore Standard Time", "GYT": "Guyana Time", "ChST": "Chamorro Standard Time", "CLT": "Chile Standard Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "OEZ": "Eastern European Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WAT": "West Africa Standard Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "HKT": "Hong Kong Standard Time", "ACDT": "Australian Central Daylight Time", "MYT": "Malaysia Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "VET": "Venezuela Time", "TMST": "Turkmenistan Summer Time", "MST": "Macau Standard Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "CHADT": "Chatham Daylight Time", "COST": "Colombia Summer Time", "AEST": "Australian Eastern Standard Time", "GMT": "Greenwich Mean Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "CDT": "Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time"}, + timezones: map[string]string{"GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time", "CHAST": "Chatham Standard Time", "CLT": "Chile Standard Time", "OESZ": "Eastern European Summer Time", "HNCU": "Cuba Standard Time", "WEZ": "Western European Standard Time", "ARST": "Argentina Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SGT": "Singapore Standard Time", "AEST": "Australian Eastern Standard Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "ACDT": "Australian Central Daylight Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "VET": "Venezuela Time", "HKST": "Hong Kong Summer Time", "WIT": "Eastern Indonesia Time", "HNOG": "West Greenland Standard Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "MESZ": "Central European Summer Time", "CLST": "Chile Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "AKST": "Alaska Standard Time", "MEZ": "Central European Standard Time", "JST": "Japan Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AKDT": "Alaska Daylight Time", "∅∅∅": "Amazon Summer Time", "JDT": "Japan Daylight Time", "BOT": "Bolivia Time", "WAST": "West Africa Summer Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "SRT": "Suriname Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "ART": "Argentina Standard Time", "MST": "Macau Standard Time", "CST": "Central Standard Time", "HKT": "Hong Kong Standard Time", "GFT": "French Guiana Time", "HECU": "Cuba Daylight Time", "GYT": "Guyana Time", "HEOG": "West Greenland Summer Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "HEEG": "East Greenland Summer Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "UYST": "Uruguay Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MDT": "Macau Summer Time", "AST": "Atlantic Standard Time", "WIB": "Western Indonesia Time", "AWST": "Australian Western Standard Time", "WITA": "Central Indonesia Time", "CHADT": "Chatham Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_AS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_AS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_AS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_AT/en_AT.go b/en_AT/en_AT.go index 233a37b59..fda344e25 100644 --- a/en_AT/en_AT.go +++ b/en_AT/en_AT.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "ChST": "Chamorro Standard Time", "JDT": "Japan Daylight Time", "MEZ": "Central European Standard Time", "AEDT": "Australian Eastern Daylight Time", "PDT": "Pacific Daylight Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "COT": "Colombia Standard Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "SGT": "Singapore Standard Time", "MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "ACWDT": "Australian Central Western Daylight Time", "MDT": "Mountain Daylight Time", "JST": "Japan Standard Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "AWDT": "Australian Western Daylight Time", "COST": "Colombia Summer Time", "ART": "Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "IST": "India Standard Time", "WAST": "West Africa Summer Time", "WITA": "Central Indonesia Time", "BOT": "Bolivia Time", "HAT": "Newfoundland Daylight Time", "ACWST": "Australian Central Western Standard Time", "ADT": "Atlantic Daylight Time", "SAST": "South Africa Standard Time", "OEZ": "Eastern European Standard Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "TMT": "Turkmenistan Standard Time", "∅∅∅": "Azores Summer Time", "CDT": "Central Daylight Time", "VET": "Venezuela Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "WARST": "Western Argentina Summer Time", "MST": "Mountain Standard Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "MESZ": "Central European Summer Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "EAT": "East Africa Time", "CAT": "Central Africa Time", "ARST": "Argentina Summer Time", "EST": "Eastern Standard Time", "CLST": "Chile Summer Time", "CHADT": "Chatham Daylight Time", "HKT": "Hong Kong Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "CLT": "Chile Standard Time", "BT": "Bhutan Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "WIB": "Western Indonesia Time", "OESZ": "Eastern European Summer Time"}, + timezones: map[string]string{"WAST": "West Africa Summer Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "TMST": "Turkmenistan Summer Time", "HEEG": "East Greenland Summer Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "ARST": "Argentina Summer Time", "ACWDT": "Australian Central Western Daylight Time", "NZDT": "New Zealand Daylight Time", "MDT": "Macau Summer Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MEZ": "Central European Standard Time", "HNCU": "Cuba Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "GMT": "Greenwich Mean Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "AWDT": "Australian Western Daylight Time", "ChST": "Chamorro Standard Time", "EAT": "East Africa Time", "HNPMX": "Mexican Pacific Standard Time", "PST": "Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "BOT": "Bolivia Time", "HENOMX": "Northwest Mexico Daylight Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "ACST": "Australian Central Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "EDT": "Eastern Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "AKST": "Alaska Standard Time", "JST": "Japan Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "SGT": "Singapore Standard Time", "MST": "Macau Standard Time", "GYT": "Guyana Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "∅∅∅": "Peru Summer Time", "WAT": "West Africa Standard Time", "NZST": "New Zealand Standard Time", "IST": "India Standard Time", "WART": "Western Argentina Standard Time", "AKDT": "Alaska Daylight Time", "HNOG": "West Greenland Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "SRT": "Suriname Time", "HEOG": "West Greenland Summer Time", "LHDT": "Lord Howe Daylight Time", "GFT": "French Guiana Time", "CAT": "Central Africa Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "COST": "Colombia Summer Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "WIT": "Eastern Indonesia Time", "ACWST": "Australian Central Western Standard Time", "HKT": "Hong Kong Standard Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "AWST": "Australian Western Standard Time", "HNEG": "East Greenland Standard Time", "HECU": "Cuba Daylight Time"}, } } @@ -440,7 +440,12 @@ func (en *en_AT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +459,12 @@ func (en *en_AT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +480,12 @@ func (en *en_AT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_AU/en_AU.go b/en_AU/en_AU.go index 8bc529db1..65c3426d3 100644 --- a/en_AU/en_AU.go +++ b/en_AU/en_AU.go @@ -55,11 +55,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "Tk", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "$b", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "₱", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "£", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "Kr", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "Gs", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "Rs", "SDD", "SDG", "SDP", "Kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "$U", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFP", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "Tk", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "$b", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "₱", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "£", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "Kr", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "Gs", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "Rs", "SDD", "SDG", "SDP", "Kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "$U", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFP", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."}, - monthsNarrow: []string{"", "Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}, daysAbbreviated: []string{"Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri.", "Sat."}, daysNarrow: []string{"Su.", "M.", "Tu.", "W.", "Th.", "F.", "Sa."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HAT": "Newfoundland Daylight Time", "WIT": "Eastern Indonesia Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "ChST": "Chamorro Standard Time", "LHDT": "Lord Howe Daylight Time", "UYST": "Uruguay Summer Time", "WAT": "West Africa Standard Time", "HNT": "Newfoundland Standard Time", "MEZ": "Central European Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "EAT": "Eastern Africa Time", "NZDT": "New Zealand Daylight Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "TMT": "Turkmenistan Standard Time", "WARST": "Western Argentina Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "MDT": "Macau Summer Time", "BT": "Bhutan Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "MST": "Macau Standard Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "TMST": "Turkmenistan Summer Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "ART": "Argentina Standard Time", "CAT": "Central Africa Time", "ACDT": "Australian Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "IST": "India Standard Time", "CDT": "Central Daylight Time", "JST": "Japan Standard Time", "LHST": "Lord Howe Standard Time", "WESZ": "Western European Summer Time", "ADT": "Atlantic Daylight Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WITA": "Central Indonesia Time", "AWST": "Australian Western Standard Time", "∅∅∅": "Brasilia Summer Time", "UYT": "Uruguay Standard Time", "CHADT": "Chatham Daylight Time", "ARST": "Argentina Summer Time", "VET": "Venezuela Time", "WAST": "West Africa Summer Time", "MYT": "Malaysia Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "JDT": "Japan Summer Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "AWDT": "Australian Western Daylight Time"}, + timezones: map[string]string{"ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "PST": "Pacific Standard Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "SAST": "South Africa Standard Time", "LHST": "Lord Howe Standard Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "WEZ": "Western European Standard Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "∅∅∅": "Amazon Summer Time", "OESZ": "Eastern European Summer Time", "HECU": "Cuba Daylight Time", "ADT": "Atlantic Daylight Time", "HNT": "Newfoundland Standard Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "ARST": "Argentina Summer Time", "MYT": "Malaysia Time", "WIB": "Western Indonesia Time", "HNOG": "West Greenland Standard Time", "CLST": "Chile Summer Time", "WAST": "West Africa Summer Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "CHADT": "Chatham Daylight Time", "CST": "Central Standard Time", "WAT": "West Africa Standard Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "JDT": "Japan Summer Time", "ACDT": "Australian Central Daylight Time", "JST": "Japan Standard Time", "CLT": "Chile Standard Time", "EAT": "Eastern Africa Time", "SGT": "Singapore Standard Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "PDT": "Pacific Daylight Time", "MDT": "Macau Summer Time", "WIT": "Eastern Indonesia Time", "BT": "Bhutan Time", "HEOG": "West Greenland Summer Time", "ACST": "Australian Central Standard Time", "MST": "Macau Standard Time", "WESZ": "Western European Summer Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "ECT": "Ecuador Time", "HEPMX": "Mexican Pacific Daylight Time", "AKST": "Alaska Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "MESZ": "Central European Summer Time", "ACWST": "Australian Central Western Standard Time", "HNCU": "Cuba Standard Time", "GYT": "Guyana Time", "NZST": "New Zealand Standard Time", "OEZ": "Eastern European Standard Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "HENOMX": "Northwest Mexico Daylight Time", "WART": "Western Argentina Standard Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "LHDT": "Lord Howe Daylight Time", "HNEG": "East Greenland Standard Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time"}, } } @@ -112,8 +112,8 @@ func (en *en_AU) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_AU) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_AU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_AU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_AU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BB/en_BB.go b/en_BB/en_BB.go index 10c6aa2e0..9cb4aaaf2 100644 --- a/en_BB/en_BB.go +++ b/en_BB/en_BB.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "$", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "$", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "PDT": "Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "WIT": "Eastern Indonesia Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "MST": "Mountain Standard Time", "OEZ": "Eastern European Standard Time", "CHADT": "Chatham Daylight Time", "WITA": "Central Indonesia Time", "COST": "Colombia Summer Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "ACST": "Australian Central Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "WAST": "West Africa Summer Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "UYST": "Uruguay Summer Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "MDT": "Mountain Daylight Time", "MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "∅∅∅": "Brasilia Summer Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "IST": "India Standard Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "AWDT": "Australian Western Daylight Time"}, + timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "HEPMX": "Mexican Pacific Daylight Time", "WARST": "Western Argentina Summer Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "HNCU": "Cuba Standard Time", "CDT": "Central Daylight Time", "HKST": "Hong Kong Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "MDT": "Mountain Daylight Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CLST": "Chile Summer Time", "SGT": "Singapore Standard Time", "HECU": "Cuba Daylight Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "EST": "Eastern Standard Time", "OEZ": "Eastern European Standard Time", "MST": "Mountain Standard Time", "SRT": "Suriname Time", "ARST": "Argentina Summer Time", "MESZ": "Central European Summer Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "EAT": "East Africa Time", "PDT": "Pacific Daylight Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "ChST": "Chamorro Standard Time", "UYT": "Uruguay Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time", "HEOG": "West Greenland Summer Time", "SAST": "South Africa Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "∅∅∅": "Amazon Summer Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "GYT": "Guyana Time", "AEST": "Australian Eastern Standard Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "ACWST": "Australian Central Western Standard Time", "HNOG": "West Greenland Standard Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "MEZ": "Central European Standard Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "WAT": "West Africa Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "CLT": "Chile Standard Time", "MYT": "Malaysia Time", "HNPMX": "Mexican Pacific Standard Time", "UYST": "Uruguay Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_BB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_BB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_BB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BE/en_BE.go b/en_BE/en_BE.go index c985c51f1..8cb9c2372 100644 --- a/en_BE/en_BE.go +++ b/en_BE/en_BE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "AST": "Atlantic Standard Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "COST": "Colombia Summer Time", "WAT": "West Africa Standard Time", "SAST": "South Africa Standard Time", "HAT": "Newfoundland Daylight Time", "JDT": "Japan Daylight Time", "SRT": "Suriname Time", "WEZ": "Western European Standard Time", "AWDT": "Australian Western Daylight Time", "ADT": "Atlantic Daylight Time", "ChST": "Chamorro Standard Time", "GYT": "Guyana Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "UYT": "Uruguay Standard Time", "∅∅∅": "Acre Summer Time", "ACWST": "Australian Central Western Standard Time", "JST": "Japan Standard Time", "CHADT": "Chatham Daylight Time", "TMST": "Turkmenistan Summer Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "OESZ": "Eastern European Summer Time", "MEZ": "Central European Standard Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "ACDT": "Australian Central Daylight Time", "ART": "Argentina Standard Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "HNT": "Newfoundland Standard Time", "SGT": "Singapore Standard Time", "VET": "Venezuela Time", "WITA": "Central Indonesia Time", "CDT": "Central Daylight Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "LHDT": "Lord Howe Daylight Time", "MDT": "Mountain Daylight Time", "LHST": "Lord Howe Standard Time", "EDT": "Eastern Daylight Time", "OEZ": "Eastern European Standard Time", "WESZ": "Western European Summer Time", "BOT": "Bolivia Time", "NZST": "New Zealand Standard Time", "ECT": "Ecuador Time", "AKST": "Alaska Standard Time", "GFT": "French Guiana Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "MST": "Mountain Standard Time", "WIT": "Eastern Indonesia Time", "HKST": "Hong Kong Summer Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time"}, + timezones: map[string]string{"HEEG": "East Greenland Summer Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "ACDT": "Australian Central Daylight Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time", "HNCU": "Cuba Standard Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "CLST": "Chile Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HAT": "Newfoundland Daylight Time", "AWDT": "Australian Western Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JST": "Japan Standard Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "MESZ": "Central European Summer Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "HEOG": "West Greenland Summer Time", "GFT": "French Guiana Time", "ADT": "Atlantic Daylight Time", "HKT": "Hong Kong Standard Time", "LHDT": "Lord Howe Daylight Time", "WAT": "West Africa Standard Time", "MST": "Macau Standard Time", "CDT": "Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "CST": "Central Standard Time", "ARST": "Argentina Summer Time", "HNEG": "East Greenland Standard Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "HECU": "Cuba Daylight Time", "HNOG": "West Greenland Standard Time", "PDT": "Pacific Daylight Time", "WITA": "Central Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "OEZ": "Eastern European Standard Time", "WAST": "West Africa Summer Time", "UYT": "Uruguay Standard Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "AWST": "Australian Western Standard Time", "GYT": "Guyana Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "BT": "Bhutan Time", "SRT": "Suriname Time", "PST": "Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "∅∅∅": "Peru Summer Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time"}, } } @@ -437,7 +437,12 @@ func (en *en_BE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +456,12 @@ func (en *en_BE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,7 +477,12 @@ func (en *en_BE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BI/en_BI.go b/en_BI/en_BI.go index 062644648..225240b4f 100644 --- a/en_BI/en_BI.go +++ b/en_BI/en_BI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "GFT": "French Guiana Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "WARST": "Western Argentina Summer Time", "LHST": "Lord Howe Standard Time", "OESZ": "Eastern European Summer Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "AKST": "Alaska Standard Time", "TMST": "Turkmenistan Summer Time", "NZST": "New Zealand Standard Time", "AEST": "Australian Eastern Standard Time", "MDT": "Mountain Daylight Time", "WIT": "Eastern Indonesia Time", "CAT": "Central Africa Time", "UYT": "Uruguay Standard Time", "CHAST": "Chatham Standard Time", "WART": "Western Argentina Standard Time", "PDT": "Pacific Daylight Time", "∅∅∅": "Peru Summer Time", "BT": "Bhutan Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "EST": "Eastern Standard Time", "PST": "Pacific Standard Time", "TMT": "Turkmenistan Standard Time", "MEZ": "Central European Standard Time", "HKST": "Hong Kong Summer Time", "ChST": "Chamorro Standard Time", "JST": "Japan Standard Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "AST": "Atlantic Standard Time", "GMT": "Greenwich Mean Time", "COST": "Colombia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "OEZ": "Eastern European Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "SGT": "Singapore Standard Time", "SAST": "South Africa Standard Time", "GYT": "Guyana Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "WITA": "Central Indonesia Time", "MST": "Mountain Standard Time", "UYST": "Uruguay Summer Time", "WESZ": "Western European Summer Time", "ACST": "Australian Central Standard Time", "WIB": "Western Indonesia Time", "MESZ": "Central European Summer Time", "COT": "Colombia Standard Time", "AEDT": "Australian Eastern Daylight Time", "EAT": "East Africa Time", "IST": "India Standard Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "WEZ": "Western European Standard Time", "ART": "Argentina Standard Time", "WAST": "West Africa Summer Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "SRT": "Suriname Time"}, + timezones: map[string]string{"HECU": "Cuba Daylight Time", "MESZ": "Central European Summer Time", "OEZ": "Eastern European Standard Time", "WIB": "Western Indonesia Time", "NZST": "New Zealand Standard Time", "CAT": "Central Africa Time", "∅∅∅": "Peru Summer Time", "GMT": "Greenwich Mean Time", "HEPMX": "Mexican Pacific Daylight Time", "SRT": "Suriname Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "CHAST": "Chatham Standard Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "UYST": "Uruguay Summer Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "ChST": "Chamorro Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "HEOG": "West Greenland Summer Time", "HKST": "Hong Kong Summer Time", "NZDT": "New Zealand Daylight Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "ADT": "Atlantic Daylight Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "CHADT": "Chatham Daylight Time", "ECT": "Ecuador Time", "MST": "Macau Standard Time", "MYT": "Malaysia Time", "JDT": "Japan Daylight Time", "EST": "Eastern Standard Time", "AKST": "Alaska Standard Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "OESZ": "Eastern European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "LHDT": "Lord Howe Daylight Time", "WIT": "Eastern Indonesia Time", "WAT": "West Africa Standard Time", "UYT": "Uruguay Standard Time", "GYT": "Guyana Time", "BT": "Bhutan Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "HNCU": "Cuba Standard Time", "COST": "Colombia Summer Time", "MDT": "Macau Summer Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "WART": "Western Argentina Standard Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "AWST": "Australian Western Standard Time", "IST": "India Standard Time", "HNEG": "East Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "HNPMX": "Mexican Pacific Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_BI) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_BI) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_BI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_BI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_BI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BM/en_BM.go b/en_BM/en_BM.go index e595feb02..5d8680f55 100644 --- a/en_BM/en_BM.go +++ b/en_BM/en_BM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WAST": "West Africa Summer Time", "CLST": "Chile Summer Time", "COT": "Colombia Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "ARST": "Argentina Summer Time", "GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "SGT": "Singapore Standard Time", "COST": "Colombia Summer Time", "LHDT": "Lord Howe Daylight Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "NZDT": "New Zealand Daylight Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "CHAST": "Chatham Standard Time", "PDT": "Pacific Daylight Time", "MST": "Mountain Standard Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "GYT": "Guyana Time", "NZST": "New Zealand Standard Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "OESZ": "Eastern European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WART": "Western Argentina Standard Time", "WESZ": "Western European Summer Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "JDT": "Japan Daylight Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "CAT": "Central Africa Time", "CLT": "Chile Standard Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "WARST": "Western Argentina Summer Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "CDT": "Central Daylight Time", "MDT": "Mountain Daylight Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "ACWST": "Australian Central Western Standard Time", "TMST": "Turkmenistan Summer Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "IST": "India Standard Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "∅∅∅": "Acre Summer Time", "MESZ": "Central European Summer Time", "ECT": "Ecuador Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time"}, + timezones: map[string]string{"AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "AKST": "Alaska Standard Time", "WIB": "Western Indonesia Time", "HKT": "Hong Kong Standard Time", "HNEG": "East Greenland Standard Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "CDT": "Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "HEPMX": "Mexican Pacific Daylight Time", "UYT": "Uruguay Standard Time", "TMT": "Turkmenistan Standard Time", "ACWST": "Australian Central Western Standard Time", "LHDT": "Lord Howe Daylight Time", "ACST": "Australian Central Standard Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "SGT": "Singapore Standard Time", "GYT": "Guyana Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "GFT": "French Guiana Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WITA": "Central Indonesia Time", "GMT": "Greenwich Mean Time", "EDT": "Eastern Daylight Time", "ChST": "Chamorro Standard Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "ADT": "Atlantic Daylight Time", "PDT": "Pacific Daylight Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "EST": "Eastern Standard Time", "UYST": "Uruguay Summer Time", "SRT": "Suriname Time", "HNOG": "West Greenland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "BOT": "Bolivia Time", "HNPMX": "Mexican Pacific Standard Time", "HNT": "Newfoundland Standard Time", "NZST": "New Zealand Standard Time", "ACDT": "Australian Central Daylight Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "HNCU": "Cuba Standard Time", "OESZ": "Eastern European Summer Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "HEOG": "West Greenland Summer Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "CLST": "Chile Summer Time", "MDT": "Macau Summer Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "MST": "Macau Standard Time", "MYT": "Malaysia Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHAST": "Chatham Standard Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_BM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_BM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_BM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BS/en_BS.go b/en_BS/en_BS.go index ade4e9401..56b2ef049 100644 --- a/en_BS/en_BS.go +++ b/en_BS/en_BS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "$", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "$", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "ART": "Argentina Standard Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "AEDT": "Australian Eastern Daylight Time", "TMT": "Turkmenistan Standard Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "HAT": "Newfoundland Daylight Time", "ACWST": "Australian Central Western Standard Time", "NZST": "New Zealand Standard Time", "LHDT": "Lord Howe Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "∅∅∅": "Azores Summer Time", "CAT": "Central Africa Time", "PST": "Pacific Standard Time", "ChST": "Chamorro Standard Time", "WESZ": "Western European Summer Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "MDT": "Mountain Daylight Time", "AWST": "Australian Western Standard Time", "JST": "Japan Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "HNT": "Newfoundland Standard Time", "WAST": "West Africa Summer Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "ARST": "Argentina Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "PDT": "Pacific Daylight Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "AEST": "Australian Eastern Standard Time", "IST": "India Standard Time", "MST": "Mountain Standard Time", "CST": "Central Standard Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "GFT": "French Guiana Time", "WARST": "Western Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "AST": "Atlantic Standard Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "CLT": "Chile Standard Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "EAT": "East Africa Time", "SRT": "Suriname Time", "ACDT": "Australian Central Daylight Time", "LHST": "Lord Howe Standard Time", "COT": "Colombia Standard Time"}, + timezones: map[string]string{"WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "MYT": "Malaysia Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "BOT": "Bolivia Time", "WAT": "West Africa Standard Time", "AEDT": "Australian Eastern Daylight Time", "ChST": "Chamorro Standard Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "HEOG": "West Greenland Summer Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time", "GMT": "Greenwich Mean Time", "BT": "Bhutan Time", "HNOG": "West Greenland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "MEZ": "Central European Standard Time", "CHADT": "Chatham Daylight Time", "OEZ": "Eastern European Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "AEST": "Australian Eastern Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "AST": "Atlantic Standard Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "EST": "Eastern Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "PDT": "Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "SRT": "Suriname Time", "JDT": "Japan Daylight Time", "HNCU": "Cuba Standard Time", "TMT": "Turkmenistan Standard Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "∅∅∅": "Amazon Summer Time", "JST": "Japan Standard Time", "COT": "Colombia Standard Time", "CST": "Central Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "WAST": "West Africa Summer Time", "HEEG": "East Greenland Summer Time", "HNT": "Newfoundland Standard Time", "AWDT": "Australian Western Daylight Time", "SAST": "South Africa Standard Time", "HNEG": "East Greenland Standard Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "NZDT": "New Zealand Daylight Time", "EAT": "East Africa Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "HECU": "Cuba Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "ART": "Argentina Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "MST": "Macau Standard Time", "WESZ": "Western European Summer Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "WIB": "Western Indonesia Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "VET": "Venezuela Time", "WEZ": "Western European Standard Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_BS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_BS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_BS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_BW/en_BW.go b/en_BW/en_BW.go index d75b0ab6a..5e9d05146 100644 --- a/en_BW/en_BW.go +++ b/en_BW/en_BW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "P", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "P", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WAT": "West Africa Standard Time", "CLT": "Chile Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKST": "Hong Kong Summer Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "ACDT": "Australian Central Daylight Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "∅∅∅": "Peru Summer Time", "HNT": "Newfoundland Standard Time", "UYT": "Uruguay Standard Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "MYT": "Malaysia Time", "CAT": "Central Africa Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "OEZ": "Eastern European Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "MDT": "Mountain Daylight Time", "BT": "Bhutan Time", "ChST": "Chamorro Standard Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "TMT": "Turkmenistan Standard Time", "AWST": "Australian Western Standard Time", "NZDT": "New Zealand Daylight Time", "OESZ": "Eastern European Summer Time", "AEST": "Australian Eastern Standard Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "GMT": "Greenwich Mean Time", "CHAST": "Chatham Standard Time", "ADT": "Atlantic Daylight Time", "UYST": "Uruguay Summer Time", "COST": "Colombia Summer Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "ECT": "Ecuador Time"}, + timezones: map[string]string{"HEPMX": "Mexican Pacific Daylight Time", "UYT": "Uruguay Standard Time", "PDT": "Pacific Daylight Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "ADT": "Atlantic Daylight Time", "AWST": "Australian Western Standard Time", "∅∅∅": "Amazon Summer Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "CDT": "Central Daylight Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "AST": "Atlantic Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "BOT": "Bolivia Time", "HECU": "Cuba Daylight Time", "WIB": "Western Indonesia Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "EST": "Eastern Standard Time", "HAT": "Newfoundland Daylight Time", "CHADT": "Chatham Daylight Time", "MST": "Macau Standard Time", "ACWST": "Australian Central Western Standard Time", "AEDT": "Australian Eastern Daylight Time", "ACST": "Australian Central Standard Time", "OEZ": "Eastern European Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "WEZ": "Western European Standard Time", "MYT": "Malaysia Time", "CST": "Central Standard Time", "HNEG": "East Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "WESZ": "Western European Summer Time", "ARST": "Argentina Summer Time", "WITA": "Central Indonesia Time", "MEZ": "Central European Standard Time", "CLST": "Chile Summer Time", "BT": "Bhutan Time", "CHAST": "Chatham Standard Time", "SAST": "South Africa Standard Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "NZST": "New Zealand Standard Time", "MDT": "Macau Summer Time", "PST": "Pacific Standard Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "CLT": "Chile Standard Time", "HNPMX": "Mexican Pacific Standard Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "HNCU": "Cuba Standard Time", "EDT": "Eastern Daylight Time", "UYST": "Uruguay Summer Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "TMST": "Turkmenistan Summer Time", "GMT": "Greenwich Mean Time", "GYT": "Guyana Time", "ART": "Argentina Standard Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AEST": "Australian Eastern Standard Time", "HENOMX": "Northwest Mexico Daylight Time"}, } } @@ -442,7 +442,12 @@ func (en *en_BW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +465,12 @@ func (en *en_BW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -481,7 +491,12 @@ func (en *en_BW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -491,13 +506,11 @@ func (en *en_BW) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -505,13 +518,6 @@ func (en *en_BW) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -521,13 +527,11 @@ func (en *en_BW) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -542,13 +546,6 @@ func (en *en_BW) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -558,13 +555,11 @@ func (en *en_BW) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -581,14 +576,6 @@ func (en *en_BW) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -600,13 +587,11 @@ func (en *en_BW) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -623,14 +608,6 @@ func (en *en_BW) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := en.timezones[tz]; ok { diff --git a/en_BZ/en_BZ.go b/en_BZ/en_BZ.go index 01fe8489e..474d45c07 100644 --- a/en_BZ/en_BZ.go +++ b/en_BZ/en_BZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "$", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "$", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"JST": "Japan Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "COT": "Colombia Standard Time", "AKDT": "Alaska Daylight Time", "EDT": "Eastern Daylight Time", "UYT": "Uruguay Standard Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "CLT": "Chile Standard Time", "ECT": "Ecuador Time", "CHADT": "Chatham Daylight Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "LHDT": "Lord Howe Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "MDT": "Mountain Daylight Time", "NZDT": "New Zealand Daylight Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "HKT": "Hong Kong Standard Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "HAT": "Newfoundland Daylight Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "IST": "India Standard Time", "∅∅∅": "Brasilia Summer Time", "CST": "Central Standard Time", "TMST": "Turkmenistan Summer Time", "WEZ": "Western European Standard Time", "WAT": "West Africa Standard Time", "AKST": "Alaska Standard Time", "EST": "Eastern Standard Time", "TMT": "Turkmenistan Standard Time", "GMT": "Greenwich Mean Time", "MESZ": "Central European Summer Time", "HKST": "Hong Kong Summer Time", "ChST": "Chamorro Standard Time", "JDT": "Japan Daylight Time", "CHAST": "Chatham Standard Time", "SRT": "Suriname Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "LHST": "Lord Howe Standard Time", "OESZ": "Eastern European Summer Time", "ACDT": "Australian Central Daylight Time", "ADT": "Atlantic Daylight Time", "PDT": "Pacific Daylight Time", "CAT": "Central Africa Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "CAT": "Central Africa Time", "HECU": "Cuba Daylight Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HEOG": "West Greenland Summer Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "AST": "Atlantic Standard Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "HNCU": "Cuba Standard Time", "LHST": "Lord Howe Standard Time", "TMT": "Turkmenistan Standard Time", "ECT": "Ecuador Time", "EDT": "Eastern Daylight Time", "UYST": "Uruguay Summer Time", "WIT": "Eastern Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "WEZ": "Western European Standard Time", "∅∅∅": "Amazon Summer Time", "WIB": "Western Indonesia Time", "AEST": "Australian Eastern Standard Time", "OESZ": "Eastern European Summer Time", "UYT": "Uruguay Standard Time", "CLT": "Chile Standard Time", "MDT": "Macau Summer Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "GYT": "Guyana Time", "ART": "Argentina Standard Time", "HKT": "Hong Kong Standard Time", "AKDT": "Alaska Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "ACST": "Australian Central Standard Time", "HAT": "Newfoundland Daylight Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "ChST": "Chamorro Standard Time", "VET": "Venezuela Time", "SRT": "Suriname Time", "ARST": "Argentina Summer Time", "ACDT": "Australian Central Daylight Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "PST": "Pacific Standard Time", "GFT": "French Guiana Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CHADT": "Chatham Daylight Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "WARST": "Western Argentina Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HNOG": "West Greenland Standard Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time"}, } } @@ -442,7 +442,12 @@ func (en *en_BZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +465,12 @@ func (en *en_BZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -481,7 +491,12 @@ func (en *en_BZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CA/en_CA.go b/en_CA/en_CA.go index b9bf95d8c..08156694b 100644 --- a/en_CA/en_CA.go +++ b/en_CA/en_CA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "PDT": "Pacific Daylight Time", "∅∅∅": "Brasilia Summer Time", "WIB": "Western Indonesia Time", "VET": "Venezuela Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "ACWST": "Australian Central Western Standard Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "LHST": "Lord Howe Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "GYT": "Guyana Time", "GFT": "French Guiana Time", "CHADT": "Chatham Daylight Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "CDT": "Central Daylight Time", "BOT": "Bolivia Time", "HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "ADT": "Atlantic Daylight Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "AST": "Atlantic Standard Time", "CST": "Central Standard Time", "NZST": "New Zealand Standard Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "LHDT": "Lord Howe Daylight Time", "MYT": "Malaysia Time", "WAT": "West Africa Standard Time", "AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "BT": "Bhutan Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "JDT": "Japan Daylight Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "UYST": "Uruguay Summer Time", "SRT": "Suriname Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "WARST": "Western Argentina Summer Time", "MDT": "Mountain Daylight Time", "ChST": "Chamorro Standard Time", "JST": "Japan Standard Time", "SAST": "South Africa Standard Time", "ARST": "Argentina Summer Time", "WITA": "Central Indonesia Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time"}, + timezones: map[string]string{"HNT": "Newfoundland Standard Time", "ChST": "Chamorro Standard Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "WIT": "Eastern Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "HECU": "Cuba Daylight Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "WITA": "Central Indonesia Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "COT": "Colombia Standard Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "ECT": "Ecuador Time", "WEZ": "Western European Standard Time", "HNEG": "East Greenland Standard Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "AKDT": "Alaska Daylight Time", "ACWST": "Australian Central Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HKT": "Hong Kong Standard Time", "OESZ": "Eastern European Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time", "HNOG": "West Greenland Standard Time", "OEZ": "Eastern European Standard Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "LHDT": "Lord Howe Daylight Time", "GMT": "Greenwich Mean Time", "HNCU": "Cuba Standard Time", "CST": "Central Standard Time", "WAST": "West Africa Summer Time", "HNPMX": "Mexican Pacific Standard Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "HEOG": "West Greenland Summer Time", "JDT": "Japan Daylight Time", "WIB": "Western Indonesia Time", "WESZ": "Western European Summer Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "BOT": "Bolivia Time", "MST": "Macau Standard Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "CHADT": "Chatham Daylight Time"}, } } @@ -405,7 +405,12 @@ func (en *en_CA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -434,7 +439,12 @@ func (en *en_CA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +458,12 @@ func (en *en_CA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +479,12 @@ func (en *en_CA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CC/en_CC.go b/en_CC/en_CC.go index 730daba3e..2b72d551e 100644 --- a/en_CC/en_CC.go +++ b/en_CC/en_CC.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HNT": "Newfoundland Standard Time", "ACDT": "Australian Central Daylight Time", "IST": "India Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "CST": "Central Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "WAST": "West Africa Summer Time", "GFT": "French Guiana Time", "AKDT": "Alaska Daylight Time", "AWDT": "Australian Western Daylight Time", "MESZ": "Central European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "MDT": "Mountain Daylight Time", "BOT": "Bolivia Time", "HAT": "Newfoundland Daylight Time", "JST": "Japan Standard Time", "MEZ": "Central European Standard Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "LHST": "Lord Howe Standard Time", "∅∅∅": "Brasilia Summer Time", "ARST": "Argentina Summer Time", "CHAST": "Chatham Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CLST": "Chile Summer Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "PST": "Pacific Standard Time", "MST": "Mountain Standard Time", "HKST": "Hong Kong Summer Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "CHADT": "Chatham Daylight Time", "VET": "Venezuela Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "LHDT": "Lord Howe Daylight Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "BT": "Bhutan Time", "UYST": "Uruguay Summer Time", "ECT": "Ecuador Time", "WAT": "West Africa Standard Time", "WITA": "Central Indonesia Time", "CAT": "Central Africa Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "PDT": "Pacific Daylight Time", "ART": "Argentina Standard Time"}, + timezones: map[string]string{"HKT": "Hong Kong Standard Time", "HNEG": "East Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "OEZ": "Eastern European Standard Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "WIT": "Eastern Indonesia Time", "WAST": "West Africa Summer Time", "SGT": "Singapore Standard Time", "ART": "Argentina Standard Time", "PDT": "Pacific Daylight Time", "ACWST": "Australian Central Western Standard Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "GYT": "Guyana Time", "HNOG": "West Greenland Standard Time", "WITA": "Central Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "CHADT": "Chatham Daylight Time", "LHDT": "Lord Howe Daylight Time", "WART": "Western Argentina Standard Time", "ADT": "Atlantic Daylight Time", "EDT": "Eastern Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "HNT": "Newfoundland Standard Time", "HEOG": "West Greenland Summer Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CLST": "Chile Summer Time", "HNCU": "Cuba Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKST": "Hong Kong Summer Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "BOT": "Bolivia Time", "HAT": "Newfoundland Daylight Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "ARST": "Argentina Summer Time", "CLT": "Chile Standard Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "BT": "Bhutan Time", "CHAST": "Chatham Standard Time", "TMT": "Turkmenistan Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HECU": "Cuba Daylight Time", "CST": "Central Standard Time", "SRT": "Suriname Time", "HEEG": "East Greenland Summer Time", "AST": "Atlantic Standard Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "EAT": "East Africa Time", "AEST": "Australian Eastern Standard Time", "∅∅∅": "Amazon Summer Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHST": "Lord Howe Standard Time", "CAT": "Central Africa Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "WEZ": "Western European Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MESZ": "Central European Summer Time", "CDT": "Central Daylight Time", "AKST": "Alaska Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_CC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_CC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_CC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CH/en_CH.go b/en_CH/en_CH.go index 67b78306d..48bbd6bb5 100644 --- a/en_CH/en_CH.go +++ b/en_CH/en_CH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: "-", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ADT": "Atlantic Daylight Time", "AWDT": "Australian Western Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "ChST": "Chamorro Standard Time", "LHST": "Lord Howe Standard Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "CDT": "Central Daylight Time", "ECT": "Ecuador Time", "MESZ": "Central European Summer Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "EAT": "East Africa Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "SRT": "Suriname Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "∅∅∅": "Azores Summer Time", "GYT": "Guyana Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "COST": "Colombia Summer Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "HAT": "Newfoundland Daylight Time", "VET": "Venezuela Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "UYST": "Uruguay Summer Time", "GFT": "French Guiana Time", "AST": "Atlantic Standard Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "CHAST": "Chatham Standard Time", "WART": "Western Argentina Standard Time", "CHADT": "Chatham Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "CST": "Central Standard Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "WIT": "Eastern Indonesia Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "HNEG": "East Greenland Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "JDT": "Japan Daylight Time", "MDT": "Macau Summer Time", "HEOG": "West Greenland Summer Time", "TMST": "Turkmenistan Summer Time", "HEEG": "East Greenland Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "HAT": "Newfoundland Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "HNCU": "Cuba Standard Time", "EST": "Eastern Standard Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "WIT": "Eastern Indonesia Time", "ACDT": "Australian Central Daylight Time", "OEZ": "Eastern European Standard Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "VET": "Venezuela Time", "HNOG": "West Greenland Standard Time", "AWDT": "Australian Western Daylight Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "ChST": "Chamorro Standard Time", "MYT": "Malaysia Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "WART": "Western Argentina Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "MST": "Macau Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "MESZ": "Central European Summer Time", "LHST": "Lord Howe Standard Time", "TMT": "Turkmenistan Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "OESZ": "Eastern European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "SRT": "Suriname Time", "∅∅∅": "Amazon Summer Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "WIB": "Western Indonesia Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "HECU": "Cuba Daylight Time", "ADT": "Atlantic Daylight Time", "AKST": "Alaska Standard Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time"}, } } @@ -432,7 +432,12 @@ func (en *en_CH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (en *en_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +472,12 @@ func (en *en_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CK/en_CK.go b/en_CK/en_CK.go index c768ef373..63557a232 100644 --- a/en_CK/en_CK.go +++ b/en_CK/en_CK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ECT": "Ecuador Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "UYT": "Uruguay Standard Time", "ART": "Argentina Standard Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "HKT": "Hong Kong Standard Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "JDT": "Japan Daylight Time", "HNT": "Newfoundland Standard Time", "CHADT": "Chatham Daylight Time", "AKST": "Alaska Standard Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "COT": "Colombia Standard Time", "ARST": "Argentina Summer Time", "WAST": "West Africa Summer Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "CLT": "Chile Standard Time", "AWST": "Australian Western Standard Time", "ChST": "Chamorro Standard Time", "MESZ": "Central European Summer Time", "AEST": "Australian Eastern Standard Time", "AKDT": "Alaska Daylight Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "SRT": "Suriname Time", "ACDT": "Australian Central Daylight Time", "SGT": "Singapore Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "LHDT": "Lord Howe Daylight Time", "COST": "Colombia Summer Time", "AST": "Atlantic Standard Time", "WAT": "West Africa Standard Time", "WIT": "Eastern Indonesia Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "AWDT": "Australian Western Daylight Time", "JST": "Japan Standard Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "WIB": "Western Indonesia Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "∅∅∅": "Azores Summer Time"}, + timezones: map[string]string{"CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HECU": "Cuba Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HNEG": "East Greenland Standard Time", "ECT": "Ecuador Time", "COST": "Colombia Summer Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ART": "Argentina Standard Time", "JDT": "Japan Daylight Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HEOG": "West Greenland Summer Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "CAT": "Central Africa Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "PDT": "Pacific Daylight Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "ACDT": "Australian Central Daylight Time", "WIT": "Eastern Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "HEEG": "East Greenland Summer Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "CDT": "Central Daylight Time", "WEZ": "Western European Standard Time", "HNOG": "West Greenland Standard Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "∅∅∅": "Amazon Summer Time", "JST": "Japan Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "OEZ": "Eastern European Standard Time", "UYT": "Uruguay Standard Time", "AST": "Atlantic Standard Time", "HAT": "Newfoundland Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_CK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_CK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_CK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CM/en_CM.go b/en_CM/en_CM.go index 8403198b9..6b0ddbb50 100644 --- a/en_CM/en_CM.go +++ b/en_CM/en_CM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ChST": "Chamorro Standard Time", "CHADT": "Chatham Daylight Time", "SRT": "Suriname Time", "WEZ": "Western European Standard Time", "PDT": "Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "UYST": "Uruguay Summer Time", "WARST": "Western Argentina Summer Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "CLST": "Chile Summer Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "WIB": "Western Indonesia Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "HAT": "Newfoundland Daylight Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "EST": "Eastern Standard Time", "GMT": "Greenwich Mean Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "ACWST": "Australian Central Western Standard Time", "MYT": "Malaysia Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WAT": "West Africa Standard Time", "BOT": "Bolivia Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "HKT": "Hong Kong Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "EAT": "East Africa Time", "ECT": "Ecuador Time", "AEST": "Australian Eastern Standard Time", "JST": "Japan Standard Time", "LHDT": "Lord Howe Daylight Time", "MESZ": "Central European Summer Time", "AEDT": "Australian Eastern Daylight Time", "CAT": "Central Africa Time", "OESZ": "Eastern European Summer Time", "HKST": "Hong Kong Summer Time", "ACDT": "Australian Central Daylight Time", "WIT": "Eastern Indonesia Time", "AKST": "Alaska Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "VET": "Venezuela Time", "MEZ": "Central European Standard Time", "SGT": "Singapore Standard Time", "∅∅∅": "Brasilia Summer Time", "COST": "Colombia Summer Time", "CDT": "Central Daylight Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "IST": "India Standard Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "WITA": "Central Indonesia Time", "TMT": "Turkmenistan Standard Time", "BT": "Bhutan Time"}, + timezones: map[string]string{"JST": "Japan Standard Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "HNCU": "Cuba Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "HENOMX": "Northwest Mexico Daylight Time", "SRT": "Suriname Time", "HEOG": "West Greenland Summer Time", "AKST": "Alaska Standard Time", "ACWDT": "Australian Central Western Daylight Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "WAT": "West Africa Standard Time", "HNPMX": "Mexican Pacific Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "TMST": "Turkmenistan Summer Time", "OESZ": "Eastern European Summer Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "AWST": "Australian Western Standard Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "∅∅∅": "Amazon Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Macau Standard Time", "GFT": "French Guiana Time", "MESZ": "Central European Summer Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "CST": "Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HAT": "Newfoundland Daylight Time", "HNOG": "West Greenland Standard Time", "WEZ": "Western European Standard Time", "CLT": "Chile Standard Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "HECU": "Cuba Daylight Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "MDT": "Macau Summer Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "EST": "Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "ADT": "Atlantic Daylight Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "HNT": "Newfoundland Standard Time", "PDT": "Pacific Daylight Time", "HKST": "Hong Kong Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CX/en_CX.go b/en_CX/en_CX.go index 703cd13d9..5638e6e6b 100644 --- a/en_CX/en_CX.go +++ b/en_CX/en_CX.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AKDT": "Alaska Daylight Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "MESZ": "Central European Summer Time", "PST": "Pacific Standard Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "SGT": "Singapore Standard Time", "HKST": "Hong Kong Summer Time", "WART": "Western Argentina Standard Time", "AST": "Atlantic Standard Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "HAT": "Newfoundland Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "HKT": "Hong Kong Standard Time", "JST": "Japan Standard Time", "VET": "Venezuela Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WAT": "West Africa Standard Time", "NZST": "New Zealand Standard Time", "ECT": "Ecuador Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "ARST": "Argentina Summer Time", "WARST": "Western Argentina Summer Time", "ADT": "Atlantic Daylight Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "AKST": "Alaska Standard Time", "MST": "Mountain Standard Time", "WIT": "Eastern Indonesia Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "∅∅∅": "Peru Summer Time", "GMT": "Greenwich Mean Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "EAT": "East Africa Time", "CHAST": "Chatham Standard Time", "JDT": "Japan Daylight Time", "PDT": "Pacific Daylight Time", "TMST": "Turkmenistan Summer Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "LHDT": "Lord Howe Daylight Time", "ACWST": "Australian Central Western Standard Time", "OEZ": "Eastern European Standard Time", "COT": "Colombia Standard Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "OESZ": "Eastern European Summer Time", "EST": "Eastern Standard Time", "CAT": "Central Africa Time", "WEZ": "Western European Standard Time", "EDT": "Eastern Daylight Time", "BOT": "Bolivia Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time"}, + timezones: map[string]string{"SRT": "Suriname Time", "ART": "Argentina Standard Time", "CHAST": "Chatham Standard Time", "HECU": "Cuba Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "∅∅∅": "Peru Summer Time", "PDT": "Pacific Daylight Time", "MEZ": "Central European Standard Time", "LHDT": "Lord Howe Daylight Time", "AKDT": "Alaska Daylight Time", "VET": "Venezuela Time", "HEOG": "West Greenland Summer Time", "GFT": "French Guiana Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "UYT": "Uruguay Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "ACST": "Australian Central Standard Time", "PST": "Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "HEEG": "East Greenland Summer Time", "CAT": "Central Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "MDT": "Macau Summer Time", "WIT": "Eastern Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "GMT": "Greenwich Mean Time", "AEST": "Australian Eastern Standard Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "SAST": "South Africa Standard Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HNT": "Newfoundland Standard Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "AWDT": "Australian Western Daylight Time", "ChST": "Chamorro Standard Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "AST": "Atlantic Standard Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "NZDT": "New Zealand Daylight Time", "HNCU": "Cuba Standard Time", "ARST": "Argentina Summer Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "NZST": "New Zealand Standard Time", "HNOG": "West Greenland Standard Time", "WEZ": "Western European Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "BOT": "Bolivia Time", "MST": "Macau Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "OESZ": "Eastern European Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_CX) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_CX) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_CX) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_CX) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_CX) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_CY/en_CY.go b/en_CY/en_CY.go index ab4ad1e70..d9af1b7c6 100644 --- a/en_CY/en_CY.go +++ b/en_CY/en_CY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"GFT": "French Guiana Time", "WIB": "Western Indonesia Time", "AST": "Atlantic Standard Time", "LHST": "Lord Howe Standard Time", "UYT": "Uruguay Standard Time", "LHDT": "Lord Howe Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "CHAST": "Chatham Standard Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "HKST": "Hong Kong Summer Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "SGT": "Singapore Standard Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "WESZ": "Western European Summer Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "∅∅∅": "Brasilia Summer Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "WAST": "West Africa Summer Time", "MYT": "Malaysia Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "AEDT": "Australian Eastern Daylight Time", "NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "CST": "Central Standard Time", "HNT": "Newfoundland Standard Time", "AWDT": "Australian Western Daylight Time", "SRT": "Suriname Time", "AKDT": "Alaska Daylight Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "ACWST": "Australian Central Western Standard Time", "ChST": "Chamorro Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "BT": "Bhutan Time"}, + timezones: map[string]string{"ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "HADT": "Hawaii-Aleutian Daylight Time", "WESZ": "Western European Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "IST": "India Standard Time", "WAT": "West Africa Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "UYST": "Uruguay Summer Time", "ARST": "Argentina Summer Time", "AEST": "Australian Eastern Standard Time", "CAT": "Central Africa Time", "HNCU": "Cuba Standard Time", "AST": "Atlantic Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "OEZ": "Eastern European Standard Time", "HEOG": "West Greenland Summer Time", "HKST": "Hong Kong Summer Time", "GYT": "Guyana Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "EDT": "Eastern Daylight Time", "AKST": "Alaska Standard Time", "HKT": "Hong Kong Standard Time", "WART": "Western Argentina Standard Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "CLST": "Chile Summer Time", "WARST": "Western Argentina Summer Time", "HECU": "Cuba Daylight Time", "MDT": "Macau Summer Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "CST": "Central Standard Time", "AKDT": "Alaska Daylight Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "SAST": "South Africa Standard Time", "OESZ": "Eastern European Summer Time", "MST": "Macau Standard Time", "UYT": "Uruguay Standard Time", "TMST": "Turkmenistan Summer Time", "AEDT": "Australian Eastern Daylight Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "TMT": "Turkmenistan Standard Time", "∅∅∅": "Peru Summer Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "WIT": "Eastern Indonesia Time", "LHDT": "Lord Howe Daylight Time", "CDT": "Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "MESZ": "Central European Summer Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "MEZ": "Central European Standard Time", "HNEG": "East Greenland Standard Time", "COT": "Colombia Standard Time", "MYT": "Malaysia Time", "HNOG": "West Greenland Standard Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "ChST": "Chamorro Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "ACST": "Australian Central Standard Time", "HNPMX": "Mexican Pacific Standard Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_CY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_CY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_CY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_DE/en_DE.go b/en_DE/en_DE.go index 24221b460..dbdc89f22 100644 --- a/en_DE/en_DE.go +++ b/en_DE/en_DE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: ")", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "AEST": "Australian Eastern Standard Time", "ARST": "Argentina Summer Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "MESZ": "Central European Summer Time", "ChST": "Chamorro Standard Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "HNT": "Newfoundland Standard Time", "ECT": "Ecuador Time", "ACWDT": "Australian Central Western Daylight Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "CHADT": "Chatham Daylight Time", "WIB": "Western Indonesia Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "VET": "Venezuela Time", "AKST": "Alaska Standard Time", "PDT": "Pacific Daylight Time", "NZST": "New Zealand Standard Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "GYT": "Guyana Time", "ACST": "Australian Central Standard Time", "ART": "Argentina Standard Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "AST": "Atlantic Standard Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "BOT": "Bolivia Time", "HKST": "Hong Kong Summer Time", "∅∅∅": "Acre Summer Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "BT": "Bhutan Time", "HKT": "Hong Kong Standard Time", "SGT": "Singapore Standard Time", "PST": "Pacific Standard Time", "TMT": "Turkmenistan Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WAT": "West Africa Standard Time", "CDT": "Central Daylight Time", "LHDT": "Lord Howe Daylight Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "MST": "Mountain Standard Time", "CLT": "Chile Standard Time", "CHAST": "Chatham Standard Time", "AEDT": "Australian Eastern Daylight Time", "UYST": "Uruguay Summer Time"}, + timezones: map[string]string{"HNEG": "East Greenland Standard Time", "HEEG": "East Greenland Summer Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Amazon Summer Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "HECU": "Cuba Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HEOG": "West Greenland Summer Time", "PST": "Pacific Standard Time", "JDT": "Japan Daylight Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "GMT": "Greenwich Mean Time", "AKDT": "Alaska Daylight Time", "GYT": "Guyana Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "AEDT": "Australian Eastern Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time", "HNCU": "Cuba Standard Time", "WIT": "Eastern Indonesia Time", "ACWST": "Australian Central Western Standard Time", "WESZ": "Western European Summer Time", "IST": "India Standard Time", "EAT": "East Africa Time", "AKST": "Alaska Standard Time", "MDT": "Mountain Daylight Time", "TMST": "Turkmenistan Summer Time", "WAST": "West Africa Summer Time", "CAT": "Central Africa Time", "HNPMX": "Mexican Pacific Standard Time", "AEST": "Australian Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHDT": "Lord Howe Daylight Time", "ChST": "Chamorro Standard Time", "HNOG": "West Greenland Standard Time", "CHADT": "Chatham Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "ADT": "Atlantic Daylight Time", "AST": "Atlantic Standard Time", "SRT": "Suriname Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "HAT": "Newfoundland Daylight Time", "SGT": "Singapore Standard Time", "CST": "Central Standard Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "UYT": "Uruguay Standard Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "JST": "Japan Standard Time", "CLT": "Chile Standard Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "ARST": "Argentina Summer Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "HEPMX": "Mexican Pacific Daylight Time"}, } } @@ -432,7 +432,12 @@ func (en *en_DE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (en *en_DE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +472,12 @@ func (en *en_DE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_DG/en_DG.go b/en_DG/en_DG.go index 0f511ce6c..b2e75c3b1 100644 --- a/en_DG/en_DG.go +++ b/en_DG/en_DG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MDT": "Mountain Daylight Time", "CHAST": "Chatham Standard Time", "EST": "Eastern Standard Time", "MST": "Mountain Standard Time", "MESZ": "Central European Summer Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "GMT": "Greenwich Mean Time", "COT": "Colombia Standard Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "WART": "Western Argentina Standard Time", "PST": "Pacific Standard Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "TMST": "Turkmenistan Summer Time", "AWDT": "Australian Western Daylight Time", "COST": "Colombia Summer Time", "EAT": "East Africa Time", "IST": "India Standard Time", "∅∅∅": "Peru Summer Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "NZDT": "New Zealand Daylight Time", "WEZ": "Western European Standard Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "SGT": "Singapore Standard Time", "WAST": "West Africa Summer Time", "GYT": "Guyana Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "CLST": "Chile Summer Time", "UYST": "Uruguay Summer Time", "LHDT": "Lord Howe Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "GFT": "French Guiana Time", "WIB": "Western Indonesia Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "WAT": "West Africa Standard Time", "WITA": "Central Indonesia Time", "EDT": "Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "VET": "Venezuela Time"}, + timezones: map[string]string{"MYT": "Malaysia Time", "ARST": "Argentina Summer Time", "WESZ": "Western European Summer Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "SGT": "Singapore Standard Time", "HNT": "Newfoundland Standard Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "WITA": "Central Indonesia Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "ART": "Argentina Standard Time", "SAST": "South Africa Standard Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HAT": "Newfoundland Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "ChST": "Chamorro Standard Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HEOG": "West Greenland Summer Time", "AEST": "Australian Eastern Standard Time", "CHADT": "Chatham Daylight Time", "CLT": "Chile Standard Time", "BT": "Bhutan Time", "HNOG": "West Greenland Standard Time", "WEZ": "Western European Standard Time", "HECU": "Cuba Daylight Time", "MDT": "Macau Summer Time", "AST": "Atlantic Standard Time", "WIB": "Western Indonesia Time", "VET": "Venezuela Time", "ECT": "Ecuador Time", "CHAST": "Chatham Standard Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "HNPMX": "Mexican Pacific Standard Time", "MST": "Macau Standard Time", "AKDT": "Alaska Daylight Time", "PDT": "Pacific Daylight Time", "NZDT": "New Zealand Daylight Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "ADT": "Atlantic Daylight Time", "HKST": "Hong Kong Summer Time", "AWDT": "Australian Western Daylight Time", "HNCU": "Cuba Standard Time", "LHDT": "Lord Howe Daylight Time", "CLST": "Chile Summer Time", "ACST": "Australian Central Standard Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "EDT": "Eastern Daylight Time", "WIT": "Eastern Indonesia Time", "SRT": "Suriname Time", "NZST": "New Zealand Standard Time", "GFT": "French Guiana Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "∅∅∅": "Azores Summer Time", "COT": "Colombia Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "HNEG": "East Greenland Standard Time", "HNNOMX": "Northwest Mexico Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_DG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_DG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_DG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_DK/en_DK.go b/en_DK/en_DK.go index fb61833ac..3a2a4d975 100644 --- a/en_DK/en_DK.go +++ b/en_DK/en_DK.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: ")", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "WIT": "Eastern Indonesia Time", "NZDT": "New Zealand Daylight Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "SGT": "Singapore Standard Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "ChST": "Chamorro Standard Time", "ARST": "Argentina Summer Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "GMT": "Greenwich Mean Time", "VET": "Venezuela Time", "COST": "Colombia Summer Time", "WAST": "West Africa Summer Time", "LHDT": "Lord Howe Daylight Time", "ART": "Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "BOT": "Bolivia Time", "WEZ": "Western European Standard Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "OESZ": "Eastern European Summer Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "HKT": "Hong Kong Standard Time", "COT": "Colombia Standard Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "ACWST": "Australian Central Western Standard Time", "∅∅∅": "Azores Summer Time", "AWST": "Australian Western Standard Time", "WIB": "Western Indonesia Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "UYT": "Uruguay Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "GYT": "Guyana Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "MESZ": "Central European Summer Time", "MDT": "Mountain Daylight Time", "HAT": "Newfoundland Daylight Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "ECT": "Ecuador Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "GFT": "French Guiana Time", "ACWDT": "Australian Central Western Daylight Time", "TMT": "Turkmenistan Standard Time", "JST": "Japan Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WITA": "Central Indonesia Time", "AEDT": "Australian Eastern Daylight Time"}, + timezones: map[string]string{"HEOG": "West Greenland Summer Time", "ACWST": "Australian Central Western Standard Time", "CLT": "Chile Standard Time", "TMT": "Turkmenistan Standard Time", "HNCU": "Cuba Standard Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "ART": "Argentina Standard Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "EAT": "East Africa Time", "ADT": "Atlantic Daylight Time", "GFT": "French Guiana Time", "EST": "Eastern Standard Time", "HAT": "Newfoundland Daylight Time", "PDT": "Pacific Daylight Time", "AEST": "Australian Eastern Standard Time", "HEEG": "East Greenland Summer Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "MYT": "Malaysia Time", "ACWDT": "Australian Central Western Daylight Time", "MEZ": "Central European Standard Time", "SGT": "Singapore Standard Time", "AKST": "Alaska Standard Time", "CHAST": "Chatham Standard Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "CAT": "Central Africa Time", "WEZ": "Western European Standard Time", "BT": "Bhutan Time", "SRT": "Suriname Time", "MESZ": "Central European Summer Time", "∅∅∅": "Amazon Summer Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "HNOG": "West Greenland Standard Time", "AEDT": "Australian Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "WAST": "West Africa Summer Time", "COST": "Colombia Summer Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AWST": "Australian Western Standard Time", "ACST": "Australian Central Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "AWDT": "Australian Western Daylight Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "HECU": "Cuba Daylight Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Macau Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "UYT": "Uruguay Standard Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "BOT": "Bolivia Time", "CDT": "Central Daylight Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "HKST": "Hong Kong Summer Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time"}, } } @@ -432,7 +432,12 @@ func (en *en_DK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (en *en_DK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +472,12 @@ func (en *en_DK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_DM/en_DM.go b/en_DM/en_DM.go index 26bbb2585..b29611717 100644 --- a/en_DM/en_DM.go +++ b/en_DM/en_DM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "AKST": "Alaska Standard Time", "IST": "India Standard Time", "SGT": "Singapore Standard Time", "WARST": "Western Argentina Summer Time", "AWST": "Australian Western Standard Time", "ACDT": "Australian Central Daylight Time", "CDT": "Central Daylight Time", "AWDT": "Australian Western Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "MDT": "Mountain Daylight Time", "BOT": "Bolivia Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "JST": "Japan Standard Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "WAT": "West Africa Standard Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "∅∅∅": "Azores Summer Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "UYT": "Uruguay Standard Time", "MEZ": "Central European Standard Time", "HNT": "Newfoundland Standard Time", "ACST": "Australian Central Standard Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "NZST": "New Zealand Standard Time", "BT": "Bhutan Time", "CAT": "Central Africa Time", "HKST": "Hong Kong Summer Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "GYT": "Guyana Time", "GFT": "French Guiana Time", "ART": "Argentina Standard Time", "PDT": "Pacific Daylight Time", "ChST": "Chamorro Standard Time", "WART": "Western Argentina Standard Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "SAST": "South Africa Standard Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "CHAST": "Chatham Standard Time", "COST": "Colombia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "AST": "Atlantic Standard Time", "NZDT": "New Zealand Daylight Time"}, + timezones: map[string]string{"HNNOMX": "Northwest Mexico Standard Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "ECT": "Ecuador Time", "∅∅∅": "Amazon Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "HECU": "Cuba Daylight Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "WEZ": "Western European Standard Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "WESZ": "Western European Summer Time", "PDT": "Pacific Daylight Time", "GFT": "French Guiana Time", "HNCU": "Cuba Standard Time", "CHADT": "Chatham Daylight Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "CST": "Central Standard Time", "UYT": "Uruguay Standard Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "TMST": "Turkmenistan Summer Time", "WARST": "Western Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "CHAST": "Chatham Standard Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "OEZ": "Eastern European Standard Time", "COT": "Colombia Standard Time", "WIB": "Western Indonesia Time", "WIT": "Eastern Indonesia Time", "SRT": "Suriname Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "MDT": "Mountain Daylight Time", "ART": "Argentina Standard Time", "NZDT": "New Zealand Daylight Time", "WAT": "West Africa Standard Time", "WART": "Western Argentina Standard Time", "AKDT": "Alaska Daylight Time", "HEOG": "West Greenland Summer Time", "BOT": "Bolivia Time", "TMT": "Turkmenistan Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "MST": "Mountain Standard Time", "ARST": "Argentina Summer Time", "HNOG": "West Greenland Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "EDT": "Eastern Daylight Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "PST": "Pacific Standard Time", "AST": "Atlantic Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_DM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_DM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_DM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_ER/en_ER.go b/en_ER/en_ER.go index 969d9ffcc..05e4f226d 100644 --- a/en_ER/en_ER.go +++ b/en_ER/en_ER.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MESZ": "Central European Summer Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "WAT": "West Africa Standard Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "LHST": "Lord Howe Standard Time", "WIB": "Western Indonesia Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "AST": "Atlantic Standard Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "EST": "Eastern Standard Time", "WITA": "Central Indonesia Time", "MYT": "Malaysia Time", "CLST": "Chile Summer Time", "HKST": "Hong Kong Summer Time", "LHDT": "Lord Howe Daylight Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "WARST": "Western Argentina Summer Time", "UYST": "Uruguay Summer Time", "∅∅∅": "Brasilia Summer Time", "COT": "Colombia Standard Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "IST": "India Standard Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "GMT": "Greenwich Mean Time", "ACST": "Australian Central Standard Time", "ECT": "Ecuador Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "HAT": "Newfoundland Daylight Time", "AKDT": "Alaska Daylight Time", "PDT": "Pacific Daylight Time", "MDT": "Macau Summer Time", "ChST": "Chamorro Standard Time", "OEZ": "Eastern European Standard Time", "GFT": "French Guiana Time", "TMST": "Turkmenistan Summer Time", "MST": "Macau Standard Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "HNT": "Newfoundland Standard Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "EAT": "East Africa Time"}, + timezones: map[string]string{"WEZ": "Western European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "GMT": "Greenwich Mean Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "CDT": "Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "CHADT": "Chatham Daylight Time", "ChST": "Chamorro Standard Time", "ADT": "Atlantic Daylight Time", "HAT": "Newfoundland Daylight Time", "BOT": "Bolivia Time", "AST": "Atlantic Standard Time", "ARST": "Argentina Summer Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "MST": "Mountain Standard Time", "HEOG": "West Greenland Summer Time", "WESZ": "Western European Summer Time", "UYT": "Uruguay Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "EAT": "East Africa Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "ACST": "Australian Central Standard Time", "CST": "Central Standard Time", "HKST": "Hong Kong Summer Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "HECU": "Cuba Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "GYT": "Guyana Time", "AKST": "Alaska Standard Time", "CLT": "Chile Standard Time", "TMST": "Turkmenistan Summer Time", "WARST": "Western Argentina Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "WAT": "West Africa Standard Time", "ECT": "Ecuador Time", "BT": "Bhutan Time", "SRT": "Suriname Time", "ACWST": "Australian Central Western Standard Time", "EDT": "Eastern Daylight Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "EST": "Eastern Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "HNOG": "West Greenland Standard Time", "WAST": "West Africa Summer Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "MEZ": "Central European Standard Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "MDT": "Mountain Daylight Time", "WIB": "Western Indonesia Time", "AEST": "Australian Eastern Standard Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_ER) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_ER) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_ER) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_FI/en_FI.go b/en_FI/en_FI.go index e67b8d72a..16cebc9d5 100644 --- a/en_FI/en_FI.go +++ b/en_FI/en_FI.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: ")", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "SGT": "Singapore Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "ACWST": "Australian Central Western Standard Time", "CDT": "Central Daylight Time", "UYST": "Uruguay Summer Time", "IST": "India Standard Time", "ChST": "Chamorro Standard Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "WART": "Western Argentina Standard Time", "PDT": "Pacific Daylight Time", "AST": "Atlantic Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "MST": "Mountain Standard Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "AEDT": "Australian Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "WAT": "West Africa Standard Time", "WIT": "Eastern Indonesia Time", "AWST": "Australian Western Standard Time", "JDT": "Japan Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "WAST": "West Africa Summer Time", "HKT": "Hong Kong Standard Time", "SAST": "South Africa Standard Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "AKDT": "Alaska Daylight Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "AKST": "Alaska Standard Time", "MDT": "Mountain Daylight Time", "WARST": "Western Argentina Summer Time", "CST": "Central Standard Time", "EAT": "East Africa Time", "WITA": "Central Indonesia Time", "CHADT": "Chatham Daylight Time", "PST": "Pacific Standard Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "WIB": "Western Indonesia Time", "MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "OESZ": "Eastern European Summer Time", "∅∅∅": "Azores Summer Time", "CLST": "Chile Summer Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "EST": "Eastern Standard Time", "CLT": "Chile Standard Time", "OEZ": "Eastern European Standard Time", "MESZ": "Central European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time"}, + timezones: map[string]string{"WARST": "Western Argentina Summer Time", "GMT": "Greenwich Mean Time", "GYT": "Guyana Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "AEST": "Australian Eastern Standard Time", "WITA": "Central Indonesia Time", "WAST": "West Africa Summer Time", "WIT": "Eastern Indonesia Time", "ACWST": "Australian Central Western Standard Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "∅∅∅": "Amazon Summer Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "HNCU": "Cuba Standard Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "AST": "Atlantic Standard Time", "CDT": "Central Daylight Time", "AWDT": "Australian Western Daylight Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "HECU": "Cuba Daylight Time", "MYT": "Malaysia Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "SRT": "Suriname Time", "HEOG": "West Greenland Summer Time", "IST": "India Standard Time", "OESZ": "Eastern European Summer Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "HNT": "Newfoundland Standard Time", "GFT": "French Guiana Time", "EAT": "East Africa Time", "OEZ": "Eastern European Standard Time", "MESZ": "Central European Summer Time", "HNEG": "East Greenland Standard Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "UYT": "Uruguay Standard Time", "CHAST": "Chatham Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "COST": "Colombia Summer Time", "AKDT": "Alaska Daylight Time", "HNOG": "West Greenland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PDT": "Pacific Daylight Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "VET": "Venezuela Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "HEEG": "East Greenland Summer Time", "WAT": "West Africa Standard Time", "PST": "Pacific Standard Time", "WEZ": "Western European Standard Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "WART": "Western Argentina Standard Time"}, } } @@ -438,7 +438,12 @@ func (en *en_FI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +457,12 @@ func (en *en_FI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (en *en_FI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_FJ/en_FJ.go b/en_FJ/en_FJ.go index 913a9d475..de314a9ab 100644 --- a/en_FJ/en_FJ.go +++ b/en_FJ/en_FJ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "$", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "$", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"∅∅∅": "Brasilia Summer Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "COST": "Colombia Summer Time", "ECT": "Ecuador Time", "CST": "Central Standard Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "GMT": "Greenwich Mean Time", "WESZ": "Western European Summer Time", "PDT": "Pacific Daylight Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "OEZ": "Eastern European Standard Time", "SGT": "Singapore Standard Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "PST": "Pacific Standard Time", "AWST": "Australian Western Standard Time", "JDT": "Japan Daylight Time", "MEZ": "Central European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "AST": "Atlantic Standard Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "OESZ": "Eastern European Summer Time", "HKST": "Hong Kong Summer Time", "ARST": "Argentina Summer Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "ADT": "Atlantic Daylight Time", "WAT": "West Africa Standard Time", "ChST": "Chamorro Standard Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "CAT": "Central Africa Time", "ACDT": "Australian Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "SAST": "South Africa Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "MDT": "Mountain Daylight Time", "WEZ": "Western European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HAT": "Newfoundland Daylight Time", "CLT": "Chile Standard Time", "UYST": "Uruguay Summer Time", "HKT": "Hong Kong Standard Time", "GFT": "French Guiana Time", "EDT": "Eastern Daylight Time", "TMT": "Turkmenistan Standard Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "UYT": "Uruguay Standard Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time"}, + timezones: map[string]string{"AKDT": "Alaska Daylight Time", "ChST": "Chamorro Standard Time", "TMST": "Turkmenistan Summer Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "HKST": "Hong Kong Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "MST": "Macau Standard Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "ADT": "Atlantic Daylight Time", "AWST": "Australian Western Standard Time", "IST": "India Standard Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "WEZ": "Western European Standard Time", "ARST": "Argentina Summer Time", "CHAST": "Chatham Standard Time", "JST": "Japan Standard Time", "NZST": "New Zealand Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "HEOG": "West Greenland Summer Time", "HECU": "Cuba Daylight Time", "CST": "Central Standard Time", "PST": "Pacific Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "BOT": "Bolivia Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "COST": "Colombia Summer Time", "GYT": "Guyana Time", "WITA": "Central Indonesia Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Amazon Summer Time", "CAT": "Central Africa Time", "HNOG": "West Greenland Standard Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "SRT": "Suriname Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "BT": "Bhutan Time", "CHADT": "Chatham Daylight Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "OEZ": "Eastern European Standard Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "ACDT": "Australian Central Daylight Time", "AST": "Atlantic Standard Time", "WIB": "Western Indonesia Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "GMT": "Greenwich Mean Time", "AKST": "Alaska Standard Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_FJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_FJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_FJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_FK/en_FK.go b/en_FK/en_FK.go index c0f3c9ebc..23b049b43 100644 --- a/en_FK/en_FK.go +++ b/en_FK/en_FK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "£", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "£", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"OESZ": "Eastern European Summer Time", "AST": "Atlantic Standard Time", "WITA": "Central Indonesia Time", "CAT": "Central Africa Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Brasilia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WAT": "West Africa Standard Time", "GFT": "French Guiana Time", "JDT": "Japan Daylight Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "MST": "Mountain Standard Time", "LHDT": "Lord Howe Daylight Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "WESZ": "Western European Summer Time", "AKST": "Alaska Standard Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "MDT": "Mountain Daylight Time", "ECT": "Ecuador Time", "BOT": "Bolivia Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "SAST": "South Africa Standard Time", "ACDT": "Australian Central Daylight Time", "ART": "Argentina Standard Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "CLST": "Chile Summer Time", "WARST": "Western Argentina Summer Time", "WEZ": "Western European Standard Time", "SRT": "Suriname Time", "WIB": "Western Indonesia Time", "NZST": "New Zealand Standard Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "AWST": "Australian Western Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WAST": "West Africa Summer Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "HNT": "Newfoundland Standard Time", "OEZ": "Eastern European Standard Time", "ACST": "Australian Central Standard Time", "SGT": "Singapore Standard Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "CHAST": "Chatham Standard Time", "JST": "Japan Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "NZDT": "New Zealand Daylight Time", "GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time"}, + timezones: map[string]string{"SGT": "Singapore Standard Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "BOT": "Bolivia Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "MESZ": "Central European Summer Time", "HEEG": "East Greenland Summer Time", "CAT": "Central Africa Time", "OEZ": "Eastern European Standard Time", "COT": "Colombia Standard Time", "AEST": "Australian Eastern Standard Time", "AWST": "Australian Western Standard Time", "OESZ": "Eastern European Summer Time", "EDT": "Eastern Daylight Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "WARST": "Western Argentina Summer Time", "GMT": "Greenwich Mean Time", "HECU": "Cuba Daylight Time", "MST": "Macau Standard Time", "WEZ": "Western European Standard Time", "WITA": "Central Indonesia Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "PST": "Pacific Standard Time", "HKST": "Hong Kong Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "AST": "Atlantic Standard Time", "HNT": "Newfoundland Standard Time", "IST": "India Standard Time", "ChST": "Chamorro Standard Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "LHST": "Lord Howe Standard Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "BT": "Bhutan Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "∅∅∅": "Peru Summer Time", "UYST": "Uruguay Summer Time", "CDT": "Central Daylight Time", "HEOG": "West Greenland Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHAST": "Chatham Standard Time", "HNEG": "East Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "EST": "Eastern Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "MEZ": "Central European Standard Time", "WAST": "West Africa Summer Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "ECT": "Ecuador Time", "AKST": "Alaska Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "WART": "Western Argentina Standard Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "TMST": "Turkmenistan Summer Time", "MDT": "Macau Summer Time", "PDT": "Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "CLT": "Chile Standard Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "SRT": "Suriname Time"}, } } @@ -112,8 +112,8 @@ func (en *en_FK) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_FK) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_FK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_FK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_FK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_FM/en_FM.go b/en_FM/en_FM.go index c6996f30d..4e85ebb46 100644 --- a/en_FM/en_FM.go +++ b/en_FM/en_FM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "GYT": "Guyana Time", "OESZ": "Eastern European Summer Time", "AEST": "Australian Eastern Standard Time", "WITA": "Central Indonesia Time", "∅∅∅": "Peru Summer Time", "CDT": "Central Daylight Time", "CAT": "Central Africa Time", "CLT": "Chile Standard Time", "MEZ": "Central European Standard Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "WEZ": "Western European Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "MST": "Mountain Standard Time", "ChST": "Chamorro Standard Time", "GMT": "Greenwich Mean Time", "VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "ACDT": "Australian Central Daylight Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "WAT": "West Africa Standard Time", "SRT": "Suriname Time", "TMT": "Turkmenistan Standard Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "IST": "India Standard Time", "AKDT": "Alaska Daylight Time", "CLST": "Chile Summer Time", "MESZ": "Central European Summer Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "WAST": "West Africa Summer Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "NZDT": "New Zealand Daylight Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "PDT": "Pacific Daylight Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "WART": "Western Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "WESZ": "Western European Summer Time"}, + timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "UYST": "Uruguay Summer Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "ACST": "Australian Central Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "NZST": "New Zealand Standard Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HEOG": "West Greenland Summer Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "SRT": "Suriname Time", "HKT": "Hong Kong Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLT": "Chile Standard Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "AST": "Atlantic Standard Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "JDT": "Japan Daylight Time", "TMST": "Turkmenistan Summer Time", "HNCU": "Cuba Standard Time", "SGT": "Singapore Standard Time", "UYT": "Uruguay Standard Time", "ARST": "Argentina Summer Time", "HNOG": "West Greenland Standard Time", "PST": "Pacific Standard Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "WIB": "Western Indonesia Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Amazon Summer Time", "PDT": "Pacific Daylight Time", "WAT": "West Africa Standard Time", "TMT": "Turkmenistan Standard Time", "WART": "Western Argentina Standard Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "CHADT": "Chatham Daylight Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "MESZ": "Central European Summer Time", "WEZ": "Western European Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "AEDT": "Australian Eastern Daylight Time", "HECU": "Cuba Daylight Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "WIT": "Eastern Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "HAT": "Newfoundland Daylight Time", "WESZ": "Western European Summer Time", "CAT": "Central Africa Time"}, } } @@ -428,7 +428,12 @@ func (en *en_FM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_FM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_FM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GB/en_GB.go b/en_GB/en_GB.go index c10287265..eccd49b69 100644 --- a/en_GB/en_GB.go +++ b/en_GB/en_GB.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWDT": "Australian Western Daylight Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "EAT": "East Africa Time", "AKDT": "Alaska Daylight Time", "∅∅∅": "Brasilia Summer Time", "HKT": "Hong Kong Standard Time", "COST": "Colombia Summer Time", "PDT": "Pacific Daylight Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "BOT": "Bolivia Time", "HAT": "Newfoundland Daylight Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "MDT": "Macau Summer Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "WAT": "West Africa Standard Time", "ACDT": "Australian Central Daylight Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "NZST": "New Zealand Standard Time", "ACWST": "Australian Central Western Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "PST": "Pacific Standard Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "AWST": "Australian Western Standard Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "WART": "Western Argentina Standard Time", "CDT": "Central Daylight Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "AEDT": "Australian Eastern Daylight Time", "AKST": "Alaska Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "ChST": "Chamorro Standard Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "COT": "Colombia Standard Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "WIT": "Eastern Indonesia Time", "JST": "Japan Standard Time", "ACST": "Australian Central Standard Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time", "MYT": "Malaysia Time", "WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "SAST": "South Africa Standard Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "MST": "Macau Standard Time", "NZDT": "New Zealand Daylight Time", "SGT": "Singapore Standard Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "CST": "Central Standard Time"}, + timezones: map[string]string{"HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "HNOG": "West Greenland Standard Time", "ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "MDT": "Macau Summer Time", "WAST": "West Africa Summer Time", "AST": "Atlantic Standard Time", "CHAST": "Chatham Standard Time", "JDT": "Japan Daylight Time", "CST": "Central Standard Time", "PDT": "Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "ACST": "Australian Central Standard Time", "HNPMX": "Mexican Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "NZDT": "New Zealand Daylight Time", "MST": "Macau Standard Time", "CDT": "Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "HAT": "Newfoundland Daylight Time", "AWST": "Australian Western Standard Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "ART": "Argentina Standard Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "UYST": "Uruguay Summer Time", "MESZ": "Central European Summer Time", "HNT": "Newfoundland Standard Time", "NZST": "New Zealand Standard Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "∅∅∅": "Peru Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "CAT": "Central Africa Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HEOG": "West Greenland Summer Time", "WIB": "Western Indonesia Time", "WESZ": "Western European Summer Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "WIT": "Eastern Indonesia Time", "ACDT": "Australian Central Daylight Time", "HKST": "Hong Kong Summer Time", "LHDT": "Lord Howe Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLST": "Chile Summer Time", "BOT": "Bolivia Time", "TMST": "Turkmenistan Summer Time", "HNCU": "Cuba Standard Time", "ACWDT": "Australian Central Western Daylight Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "ARST": "Argentina Summer Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "HECU": "Cuba Daylight Time", "MEZ": "Central European Standard Time", "SAST": "South Africa Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_GB) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_GB) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_GB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GD/en_GD.go b/en_GD/en_GD.go index cdc24b13e..4bfc5b67a 100644 --- a/en_GD/en_GD.go +++ b/en_GD/en_GD.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZST": "New Zealand Standard Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "MESZ": "Central European Summer Time", "NZDT": "New Zealand Daylight Time", "HAT": "Newfoundland Daylight Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "CLST": "Chile Summer Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "AKDT": "Alaska Daylight Time", "AEST": "Australian Eastern Standard Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "∅∅∅": "Peru Summer Time", "GMT": "Greenwich Mean Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "VET": "Venezuela Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WART": "Western Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "CLT": "Chile Standard Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "GYT": "Guyana Time", "HKST": "Hong Kong Summer Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "WAT": "West Africa Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "LHDT": "Lord Howe Daylight Time", "JDT": "Japan Daylight Time", "SGT": "Singapore Standard Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "ARST": "Argentina Summer Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "MYT": "Malaysia Time", "SAST": "South Africa Standard Time"}, + timezones: map[string]string{"AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "WESZ": "Western European Summer Time", "GMT": "Greenwich Mean Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "IST": "India Standard Time", "BOT": "Bolivia Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "MESZ": "Central European Summer Time", "HEEG": "East Greenland Summer Time", "BT": "Bhutan Time", "HADT": "Hawaii-Aleutian Daylight Time", "HEOG": "West Greenland Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Amazon Summer Time", "HECU": "Cuba Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "MDT": "Mountain Daylight Time", "AEST": "Australian Eastern Standard Time", "CLT": "Chile Standard Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "ECT": "Ecuador Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "ChST": "Chamorro Standard Time", "NZDT": "New Zealand Daylight Time", "HNEG": "East Greenland Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "HKT": "Hong Kong Standard Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "JST": "Japan Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "TMT": "Turkmenistan Standard Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "SRT": "Suriname Time", "HNOG": "West Greenland Standard Time", "MEZ": "Central European Standard Time", "GFT": "French Guiana Time", "ART": "Argentina Standard Time", "ACWST": "Australian Central Western Standard Time", "LHDT": "Lord Howe Daylight Time", "CLST": "Chile Summer Time", "WART": "Western Argentina Standard Time", "WIT": "Eastern Indonesia Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "AEDT": "Australian Eastern Daylight Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "ACST": "Australian Central Standard Time", "HNCU": "Cuba Standard Time", "VET": "Venezuela Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_GD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GG/en_GG.go b/en_GG/en_GG.go index 2308f0699..05a4e9bf7 100644 --- a/en_GG/en_GG.go +++ b/en_GG/en_GG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CLT": "Chile Standard Time", "JST": "Japan Standard Time", "NZDT": "New Zealand Daylight Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "MST": "Mountain Standard Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "WAT": "West Africa Standard Time", "WIT": "Eastern Indonesia Time", "LHDT": "Lord Howe Daylight Time", "OEZ": "Eastern European Standard Time", "AEDT": "Australian Eastern Daylight Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "PST": "Pacific Standard Time", "UYT": "Uruguay Standard Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "AKDT": "Alaska Daylight Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "JDT": "Japan Daylight Time", "SGT": "Singapore Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "MDT": "Mountain Daylight Time", "CAT": "Central Africa Time", "AEST": "Australian Eastern Standard Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "AST": "Atlantic Standard Time", "NZST": "New Zealand Standard Time", "AWST": "Australian Western Standard Time", "HAT": "Newfoundland Daylight Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "SAST": "South Africa Standard Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "∅∅∅": "Brasilia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "PDT": "Pacific Daylight Time"}, + timezones: map[string]string{"WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKT": "Hong Kong Standard Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "∅∅∅": "Peru Summer Time", "EDT": "Eastern Daylight Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "NZST": "New Zealand Standard Time", "UYT": "Uruguay Standard Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "AEST": "Australian Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "GFT": "French Guiana Time", "PST": "Pacific Standard Time", "WAT": "West Africa Standard Time", "COST": "Colombia Summer Time", "HECU": "Cuba Daylight Time", "MDT": "Macau Summer Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "BOT": "Bolivia Time", "COT": "Colombia Standard Time", "ARST": "Argentina Summer Time", "WEZ": "Western European Standard Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HNEG": "East Greenland Standard Time", "PDT": "Pacific Daylight Time", "WART": "Western Argentina Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "CLT": "Chile Standard Time", "ACST": "Australian Central Standard Time", "MST": "Macau Standard Time", "CDT": "Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "MESZ": "Central European Summer Time", "CAT": "Central Africa Time", "HNCU": "Cuba Standard Time", "HNOG": "West Greenland Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "CST": "Central Standard Time", "HNT": "Newfoundland Standard Time", "ACWDT": "Australian Central Western Daylight Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "TMT": "Turkmenistan Standard Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "AKDT": "Alaska Daylight Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "SGT": "Singapore Standard Time", "GYT": "Guyana Time", "HEOG": "West Greenland Summer Time", "EAT": "East Africa Time", "WIT": "Eastern Indonesia Time", "SRT": "Suriname Time", "EST": "Eastern Standard Time", "AKST": "Alaska Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_GG) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_GG) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_GG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GH/en_GH.go b/en_GH/en_GH.go index 6c6dc85c1..9c45a5e2a 100644 --- a/en_GH/en_GH.go +++ b/en_GH/en_GH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZDT": "New Zealand Daylight Time", "WEZ": "Western European Standard Time", "SGT": "Singapore Standard Time", "JDT": "Japan Daylight Time", "WIB": "Western Indonesia Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "UYST": "Uruguay Summer Time", "HKST": "Hong Kong Summer Time", "ACST": "Australian Central Standard Time", "ECT": "Ecuador Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "HKT": "Hong Kong Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "EAT": "East Africa Time", "AKDT": "Alaska Daylight Time", "AWST": "Australian Western Standard Time", "COT": "Colombia Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "CST": "Central Standard Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "∅∅∅": "Peru Summer Time", "CDT": "Central Daylight Time", "CAT": "Central Africa Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "WART": "Western Argentina Standard Time", "AST": "Atlantic Standard Time", "IST": "India Standard Time", "GMT": "Greenwich Mean Time", "WESZ": "Western European Summer Time", "VET": "Venezuela Time", "CLST": "Chile Summer Time", "ACWDT": "Australian Central Western Daylight Time", "MESZ": "Central European Summer Time", "AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "ADT": "Atlantic Daylight Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "HADT": "Hawaii-Aleutian Daylight Time", "SAST": "South Africa Standard Time", "WITA": "Central Indonesia Time", "OESZ": "Eastern European Summer Time", "CHADT": "Chatham Daylight Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "CHAST": "Chatham Standard Time", "PST": "Pacific Standard Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "GYT": "Guyana Time", "WAST": "West Africa Summer Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "MST": "Mountain Standard Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "WAT": "West Africa Standard Time", "TMT": "Turkmenistan Standard Time"}, + timezones: map[string]string{"UYT": "Uruguay Standard Time", "HAT": "Newfoundland Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "AKDT": "Alaska Daylight Time", "WIB": "Western Indonesia Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "NZST": "New Zealand Standard Time", "TMT": "Turkmenistan Standard Time", "EAT": "East Africa Time", "HEOG": "West Greenland Summer Time", "AEST": "Australian Eastern Standard Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "GYT": "Guyana Time", "ACWDT": "Australian Central Western Daylight Time", "AKST": "Alaska Standard Time", "AST": "Atlantic Standard Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "BOT": "Bolivia Time", "WITA": "Central Indonesia Time", "HENOMX": "Northwest Mexico Daylight Time", "HNOG": "West Greenland Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "MST": "Macau Standard Time", "HNT": "Newfoundland Standard Time", "AEDT": "Australian Eastern Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "∅∅∅": "Amazon Summer Time", "JDT": "Japan Daylight Time", "NZDT": "New Zealand Daylight Time", "MESZ": "Central European Summer Time", "TMST": "Turkmenistan Summer Time", "WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HKST": "Hong Kong Summer Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "WAT": "West Africa Standard Time", "HECU": "Cuba Daylight Time", "GMT": "Greenwich Mean Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "GFT": "French Guiana Time", "ARST": "Argentina Summer Time", "LHST": "Lord Howe Standard Time", "ChST": "Chamorro Standard Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "WEZ": "Western European Standard Time", "SAST": "South Africa Standard Time", "EDT": "Eastern Daylight Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "CAT": "Central Africa Time", "WIT": "Eastern Indonesia Time"}, } } @@ -112,8 +112,8 @@ func (en *en_GH) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_GH) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_GH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GI/en_GI.go b/en_GI/en_GI.go index 16e2395fe..655f99f6a 100644 --- a/en_GI/en_GI.go +++ b/en_GI/en_GI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "£", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "£", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "ART": "Argentina Standard Time", "MST": "Mountain Standard Time", "CHADT": "Chatham Daylight Time", "ADT": "Atlantic Daylight Time", "WAST": "West Africa Summer Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "WIT": "Eastern Indonesia Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time", "HAST": "Hawaii-Aleutian Standard Time", "MYT": "Malaysia Time", "HNT": "Newfoundland Standard Time", "HKST": "Hong Kong Summer Time", "EAT": "East Africa Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "LHDT": "Lord Howe Daylight Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "GFT": "French Guiana Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "MDT": "Mountain Daylight Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "TMT": "Turkmenistan Standard Time", "BT": "Bhutan Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "GYT": "Guyana Time", "∅∅∅": "Peru Summer Time", "NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "MESZ": "Central European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "WAT": "West Africa Standard Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "HKT": "Hong Kong Standard Time", "ARST": "Argentina Summer Time", "HAT": "Newfoundland Daylight Time", "WIB": "Western Indonesia Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "OEZ": "Eastern European Standard Time", "TMST": "Turkmenistan Summer Time", "PST": "Pacific Standard Time", "EST": "Eastern Standard Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "CLST": "Chile Summer Time", "COT": "Colombia Standard Time"}, + timezones: map[string]string{"CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "ECT": "Ecuador Time", "ACWDT": "Australian Central Western Daylight Time", "WITA": "Central Indonesia Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "GFT": "French Guiana Time", "WART": "Western Argentina Standard Time", "SRT": "Suriname Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "JST": "Japan Standard Time", "ChST": "Chamorro Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "AKDT": "Alaska Daylight Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "GMT": "Greenwich Mean Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "NZDT": "New Zealand Daylight Time", "LHDT": "Lord Howe Daylight Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "MDT": "Macau Summer Time", "UYST": "Uruguay Summer Time", "ARST": "Argentina Summer Time", "CHAST": "Chatham Standard Time", "CAT": "Central Africa Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "JDT": "Japan Daylight Time", "WARST": "Western Argentina Summer Time", "HECU": "Cuba Daylight Time", "ADT": "Atlantic Daylight Time", "BT": "Bhutan Time", "HNOG": "West Greenland Standard Time", "LHST": "Lord Howe Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "∅∅∅": "Amazon Summer Time", "COT": "Colombia Standard Time", "CST": "Central Standard Time", "MYT": "Malaysia Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "VET": "Venezuela Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "HKT": "Hong Kong Standard Time", "AWDT": "Australian Western Daylight Time", "MST": "Macau Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "SAST": "South Africa Standard Time", "AST": "Atlantic Standard Time", "ACWST": "Australian Central Western Standard Time", "HKST": "Hong Kong Summer Time", "ACDT": "Australian Central Daylight Time", "HNCU": "Cuba Standard Time", "EST": "Eastern Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "AWST": "Australian Western Standard Time", "OESZ": "Eastern European Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "NZST": "New Zealand Standard Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "HAT": "Newfoundland Daylight Time", "WAT": "West Africa Standard Time", "TMST": "Turkmenistan Summer Time", "BOT": "Bolivia Time", "HNPMX": "Mexican Pacific Standard Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_GI) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_GI) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_GI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GM/en_GM.go b/en_GM/en_GM.go index eae2d0214..ccbb1d0d4 100644 --- a/en_GM/en_GM.go +++ b/en_GM/en_GM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "D", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "D", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZST": "New Zealand Standard Time", "CDT": "Central Daylight Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "CLT": "Chile Standard Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "GYT": "Guyana Time", "SGT": "Singapore Standard Time", "VET": "Venezuela Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "PDT": "Pacific Daylight Time", "BT": "Bhutan Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "CHAST": "Chatham Standard Time", "MST": "Macau Standard Time", "SRT": "Suriname Time", "WART": "Western Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "OEZ": "Eastern European Standard Time", "ART": "Argentina Standard Time", "WAST": "West Africa Summer Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "ARST": "Argentina Summer Time", "SAST": "South Africa Standard Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "MDT": "Macau Summer Time", "WIT": "Eastern Indonesia Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Brasilia Summer Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "HNT": "Newfoundland Standard Time", "IST": "India Standard Time", "LHST": "Lord Howe Standard Time", "COST": "Colombia Summer Time", "AEST": "Australian Eastern Standard Time", "ADT": "Atlantic Daylight Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "HAT": "Newfoundland Daylight Time", "MESZ": "Central European Summer Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "CLST": "Chile Summer Time", "WESZ": "Western European Summer Time", "AKST": "Alaska Standard Time"}, + timezones: map[string]string{"ACWST": "Australian Central Western Standard Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "HNPMX": "Mexican Pacific Standard Time", "GYT": "Guyana Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "CLST": "Chile Summer Time", "BOT": "Bolivia Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "VET": "Venezuela Time", "WAST": "West Africa Summer Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CAT": "Central Africa Time", "EDT": "Eastern Daylight Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "AEDT": "Australian Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "HNCU": "Cuba Standard Time", "WIT": "Eastern Indonesia Time", "∅∅∅": "Amazon Summer Time", "ECT": "Ecuador Time", "HEOG": "West Greenland Summer Time", "HAT": "Newfoundland Daylight Time", "WITA": "Central Indonesia Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "AKDT": "Alaska Daylight Time", "ART": "Argentina Standard Time", "HNOG": "West Greenland Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "EST": "Eastern Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "SRT": "Suriname Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "HNNOMX": "Northwest Mexico Standard Time", "MDT": "Macau Summer Time", "CDT": "Central Daylight Time", "HNT": "Newfoundland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHST": "Lord Howe Standard Time", "WAT": "West Africa Standard Time", "CST": "Central Standard Time", "WESZ": "Western European Summer Time", "CHADT": "Chatham Daylight Time", "PDT": "Pacific Daylight Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "HECU": "Cuba Daylight Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "AKST": "Alaska Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "NZST": "New Zealand Standard Time", "HNEG": "East Greenland Standard Time", "ACST": "Australian Central Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "ADT": "Atlantic Daylight Time", "OEZ": "Eastern European Standard Time", "HAST": "Hawaii-Aleutian Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_GM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GU/en_GU.go b/en_GU/en_GU.go index 08f9861e2..34fd7aa77 100644 --- a/en_GU/en_GU.go +++ b/en_GU/en_GU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CHADT": "Chatham Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "MDT": "Mountain Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "OEZ": "Eastern European Standard Time", "PDT": "Pacific Daylight Time", "EAT": "East Africa Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "WIT": "Eastern Indonesia Time", "ARST": "Argentina Summer Time", "AKST": "Alaska Standard Time", "GMT": "Greenwich Mean Time", "IST": "India Standard Time", "AST": "Atlantic Standard Time", "UYST": "Uruguay Summer Time", "HKST": "Hong Kong Summer Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "ACWST": "Australian Central Western Standard Time", "WAST": "West Africa Summer Time", "AWDT": "Australian Western Daylight Time", "VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "AEST": "Australian Eastern Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HKT": "Hong Kong Standard Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "WESZ": "Western European Summer Time", "MESZ": "Central European Summer Time", "BT": "Bhutan Time", "JDT": "Japan Daylight Time", "LHDT": "Lord Howe Daylight Time", "SGT": "Singapore Standard Time", "ECT": "Ecuador Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "HNT": "Newfoundland Standard Time", "CAT": "Central Africa Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "WAT": "West Africa Standard Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "WART": "Western Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "AKDT": "Alaska Daylight Time", "EDT": "Eastern Daylight Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "SAST": "South Africa Standard Time", "ACDT": "Australian Central Daylight Time", "∅∅∅": "Azores Summer Time", "WIB": "Western Indonesia Time", "CLT": "Chile Standard Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "LHST": "Lord Howe Standard Time", "WARST": "Western Argentina Summer Time", "MST": "Mountain Standard Time"}, + timezones: map[string]string{"CDT": "Central Daylight Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "UYT": "Uruguay Standard Time", "CST": "Central Standard Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time", "BOT": "Bolivia Time", "HNCU": "Cuba Standard Time", "GYT": "Guyana Time", "AEST": "Australian Eastern Standard Time", "MESZ": "Central European Summer Time", "∅∅∅": "Amazon Summer Time", "WART": "Western Argentina Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "AKST": "Alaska Standard Time", "WIB": "Western Indonesia Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "HEOG": "West Greenland Summer Time", "HKT": "Hong Kong Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "GFT": "French Guiana Time", "HNNOMX": "Northwest Mexico Standard Time", "CHAST": "Chatham Standard Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "AST": "Atlantic Standard Time", "CAT": "Central Africa Time", "MST": "Macau Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "UYST": "Uruguay Summer Time", "EST": "Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "WIT": "Eastern Indonesia Time", "ChST": "Chamorro Standard Time", "SRT": "Suriname Time", "HNOG": "West Greenland Standard Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "HEEG": "East Greenland Summer Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "ARST": "Argentina Summer Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "EDT": "Eastern Daylight Time", "VET": "Venezuela Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time", "CLT": "Chile Standard Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "BT": "Bhutan Time", "COST": "Colombia Summer Time", "HECU": "Cuba Daylight Time", "TMT": "Turkmenistan Standard Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "MYT": "Malaysia Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "NZDT": "New Zealand Daylight Time", "TMST": "Turkmenistan Summer Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time"}, } } @@ -428,7 +428,12 @@ func (en *en_GU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_GY/en_GY.go b/en_GY/en_GY.go index 56a5729d5..cde74900f 100644 --- a/en_GY/en_GY.go +++ b/en_GY/en_GY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "$", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "$", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "VET": "Venezuela Time", "WIB": "Western Indonesia Time", "IST": "India Standard Time", "WIT": "Eastern Indonesia Time", "OESZ": "Eastern European Summer Time", "BOT": "Bolivia Time", "HNT": "Newfoundland Standard Time", "ADT": "Atlantic Daylight Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "CST": "Central Standard Time", "CAT": "Central Africa Time", "SGT": "Singapore Standard Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "AWST": "Australian Western Standard Time", "UYT": "Uruguay Standard Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "JDT": "Japan Daylight Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "COT": "Colombia Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "GFT": "French Guiana Time", "AKST": "Alaska Standard Time", "WAT": "West Africa Standard Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "AEST": "Australian Eastern Standard Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "AWDT": "Australian Western Daylight Time", "ECT": "Ecuador Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "WART": "Western Argentina Standard Time", "PDT": "Pacific Daylight Time", "∅∅∅": "Azores Summer Time", "CLT": "Chile Standard Time", "WARST": "Western Argentina Summer Time", "ACWDT": "Australian Central Western Daylight Time", "GYT": "Guyana Time", "MESZ": "Central European Summer Time", "PST": "Pacific Standard Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "ART": "Argentina Standard Time", "LHST": "Lord Howe Standard Time", "UYST": "Uruguay Summer Time", "GMT": "Greenwich Mean Time", "OEZ": "Eastern European Standard Time", "AKDT": "Alaska Daylight Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time"}, + timezones: map[string]string{"ECT": "Ecuador Time", "COST": "Colombia Summer Time", "WART": "Western Argentina Standard Time", "HNT": "Newfoundland Standard Time", "PDT": "Pacific Daylight Time", "MESZ": "Central European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKST": "Hong Kong Summer Time", "TMT": "Turkmenistan Standard Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "MDT": "Mountain Daylight Time", "HKT": "Hong Kong Standard Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "HEOG": "West Greenland Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "BOT": "Bolivia Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "WIB": "Western Indonesia Time", "WESZ": "Western European Summer Time", "ART": "Argentina Standard Time", "GFT": "French Guiana Time", "HNNOMX": "Northwest Mexico Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "MYT": "Malaysia Time", "WITA": "Central Indonesia Time", "IST": "India Standard Time", "HNCU": "Cuba Standard Time", "CDT": "Central Daylight Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "EDT": "Eastern Daylight Time", "ACWST": "Australian Central Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CHAST": "Chatham Standard Time", "BT": "Bhutan Time", "∅∅∅": "Amazon Summer Time", "ChST": "Chamorro Standard Time", "GMT": "Greenwich Mean Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "WAT": "West Africa Standard Time", "COT": "Colombia Standard Time", "AEST": "Australian Eastern Standard Time", "CHADT": "Chatham Daylight Time", "JDT": "Japan Daylight Time", "NZDT": "New Zealand Daylight Time", "HEEG": "East Greenland Summer Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "UYST": "Uruguay Summer Time", "WIT": "Eastern Indonesia Time", "WEZ": "Western European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "OESZ": "Eastern European Summer Time", "WARST": "Western Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "CLST": "Chile Summer Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "MEZ": "Central European Standard Time", "HECU": "Cuba Daylight Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "AKDT": "Alaska Daylight Time", "VET": "Venezuela Time", "HNOG": "West Greenland Standard Time", "PST": "Pacific Standard Time", "EAT": "East Africa Time", "SRT": "Suriname Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_GY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_GY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_GY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_HK/en_HK.go b/en_HK/en_HK.go index 364641ad8..64351fda8 100644 --- a/en_HK/en_HK.go +++ b/en_HK/en_HK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "EDT": "Eastern Daylight Time", "HKST": "Hong Kong Summer Time", "SGT": "Singapore Standard Time", "IST": "India Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "AWDT": "Australian Western Daylight Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "LHST": "Lord Howe Standard Time", "ART": "Argentina Standard Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "SRT": "Suriname Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ChST": "Chamorro Standard Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "∅∅∅": "Brasilia Summer Time", "UYT": "Uruguay Standard Time", "GFT": "French Guiana Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "HAT": "Newfoundland Daylight Time", "CHAST": "Chatham Standard Time", "WARST": "Western Argentina Summer Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "CHADT": "Chatham Daylight Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "ACWST": "Australian Central Western Standard Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "PST": "Pacific Standard Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "AEST": "Australian Eastern Standard Time", "CLT": "Chile Standard Time", "AWST": "Australian Western Standard Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "WITA": "Central Indonesia Time", "MYT": "Malaysia Time", "JST": "Japan Standard Time", "AEDT": "Australian Eastern Daylight Time", "AST": "Atlantic Standard Time", "WAT": "West Africa Standard Time", "NZDT": "New Zealand Daylight Time", "LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time"}, + timezones: map[string]string{"LHDT": "Lord Howe Daylight Time", "MEZ": "Central European Standard Time", "MST": "Macau Standard Time", "HNPMX": "Mexican Pacific Standard Time", "ART": "Argentina Standard Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "COT": "Colombia Standard Time", "AKST": "Alaska Standard Time", "ARST": "Argentina Summer Time", "TMST": "Turkmenistan Summer Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "HECU": "Cuba Daylight Time", "CHAST": "Chatham Standard Time", "CLT": "Chile Standard Time", "ACWDT": "Australian Central Western Daylight Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "SGT": "Singapore Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "SRT": "Suriname Time", "JST": "Japan Standard Time", "WAT": "West Africa Standard Time", "WIB": "Western Indonesia Time", "HKST": "Hong Kong Summer Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "ADT": "Atlantic Daylight Time", "WEZ": "Western European Standard Time", "LHST": "Lord Howe Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "HNT": "Newfoundland Standard Time", "HNOG": "West Greenland Standard Time", "AWST": "Australian Western Standard Time", "AEDT": "Australian Eastern Daylight Time", "MESZ": "Central European Summer Time", "HNCU": "Cuba Standard Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "WART": "Western Argentina Standard Time", "IST": "India Standard Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "∅∅∅": "Azores Summer Time", "GMT": "Greenwich Mean Time", "AKDT": "Alaska Daylight Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "CLST": "Chile Summer Time", "ACST": "Australian Central Standard Time", "WESZ": "Western European Summer Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "WARST": "Western Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "BOT": "Bolivia Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "UYST": "Uruguay Summer Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time"}, } } @@ -112,8 +112,8 @@ func (en *en_HK) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_HK) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -409,7 +409,12 @@ func (en *en_HK) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (en *en_HK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +447,12 @@ func (en *en_HK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +468,12 @@ func (en *en_HK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_IE/en_IE.go b/en_IE/en_IE.go index 8bdae9e40..f2f0d6e42 100644 --- a/en_IE/en_IE.go +++ b/en_IE/en_IE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "SGT": "Singapore Standard Time", "WITA": "Central Indonesia Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "VET": "Venezuela Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "CST": "Central Standard Time", "BT": "Bhutan Time", "MESZ": "Central European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "JST": "Japan Standard Time", "CHADT": "Chatham Daylight Time", "COT": "Colombia Standard Time", "WIB": "Western Indonesia Time", "PDT": "Pacific Daylight Time", "AST": "Atlantic Standard Time", "SRT": "Suriname Time", "OESZ": "Eastern European Summer Time", "MEZ": "Central European Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "LHDT": "Lord Howe Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "EDT": "Eastern Daylight Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "ARST": "Argentina Summer Time", "ADT": "Atlantic Daylight Time", "BOT": "Bolivia Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "GMT": "Greenwich Mean Time", "HNT": "Newfoundland Standard Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "HKT": "Hong Kong Standard Time", "COST": "Colombia Summer Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "EAT": "East Africa Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "WARST": "Western Argentina Summer Time", "CDT": "Central Daylight Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "IST": "India Standard Time", "WESZ": "Western European Summer Time", "EST": "Eastern Standard Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "CLST": "Chile Summer Time", "AEST": "Australian Eastern Standard Time", "ART": "Argentina Standard Time", "AKDT": "Alaska Daylight Time", "∅∅∅": "Azores Summer Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time"}, + timezones: map[string]string{"GYT": "Guyana Time", "PST": "Pacific Standard Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "HNOG": "West Greenland Standard Time", "JST": "Japan Standard Time", "MYT": "Malaysia Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "MESZ": "Central European Summer Time", "NZST": "New Zealand Standard Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CAT": "Central Africa Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "WESZ": "Western European Summer Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "WEZ": "Western European Standard Time", "WITA": "Central Indonesia Time", "HEOG": "West Greenland Summer Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "NZDT": "New Zealand Daylight Time", "PDT": "Pacific Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "TMST": "Turkmenistan Summer Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "SRT": "Suriname Time", "SAST": "South Africa Standard Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "CHADT": "Chatham Daylight Time", "HEEG": "East Greenland Summer Time", "WARST": "Western Argentina Summer Time", "VET": "Venezuela Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "IST": "India Standard Time", "HNEG": "East Greenland Standard Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "MEZ": "Central European Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "WAST": "West Africa Summer Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time"}, } } @@ -112,8 +112,8 @@ func (en *en_IE) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_IE) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_IE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_IE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_IE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_IL/en_IL.go b/en_IL/en_IL.go index e2eef233f..aab8e5b2f 100644 --- a/en_IL/en_IL.go +++ b/en_IL/en_IL.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "CST": "Central Standard Time", "MST": "Mountain Standard Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time", "ACWDT": "Australian Central Western Daylight Time", "PDT": "Pacific Daylight Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "PST": "Pacific Standard Time", "∅∅∅": "Azores Summer Time", "AEDT": "Australian Eastern Daylight Time", "ECT": "Ecuador Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "IST": "India Standard Time", "WESZ": "Western European Summer Time", "ACST": "Australian Central Standard Time", "UYT": "Uruguay Standard Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "GMT": "Greenwich Mean Time", "HKT": "Hong Kong Standard Time", "SGT": "Singapore Standard Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "COST": "Colombia Summer Time", "WART": "Western Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMST": "Turkmenistan Summer Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "HKST": "Hong Kong Summer Time", "WAST": "West Africa Summer Time", "BT": "Bhutan Time", "JST": "Japan Standard Time", "CHADT": "Chatham Daylight Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "EAT": "East Africa Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "MEZ": "Central European Standard Time", "ARST": "Argentina Summer Time", "AST": "Atlantic Standard Time", "MDT": "Mountain Daylight Time", "CAT": "Central Africa Time", "TMT": "Turkmenistan Standard Time", "WIB": "Western Indonesia Time", "UYST": "Uruguay Summer Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "WAT": "West Africa Standard Time", "AEST": "Australian Eastern Standard Time", "AKDT": "Alaska Daylight Time", "NZST": "New Zealand Standard Time", "ART": "Argentina Standard Time"}, + timezones: map[string]string{"VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "HEOG": "West Greenland Summer Time", "IST": "India Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ChST": "Chamorro Standard Time", "WAT": "West Africa Standard Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "PST": "Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "GYT": "Guyana Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "HNEG": "East Greenland Standard Time", "EAT": "East Africa Time", "WIT": "Eastern Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "TMT": "Turkmenistan Standard Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "HNT": "Newfoundland Standard Time", "CHADT": "Chatham Daylight Time", "HECU": "Cuba Daylight Time", "AKST": "Alaska Standard Time", "BT": "Bhutan Time", "MESZ": "Central European Summer Time", "CHAST": "Chatham Standard Time", "CLST": "Chile Summer Time", "COST": "Colombia Summer Time", "CST": "Central Standard Time", "ACST": "Australian Central Standard Time", "HNCU": "Cuba Standard Time", "EDT": "Eastern Daylight Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "HNOG": "West Greenland Standard Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "TMST": "Turkmenistan Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "ARST": "Argentina Summer Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time"}, } } @@ -112,8 +112,8 @@ func (en *en_IL) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_IL) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_IL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_IL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_IL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_IM/en_IM.go b/en_IM/en_IM.go index 1e5a760d6..ed00d31ea 100644 --- a/en_IM/en_IM.go +++ b/en_IM/en_IM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "SAST": "South Africa Standard Time", "VET": "Venezuela Time", "WARST": "Western Argentina Summer Time", "WIT": "Eastern Indonesia Time", "ART": "Argentina Standard Time", "GYT": "Guyana Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "∅∅∅": "Azores Summer Time", "CST": "Central Standard Time", "SRT": "Suriname Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "WAT": "West Africa Standard Time", "TMT": "Turkmenistan Standard Time", "MDT": "Mountain Daylight Time", "CAT": "Central Africa Time", "AWDT": "Australian Western Daylight Time", "ARST": "Argentina Summer Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "PDT": "Pacific Daylight Time", "WAST": "West Africa Summer Time", "HKT": "Hong Kong Standard Time", "ECT": "Ecuador Time", "SGT": "Singapore Standard Time", "WART": "Western Argentina Standard Time", "MST": "Mountain Standard Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "AEST": "Australian Eastern Standard Time", "EST": "Eastern Standard Time", "PST": "Pacific Standard Time", "EAT": "East Africa Time", "NZST": "New Zealand Standard Time", "HAT": "Newfoundland Daylight Time", "ACDT": "Australian Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "OEZ": "Eastern European Standard Time", "CHADT": "Chatham Daylight Time", "ADT": "Atlantic Daylight Time", "ACWST": "Australian Central Western Standard Time", "BOT": "Bolivia Time", "MESZ": "Central European Summer Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "OESZ": "Eastern European Summer Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "AKST": "Alaska Standard Time", "WITA": "Central Indonesia Time", "CLST": "Chile Summer Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "COT": "Colombia Standard Time", "AKDT": "Alaska Daylight Time", "ChST": "Chamorro Standard Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "AST": "Atlantic Standard Time"}, + timezones: map[string]string{"HKST": "Hong Kong Summer Time", "CLST": "Chile Summer Time", "WART": "Western Argentina Standard Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time", "CST": "Central Standard Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "WITA": "Central Indonesia Time", "CAT": "Central Africa Time", "ECT": "Ecuador Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "UYT": "Uruguay Standard Time", "AST": "Atlantic Standard Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "AWST": "Australian Western Standard Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "HEEG": "East Greenland Summer Time", "WAT": "West Africa Standard Time", "MESZ": "Central European Summer Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HAT": "Newfoundland Daylight Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "∅∅∅": "Peru Summer Time", "OESZ": "Eastern European Summer Time", "HECU": "Cuba Daylight Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "COT": "Colombia Standard Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "NZDT": "New Zealand Daylight Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "MST": "Macau Standard Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "HNCU": "Cuba Standard Time", "EST": "Eastern Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZST": "New Zealand Standard Time", "LHDT": "Lord Howe Daylight Time", "COST": "Colombia Summer Time", "UYST": "Uruguay Summer Time", "GYT": "Guyana Time", "PST": "Pacific Standard Time", "HEOG": "West Greenland Summer Time", "AWDT": "Australian Western Daylight Time", "EAT": "East Africa Time", "MDT": "Macau Summer Time", "HNPMX": "Mexican Pacific Standard Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HNEG": "East Greenland Standard Time", "GFT": "French Guiana Time", "HEPMX": "Mexican Pacific Daylight Time", "HNOG": "West Greenland Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_IM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_IM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_IM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_IN/en_IN.go b/en_IN/en_IN.go index cfecbe2cf..474fa91f5 100644 --- a/en_IN/en_IN.go +++ b/en_IN/en_IN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HAST": "Hawaii-Aleutian Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "COT": "Colombia Standard Time", "ACDT": "Australian Central Daylight Time", "CST": "Central Standard Time", "∅∅∅": "Azores Summer Time", "CLST": "Chile Summer Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "AEDT": "Australian Eastern Daylight Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "MEZ": "Central European Standard Time", "WART": "Western Argentina Standard Time", "AKDT": "Alaska Daylight Time", "MDT": "Mountain Daylight Time", "EST": "Eastern Standard Time", "PST": "Pacific Standard Time", "WIT": "Eastern Indonesia Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "MST": "Mountain Standard Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "GMT": "Greenwich Mean Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "BT": "Bhutan Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "ACWST": "Australian Central Western Standard Time", "WAST": "West Africa Summer Time", "BOT": "Bolivia Time", "SGT": "Singapore Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "HKST": "Hong Kong Summer Time", "WEZ": "Western European Standard Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "WITA": "Central Indonesia Time", "JST": "Japan Standard Time", "OEZ": "Eastern European Standard Time", "ChST": "Chamorro Standard Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "CAT": "Central Africa Time", "SRT": "Suriname Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time"}, + timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "LHST": "Lord Howe Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "PDT": "Pacific Daylight Time", "HKST": "Hong Kong Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "∅∅∅": "Peru Summer Time", "HNOG": "West Greenland Standard Time", "JST": "Japan Standard Time", "WITA": "Central Indonesia Time", "IST": "India Standard Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "CDT": "Central Daylight Time", "AST": "Atlantic Standard Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "ChST": "Chamorro Standard Time", "AKDT": "Alaska Daylight Time", "MYT": "Malaysia Time", "VET": "Venezuela Time", "WEZ": "Western European Standard Time", "HEOG": "West Greenland Summer Time", "ACST": "Australian Central Standard Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "TMT": "Turkmenistan Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "SGT": "Singapore Standard Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "MEZ": "Central European Standard Time", "HEEG": "East Greenland Summer Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "MST": "Macau Standard Time", "EST": "Eastern Standard Time", "SRT": "Suriname Time", "BT": "Bhutan Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "HECU": "Cuba Daylight Time", "WART": "Western Argentina Standard Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time"}, } } @@ -477,7 +477,12 @@ func (en *en_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -491,7 +496,12 @@ func (en *en_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -507,7 +517,12 @@ func (en *en_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_IO/en_IO.go b/en_IO/en_IO.go index 859f8b981..cb121eb67 100644 --- a/en_IO/en_IO.go +++ b/en_IO/en_IO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"IST": "India Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "LHDT": "Lord Howe Daylight Time", "WESZ": "Western European Summer Time", "ACDT": "Australian Central Daylight Time", "PST": "Pacific Standard Time", "GFT": "French Guiana Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "SRT": "Suriname Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMST": "Turkmenistan Summer Time", "MESZ": "Central European Summer Time", "ART": "Argentina Standard Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "ECT": "Ecuador Time", "AKST": "Alaska Standard Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "MEZ": "Central European Standard Time", "SGT": "Singapore Standard Time", "MST": "Mountain Standard Time", "JST": "Japan Standard Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "LHST": "Lord Howe Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "CHAST": "Chatham Standard Time", "AEST": "Australian Eastern Standard Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "CHADT": "Chatham Daylight Time", "∅∅∅": "Peru Summer Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "UYST": "Uruguay Summer Time", "BOT": "Bolivia Time", "HKST": "Hong Kong Summer Time", "ADT": "Atlantic Daylight Time", "AST": "Atlantic Standard Time", "WAT": "West Africa Standard Time", "GYT": "Guyana Time", "MDT": "Mountain Daylight Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "EAT": "East Africa Time", "NZDT": "New Zealand Daylight Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "WART": "Western Argentina Standard Time"}, + timezones: map[string]string{"SRT": "Suriname Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "HEEG": "East Greenland Summer Time", "WESZ": "Western European Summer Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "TMST": "Turkmenistan Summer Time", "EST": "Eastern Standard Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "HNEG": "East Greenland Standard Time", "EAT": "East Africa Time", "OESZ": "Eastern European Summer Time", "VET": "Venezuela Time", "HNOG": "West Greenland Standard Time", "HKST": "Hong Kong Summer Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "ChST": "Chamorro Standard Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "ART": "Argentina Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "WART": "Western Argentina Standard Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHDT": "Lord Howe Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "BT": "Bhutan Time", "WITA": "Central Indonesia Time", "HECU": "Cuba Daylight Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Macau Standard Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Amazon Summer Time", "ACST": "Australian Central Standard Time", "GMT": "Greenwich Mean Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "ARST": "Argentina Summer Time", "GYT": "Guyana Time", "UYST": "Uruguay Summer Time", "OEZ": "Eastern European Standard Time", "SGT": "Singapore Standard Time", "TMT": "Turkmenistan Standard Time", "ECT": "Ecuador Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AWST": "Australian Western Standard Time", "MESZ": "Central European Summer Time", "PDT": "Pacific Daylight Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "WARST": "Western Argentina Summer Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "HEOG": "West Greenland Summer Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "CST": "Central Standard Time", "AST": "Atlantic Standard Time", "HNCU": "Cuba Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_IO) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_IO) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_IO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_IO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_IO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_JE/en_JE.go b/en_JE/en_JE.go index 8adcd9fdd..59240a3b1 100644 --- a/en_JE/en_JE.go +++ b/en_JE/en_JE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "CDT": "Central Daylight Time", "MDT": "Mountain Daylight Time", "JDT": "Japan Daylight Time", "SAST": "South Africa Standard Time", "WEZ": "Western European Standard Time", "AEST": "Australian Eastern Standard Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "OESZ": "Eastern European Summer Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "HKST": "Hong Kong Summer Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "PST": "Pacific Standard Time", "AST": "Atlantic Standard Time", "GMT": "Greenwich Mean Time", "ACWDT": "Australian Central Western Daylight Time", "WARST": "Western Argentina Summer Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "MESZ": "Central European Summer Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "HAT": "Newfoundland Daylight Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "ACWST": "Australian Central Western Standard Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "CAT": "Central Africa Time", "VET": "Venezuela Time", "WART": "Western Argentina Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "BT": "Bhutan Time", "UYST": "Uruguay Summer Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "WAST": "West Africa Summer Time", "WESZ": "Western European Summer Time", "CHAST": "Chatham Standard Time", "AEDT": "Australian Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "LHST": "Lord Howe Standard Time", "SGT": "Singapore Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "∅∅∅": "Peru Summer Time", "PDT": "Pacific Daylight Time", "GFT": "French Guiana Time", "CHADT": "Chatham Daylight Time", "COT": "Colombia Standard Time", "ECT": "Ecuador Time"}, + timezones: map[string]string{"BOT": "Bolivia Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time", "LHST": "Lord Howe Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "ACST": "Australian Central Standard Time", "WAT": "West Africa Standard Time", "COST": "Colombia Summer Time", "GMT": "Greenwich Mean Time", "AKST": "Alaska Standard Time", "MYT": "Malaysia Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "CDT": "Central Daylight Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "BT": "Bhutan Time", "HEOG": "West Greenland Summer Time", "PST": "Pacific Standard Time", "HNPMX": "Mexican Pacific Standard Time", "ADT": "Atlantic Daylight Time", "PDT": "Pacific Daylight Time", "NZDT": "New Zealand Daylight Time", "HKST": "Hong Kong Summer Time", "AWST": "Australian Western Standard Time", "HEEG": "East Greenland Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "HNEG": "East Greenland Standard Time", "HKT": "Hong Kong Standard Time", "∅∅∅": "Amazon Summer Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "MST": "Mountain Standard Time", "HNOG": "West Greenland Standard Time", "OESZ": "Eastern European Summer Time", "HECU": "Cuba Daylight Time", "SGT": "Singapore Standard Time", "MDT": "Mountain Daylight Time", "SAST": "South Africa Standard Time", "GFT": "French Guiana Time", "ARST": "Argentina Summer Time", "MESZ": "Central European Summer Time", "JST": "Japan Standard Time", "CLT": "Chile Standard Time", "ChST": "Chamorro Standard Time", "EDT": "Eastern Daylight Time", "WIB": "Western Indonesia Time", "WIT": "Eastern Indonesia Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "ECT": "Ecuador Time", "HNCU": "Cuba Standard Time", "AST": "Atlantic Standard Time", "UYST": "Uruguay Summer Time", "HNT": "Newfoundland Standard Time", "WAST": "West Africa Summer Time", "EAT": "East Africa Time", "AKDT": "Alaska Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLST": "Chile Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_JE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_JE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_JE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_JM/en_JM.go b/en_JM/en_JM.go index 9507b37fc..93cac37cb 100644 --- a/en_JM/en_JM.go +++ b/en_JM/en_JM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "$", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "$", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"SGT": "Singapore Standard Time", "CST": "Central Standard Time", "CLST": "Chile Summer Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "VET": "Venezuela Time", "MEZ": "Central European Standard Time", "CHADT": "Chatham Daylight Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "NZDT": "New Zealand Daylight Time", "WIT": "Eastern Indonesia Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "ARST": "Argentina Summer Time", "WAST": "West Africa Summer Time", "CDT": "Central Daylight Time", "WART": "Western Argentina Standard Time", "ACWDT": "Australian Central Western Daylight Time", "PDT": "Pacific Daylight Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "AEDT": "Australian Eastern Daylight Time", "TMT": "Turkmenistan Standard Time", "UYT": "Uruguay Standard Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "WESZ": "Western European Summer Time", "EDT": "Eastern Daylight Time", "EAT": "East Africa Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "AKDT": "Alaska Daylight Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "AKST": "Alaska Standard Time", "HAT": "Newfoundland Daylight Time", "CAT": "Central Africa Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "GYT": "Guyana Time", "ChST": "Chamorro Standard Time", "LHDT": "Lord Howe Daylight Time", "COST": "Colombia Summer Time", "WIB": "Western Indonesia Time", "ACDT": "Australian Central Daylight Time", "WARST": "Western Argentina Summer Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "∅∅∅": "Brasilia Summer Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "ACST": "Australian Central Standard Time", "HNT": "Newfoundland Standard Time", "ECT": "Ecuador Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "MESZ": "Central European Summer Time"}, + timezones: map[string]string{"BT": "Bhutan Time", "MEZ": "Central European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "WIT": "Eastern Indonesia Time", "PST": "Pacific Standard Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "SRT": "Suriname Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "AKDT": "Alaska Daylight Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHDT": "Lord Howe Daylight Time", "ChST": "Chamorro Standard Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "WAST": "West Africa Summer Time", "HNCU": "Cuba Standard Time", "CDT": "Central Daylight Time", "WEZ": "Western European Standard Time", "TMT": "Turkmenistan Standard Time", "SGT": "Singapore Standard Time", "MST": "Macau Standard Time", "HEOG": "West Greenland Summer Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "HNOG": "West Greenland Standard Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "COT": "Colombia Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "CHADT": "Chatham Daylight Time", "CLST": "Chile Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "EST": "Eastern Standard Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "JDT": "Japan Daylight Time", "TMST": "Turkmenistan Summer Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "GMT": "Greenwich Mean Time", "OESZ": "Eastern European Summer Time", "ACDT": "Australian Central Daylight Time", "UYT": "Uruguay Standard Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "BOT": "Bolivia Time", "ADT": "Atlantic Daylight Time", "CAT": "Central Africa Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "NZDT": "New Zealand Daylight Time", "HNEG": "East Greenland Standard Time", "∅∅∅": "Azores Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_JM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_JM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_JM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_KE/en_KE.go b/en_KE/en_KE.go index 0a5a060c0..527124ce9 100644 --- a/en_KE/en_KE.go +++ b/en_KE/en_KE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"PST": "Pacific Standard Time", "MYT": "Malaysia Time", "CST": "Central Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "ACST": "Australian Central Standard Time", "IST": "India Standard Time", "WEZ": "Western European Standard Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "BT": "Bhutan Time", "UYT": "Uruguay Standard Time", "AST": "Atlantic Standard Time", "AKDT": "Alaska Daylight Time", "EDT": "Eastern Daylight Time", "EAT": "East Africa Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "MST": "Mountain Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "WIB": "Western Indonesia Time", "SRT": "Suriname Time", "COT": "Colombia Standard Time", "HAT": "Newfoundland Daylight Time", "WIT": "Eastern Indonesia Time", "CAT": "Central Africa Time", "JST": "Japan Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "SAST": "South Africa Standard Time", "PDT": "Pacific Daylight Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "CHAST": "Chatham Standard Time", "ARST": "Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "CLST": "Chile Summer Time", "HKST": "Hong Kong Summer Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "UYST": "Uruguay Summer Time", "CHADT": "Chatham Daylight Time", "CLT": "Chile Standard Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "SGT": "Singapore Standard Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "AKST": "Alaska Standard Time", "∅∅∅": "Brasilia Summer Time", "GFT": "French Guiana Time", "AEST": "Australian Eastern Standard Time", "GYT": "Guyana Time", "LHST": "Lord Howe Standard Time", "GMT": "Greenwich Mean Time", "MESZ": "Central European Summer Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "ChST": "Chamorro Standard Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time"}, + timezones: map[string]string{"GYT": "Guyana Time", "MYT": "Malaysia Time", "AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "WESZ": "Western European Summer Time", "HNT": "Newfoundland Standard Time", "NZST": "New Zealand Standard Time", "HNEG": "East Greenland Standard Time", "HNPMX": "Mexican Pacific Standard Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "OESZ": "Eastern European Summer Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "PST": "Pacific Standard Time", "CHADT": "Chatham Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "SRT": "Suriname Time", "TMT": "Turkmenistan Standard Time", "HNCU": "Cuba Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "MEZ": "Central European Standard Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "HNOG": "West Greenland Standard Time", "AWST": "Australian Western Standard Time", "CST": "Central Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time", "UYST": "Uruguay Summer Time", "HAT": "Newfoundland Daylight Time", "IST": "India Standard Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PDT": "Pacific Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZDT": "New Zealand Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "HECU": "Cuba Daylight Time", "OEZ": "Eastern European Standard Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "JDT": "Japan Daylight Time", "COT": "Colombia Standard Time", "CAT": "Central Africa Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "HEOG": "West Greenland Summer Time", "ChST": "Chamorro Standard Time", "ACDT": "Australian Central Daylight Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_KE) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_KE) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_KI/en_KI.go b/en_KI/en_KI.go index 99e3ab447..92a724ba2 100644 --- a/en_KI/en_KI.go +++ b/en_KI/en_KI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"JST": "Japan Standard Time", "CHADT": "Chatham Daylight Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "AKST": "Alaska Standard Time", "LHDT": "Lord Howe Daylight Time", "UYST": "Uruguay Summer Time", "WESZ": "Western European Summer Time", "ACST": "Australian Central Standard Time", "CDT": "Central Daylight Time", "HKT": "Hong Kong Standard Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "TMT": "Turkmenistan Standard Time", "MST": "Mountain Standard Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "PST": "Pacific Standard Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "WEZ": "Western European Standard Time", "∅∅∅": "Acre Summer Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "COT": "Colombia Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "COST": "Colombia Summer Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "AWST": "Australian Western Standard Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "ECT": "Ecuador Time", "PDT": "Pacific Daylight Time", "MYT": "Malaysia Time", "CAT": "Central Africa Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "WAST": "West Africa Summer Time", "IST": "India Standard Time", "AEDT": "Australian Eastern Daylight Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "MDT": "Mountain Daylight Time", "GYT": "Guyana Time", "ACDT": "Australian Central Daylight Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "HAT": "Newfoundland Daylight Time", "WITA": "Central Indonesia Time", "HNT": "Newfoundland Standard Time", "CST": "Central Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "WAT": "West Africa Standard Time", "ADT": "Atlantic Daylight Time"}, + timezones: map[string]string{"GFT": "French Guiana Time", "CAT": "Central Africa Time", "AWDT": "Australian Western Daylight Time", "EDT": "Eastern Daylight Time", "SGT": "Singapore Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "WITA": "Central Indonesia Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "HNOG": "West Greenland Standard Time", "UYT": "Uruguay Standard Time", "CDT": "Central Daylight Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "ART": "Argentina Standard Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "WIB": "Western Indonesia Time", "HEOG": "West Greenland Summer Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "AST": "Atlantic Standard Time", "AEDT": "Australian Eastern Daylight Time", "HKST": "Hong Kong Summer Time", "BT": "Bhutan Time", "CST": "Central Standard Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "SAST": "South Africa Standard Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "MST": "Macau Standard Time", "MYT": "Malaysia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "HNCU": "Cuba Standard Time", "OESZ": "Eastern European Summer Time", "ACWST": "Australian Central Western Standard Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "∅∅∅": "Amazon Summer Time", "TMT": "Turkmenistan Standard Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "AKDT": "Alaska Daylight Time", "UYST": "Uruguay Summer Time", "WIT": "Eastern Indonesia Time", "ARST": "Argentina Summer Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "HEEG": "East Greenland Summer Time", "WARST": "Western Argentina Summer Time", "ADT": "Atlantic Daylight Time", "WEZ": "Western European Standard Time", "AEST": "Australian Eastern Standard Time", "COST": "Colombia Summer Time", "HNNOMX": "Northwest Mexico Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_KI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_KI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_KI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_KN/en_KN.go b/en_KN/en_KN.go index 5af722cd7..1c40820fc 100644 --- a/en_KN/en_KN.go +++ b/en_KN/en_KN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWST": "Australian Western Standard Time", "MESZ": "Central European Summer Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "IST": "India Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "SGT": "Singapore Standard Time", "WARST": "Western Argentina Summer Time", "WAT": "West Africa Standard Time", "LHST": "Lord Howe Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "SAST": "South Africa Standard Time", "PDT": "Pacific Daylight Time", "MYT": "Malaysia Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "GFT": "French Guiana Time", "MEZ": "Central European Standard Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "EST": "Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "∅∅∅": "Azores Summer Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "CST": "Central Standard Time", "MST": "Mountain Standard Time", "AWDT": "Australian Western Daylight Time", "AKDT": "Alaska Daylight Time", "JST": "Japan Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "VET": "Venezuela Time", "WIB": "Western Indonesia Time", "MDT": "Mountain Daylight Time", "OEZ": "Eastern European Standard Time", "HKT": "Hong Kong Standard Time"}, + timezones: map[string]string{"CDT": "Central Daylight Time", "LHDT": "Lord Howe Daylight Time", "TMT": "Turkmenistan Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HAT": "Newfoundland Daylight Time", "HEOG": "West Greenland Summer Time", "GYT": "Guyana Time", "HEEG": "East Greenland Summer Time", "ACDT": "Australian Central Daylight Time", "PDT": "Pacific Daylight Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "BOT": "Bolivia Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "LHST": "Lord Howe Standard Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "HKT": "Hong Kong Standard Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "WITA": "Central Indonesia Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "ART": "Argentina Standard Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "HNOG": "West Greenland Standard Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "WESZ": "Western European Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "ChST": "Chamorro Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WART": "Western Argentina Standard Time", "WIT": "Eastern Indonesia Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "HNCU": "Cuba Standard Time", "NZST": "New Zealand Standard Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "AST": "Atlantic Standard Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "WEZ": "Western European Standard Time", "UYST": "Uruguay Summer Time", "∅∅∅": "Amazon Summer Time", "JDT": "Japan Daylight Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "HECU": "Cuba Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time"}, } } @@ -428,7 +428,12 @@ func (en *en_KN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_KN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_KN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_KY/en_KY.go b/en_KY/en_KY.go index 353146708..929a7a134 100644 --- a/en_KY/en_KY.go +++ b/en_KY/en_KY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "$", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "$", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ART": "Argentina Standard Time", "IST": "India Standard Time", "BT": "Bhutan Time", "SRT": "Suriname Time", "ACST": "Australian Central Standard Time", "AEST": "Australian Eastern Standard Time", "JST": "Japan Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "CDT": "Central Daylight Time", "GMT": "Greenwich Mean Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "TMT": "Turkmenistan Standard Time", "AKDT": "Alaska Daylight Time", "PDT": "Pacific Daylight Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "MST": "Mountain Standard Time", "JDT": "Japan Daylight Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "AST": "Atlantic Standard Time", "AWDT": "Australian Western Daylight Time", "WARST": "Western Argentina Summer Time", "ACWDT": "Australian Central Western Daylight Time", "GYT": "Guyana Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "WIB": "Western Indonesia Time", "WART": "Western Argentina Standard Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "MESZ": "Central European Summer Time", "WAT": "West Africa Standard Time", "HAT": "Newfoundland Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "AWST": "Australian Western Standard Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "WAST": "West Africa Summer Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time", "MEZ": "Central European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "CHADT": "Chatham Daylight Time", "ACDT": "Australian Central Daylight Time", "MDT": "Mountain Daylight Time", "WITA": "Central Indonesia Time", "∅∅∅": "Brasilia Summer Time", "LHDT": "Lord Howe Daylight Time", "HKST": "Hong Kong Summer Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time"}, + timezones: map[string]string{"WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "PDT": "Pacific Daylight Time", "AEST": "Australian Eastern Standard Time", "CLST": "Chile Summer Time", "HKST": "Hong Kong Summer Time", "∅∅∅": "Amazon Summer Time", "EDT": "Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "JDT": "Japan Daylight Time", "WAT": "West Africa Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MESZ": "Central European Summer Time", "NZDT": "New Zealand Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "IST": "India Standard Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "MST": "Mountain Standard Time", "VET": "Venezuela Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ADT": "Atlantic Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "HNEG": "East Greenland Standard Time", "OESZ": "Eastern European Summer Time", "MYT": "Malaysia Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "AST": "Atlantic Standard Time", "PST": "Pacific Standard Time", "ARST": "Argentina Summer Time", "EAT": "East Africa Time", "CHAST": "Chatham Standard Time", "ChST": "Chamorro Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "WITA": "Central Indonesia Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "UYST": "Uruguay Summer Time", "GYT": "Guyana Time", "MDT": "Mountain Daylight Time", "WIT": "Eastern Indonesia Time", "HEEG": "East Greenland Summer Time", "TMST": "Turkmenistan Summer Time", "HNCU": "Cuba Standard Time", "WEZ": "Western European Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "MEZ": "Central European Standard Time", "OEZ": "Eastern European Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "HEOG": "West Greenland Summer Time", "AEDT": "Australian Eastern Daylight Time", "CHADT": "Chatham Daylight Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "WARST": "Western Argentina Summer Time", "HECU": "Cuba Daylight Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "ART": "Argentina Standard Time", "HNOG": "West Greenland Standard Time", "TMT": "Turkmenistan Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_KY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_KY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_KY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_LC/en_LC.go b/en_LC/en_LC.go index 37060437c..7c5a14cc6 100644 --- a/en_LC/en_LC.go +++ b/en_LC/en_LC.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ECT": "Ecuador Time", "EST": "Eastern Standard Time", "CAT": "Central Africa Time", "LHST": "Lord Howe Standard Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "GYT": "Guyana Time", "CHADT": "Chatham Daylight Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "OEZ": "Eastern European Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "JST": "Japan Standard Time", "WESZ": "Western European Summer Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "WIT": "Eastern Indonesia Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "AEDT": "Australian Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "CST": "Central Standard Time", "∅∅∅": "Brasilia Summer Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "CLT": "Chile Standard Time", "UYT": "Uruguay Standard Time", "COT": "Colombia Standard Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "ACWDT": "Australian Central Western Daylight Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "ChST": "Chamorro Standard Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "AWST": "Australian Western Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AST": "Atlantic Standard Time", "MDT": "Mountain Daylight Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "SAST": "South Africa Standard Time", "GMT": "Greenwich Mean Time", "OESZ": "Eastern European Summer Time", "CHAST": "Chatham Standard Time", "COST": "Colombia Summer Time", "PDT": "Pacific Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "HKST": "Hong Kong Summer Time", "AKDT": "Alaska Daylight Time"}, + timezones: map[string]string{"GFT": "French Guiana Time", "EAT": "East Africa Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "HNCU": "Cuba Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "PST": "Pacific Standard Time", "ARST": "Argentina Summer Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "WAT": "West Africa Standard Time", "AKST": "Alaska Standard Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "COT": "Colombia Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "MDT": "Macau Summer Time", "WEZ": "Western European Standard Time", "HEOG": "West Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "AKDT": "Alaska Daylight Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "CST": "Central Standard Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "HNOG": "West Greenland Standard Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "MST": "Macau Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "MEZ": "Central European Standard Time", "AWDT": "Australian Western Daylight Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "OESZ": "Eastern European Summer Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "∅∅∅": "Amazon Summer Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "AST": "Atlantic Standard Time", "MESZ": "Central European Summer Time", "WESZ": "Western European Summer Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "COST": "Colombia Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "HEPM": "St. Pierre & Miquelon Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_LC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_LC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_LC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_LR/en_LR.go b/en_LR/en_LR.go index d29181280..b8a9e6e8d 100644 --- a/en_LR/en_LR.go +++ b/en_LR/en_LR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ADT": "Atlantic Daylight Time", "CLT": "Chile Standard Time", "VET": "Venezuela Time", "AKST": "Alaska Standard Time", "TMT": "Turkmenistan Standard Time", "MYT": "Malaysia Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "WESZ": "Western European Summer Time", "MESZ": "Central European Summer Time", "PST": "Pacific Standard Time", "NZST": "New Zealand Standard Time", "COST": "Colombia Summer Time", "AEDT": "Australian Eastern Daylight Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "WIT": "Eastern Indonesia Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "MDT": "Mountain Daylight Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "SRT": "Suriname Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "CLST": "Chile Summer Time", "LHDT": "Lord Howe Daylight Time", "UYST": "Uruguay Summer Time", "ECT": "Ecuador Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "EST": "Eastern Standard Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "TMST": "Turkmenistan Summer Time", "∅∅∅": "Peru Summer Time", "UYT": "Uruguay Standard Time", "ACST": "Australian Central Standard Time", "WAT": "West Africa Standard Time", "BT": "Bhutan Time", "HKT": "Hong Kong Standard Time", "HAST": "Hawaii-Aleutian Standard Time"}, + timezones: map[string]string{"IST": "India Standard Time", "JDT": "Japan Daylight Time", "SAST": "South Africa Standard Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "GYT": "Guyana Time", "HENOMX": "Northwest Mexico Daylight Time", "SGT": "Singapore Standard Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "BT": "Bhutan Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "LHST": "Lord Howe Standard Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "SRT": "Suriname Time", "CLT": "Chile Standard Time", "MYT": "Malaysia Time", "CST": "Central Standard Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "MST": "Macau Standard Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "HECU": "Cuba Daylight Time", "AST": "Atlantic Standard Time", "AKDT": "Alaska Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZDT": "New Zealand Daylight Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "UYT": "Uruguay Standard Time", "WIT": "Eastern Indonesia Time", "HEOG": "West Greenland Summer Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "ECT": "Ecuador Time", "∅∅∅": "Azores Summer Time", "ADT": "Atlantic Daylight Time", "ACWST": "Australian Central Western Standard Time", "CHAST": "Chatham Standard Time", "HEEG": "East Greenland Summer Time", "COT": "Colombia Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNCU": "Cuba Standard Time", "AKST": "Alaska Standard Time", "HNOG": "West Greenland Standard Time", "AEST": "Australian Eastern Standard Time", "MESZ": "Central European Summer Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "AEDT": "Australian Eastern Daylight Time", "GFT": "French Guiana Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "LHDT": "Lord Howe Daylight Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "HADT": "Hawaii-Aleutian Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_LR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_LR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_LR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_LS/en_LS.go b/en_LS/en_LS.go index e048fecc6..946e2d9c7 100644 --- a/en_LS/en_LS.go +++ b/en_LS/en_LS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HKT": "Hong Kong Standard Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "BOT": "Bolivia Time", "WIT": "Eastern Indonesia Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "EAT": "East Africa Time", "NZST": "New Zealand Standard Time", "AST": "Atlantic Standard Time", "IST": "India Standard Time", "HNT": "Newfoundland Standard Time", "OEZ": "Eastern European Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "SRT": "Suriname Time", "VET": "Venezuela Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "HKST": "Hong Kong Summer Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "CAT": "Central Africa Time", "LHDT": "Lord Howe Daylight Time", "TMT": "Turkmenistan Standard Time", "ECT": "Ecuador Time", "COST": "Colombia Summer Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "EST": "Eastern Standard Time", "WAST": "West Africa Summer Time", "CHADT": "Chatham Daylight Time", "EDT": "Eastern Daylight Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "MST": "Mountain Standard Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "ACST": "Australian Central Standard Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "BT": "Bhutan Time", "MESZ": "Central European Summer Time", "LHST": "Lord Howe Standard Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "OESZ": "Eastern European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "WAT": "West Africa Standard Time", "WEZ": "Western European Standard Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "ADT": "Atlantic Daylight Time", "∅∅∅": "Azores Summer Time", "HAT": "Newfoundland Daylight Time"}, + timezones: map[string]string{"HENOMX": "Northwest Mexico Daylight Time", "JST": "Japan Standard Time", "HNPMX": "Mexican Pacific Standard Time", "UYT": "Uruguay Standard Time", "TMST": "Turkmenistan Summer Time", "HEEG": "East Greenland Summer Time", "∅∅∅": "Peru Summer Time", "PST": "Pacific Standard Time", "WEZ": "Western European Standard Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "EAT": "East Africa Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "CAT": "Central Africa Time", "HEPMX": "Mexican Pacific Daylight Time", "ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "NZDT": "New Zealand Daylight Time", "SAST": "South Africa Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "HEOG": "West Greenland Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HNEG": "East Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "WIB": "Western Indonesia Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "ChST": "Chamorro Standard Time", "ACST": "Australian Central Standard Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "MST": "Macau Standard Time", "HAT": "Newfoundland Daylight Time", "AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "AEDT": "Australian Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "WAT": "West Africa Standard Time", "WART": "Western Argentina Standard Time", "ADT": "Atlantic Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "GFT": "French Guiana Time", "MDT": "Macau Summer Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "HNOG": "West Greenland Standard Time", "AWDT": "Australian Western Daylight Time", "HKST": "Hong Kong Summer Time", "BOT": "Bolivia Time"}, } } @@ -428,7 +428,12 @@ func (en *en_LS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_LS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_LS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MG/en_MG.go b/en_MG/en_MG.go index f1283622c..30430958f 100644 --- a/en_MG/en_MG.go +++ b/en_MG/en_MG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"IST": "India Standard Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "EDT": "Eastern Daylight Time", "BOT": "Bolivia Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "WAT": "West Africa Standard Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "MDT": "Mountain Daylight Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "WAST": "West Africa Summer Time", "CST": "Central Standard Time", "OESZ": "Eastern European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "AEST": "Australian Eastern Standard Time", "ARST": "Argentina Summer Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "BT": "Bhutan Time", "∅∅∅": "Brasilia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "WARST": "Western Argentina Summer Time", "NZST": "New Zealand Standard Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "MST": "Mountain Standard Time", "WESZ": "Western European Summer Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "ART": "Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "CHADT": "Chatham Daylight Time", "SRT": "Suriname Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "MYT": "Malaysia Time", "CAT": "Central Africa Time", "ACST": "Australian Central Standard Time", "WIB": "Western Indonesia Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "AST": "Atlantic Standard Time", "LHST": "Lord Howe Standard Time", "OEZ": "Eastern European Standard Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "WART": "Western Argentina Standard Time"}, + timezones: map[string]string{"SGT": "Singapore Standard Time", "UYT": "Uruguay Standard Time", "BT": "Bhutan Time", "HEEG": "East Greenland Summer Time", "OESZ": "Eastern European Summer Time", "ADT": "Atlantic Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "EST": "Eastern Standard Time", "ART": "Argentina Standard Time", "HEOG": "West Greenland Summer Time", "HKT": "Hong Kong Standard Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "HECU": "Cuba Daylight Time", "MDT": "Macau Summer Time", "AWDT": "Australian Western Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "∅∅∅": "Peru Summer Time", "HNCU": "Cuba Standard Time", "HNPMX": "Mexican Pacific Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "GFT": "French Guiana Time", "NZDT": "New Zealand Daylight Time", "AST": "Atlantic Standard Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "GMT": "Greenwich Mean Time", "PDT": "Pacific Daylight Time", "CHADT": "Chatham Daylight Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "CAT": "Central Africa Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "PST": "Pacific Standard Time", "WEZ": "Western European Standard Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "EDT": "Eastern Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "AKST": "Alaska Standard Time", "BOT": "Bolivia Time", "WITA": "Central Indonesia Time", "WARST": "Western Argentina Summer Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "HNOG": "West Greenland Standard Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "LHDT": "Lord Howe Daylight Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "MST": "Macau Standard Time", "AKDT": "Alaska Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ChST": "Chamorro Standard Time", "ACDT": "Australian Central Daylight Time", "AWST": "Australian Western Standard Time", "NZST": "New Zealand Standard Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HAT": "Newfoundland Daylight Time", "MESZ": "Central European Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MH/en_MH.go b/en_MH/en_MH.go index 0a8f06cb8..060969d5e 100644 --- a/en_MH/en_MH.go +++ b/en_MH/en_MH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ACST": "Australian Central Standard Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "NZST": "New Zealand Standard Time", "GMT": "Greenwich Mean Time", "ECT": "Ecuador Time", "MEZ": "Central European Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "GFT": "French Guiana Time", "HKST": "Hong Kong Summer Time", "VET": "Venezuela Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "WART": "Western Argentina Standard Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "OEZ": "Eastern European Standard Time", "WESZ": "Western European Summer Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "SRT": "Suriname Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "WAT": "West Africa Standard Time", "GYT": "Guyana Time", "MST": "Macau Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "∅∅∅": "Brasilia Summer Time", "SGT": "Singapore Standard Time", "AEDT": "Australian Eastern Daylight Time", "WITA": "Central Indonesia Time", "ART": "Argentina Standard Time", "CST": "Central Standard Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "OESZ": "Eastern European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "HAT": "Newfoundland Daylight Time", "CHAST": "Chatham Standard Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AWDT": "Australian Western Daylight Time", "CDT": "Central Daylight Time", "MDT": "Macau Summer Time", "WEZ": "Western European Standard Time", "COT": "Colombia Standard Time", "MYT": "Malaysia Time"}, + timezones: map[string]string{"HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "WAT": "West Africa Standard Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "BOT": "Bolivia Time", "HENOMX": "Northwest Mexico Daylight Time", "CHADT": "Chatham Daylight Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "BT": "Bhutan Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "CLST": "Chile Summer Time", "NZDT": "New Zealand Daylight Time", "HNCU": "Cuba Standard Time", "UYST": "Uruguay Summer Time", "AWDT": "Australian Western Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "JDT": "Japan Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "COT": "Colombia Standard Time", "GMT": "Greenwich Mean Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "HAT": "Newfoundland Daylight Time", "TMST": "Turkmenistan Summer Time", "OESZ": "Eastern European Summer Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "HNT": "Newfoundland Standard Time", "ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "WESZ": "Western European Summer Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "AEDT": "Australian Eastern Daylight Time", "∅∅∅": "Amazon Summer Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "HEEG": "East Greenland Summer Time", "HECU": "Cuba Daylight Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "ACST": "Australian Central Standard Time", "MDT": "Mountain Daylight Time", "SRT": "Suriname Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "GFT": "French Guiana Time", "AKDT": "Alaska Daylight Time", "MST": "Mountain Standard Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "HKST": "Hong Kong Summer Time", "SGT": "Singapore Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MO/en_MO.go b/en_MO/en_MO.go index 1d1fc7ead..a17dfb91d 100644 --- a/en_MO/en_MO.go +++ b/en_MO/en_MO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "HKT": "Hong Kong Standard Time", "AEDT": "Australian Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "CLT": "Chile Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "OESZ": "Eastern European Summer Time", "MYT": "Malaysia Time", "GYT": "Guyana Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "VET": "Venezuela Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "BT": "Bhutan Time", "SGT": "Singapore Standard Time", "WESZ": "Western European Summer Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "∅∅∅": "Azores Summer Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "MST": "Mountain Standard Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "ARST": "Argentina Summer Time", "LHDT": "Lord Howe Daylight Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "LHST": "Lord Howe Standard Time", "PST": "Pacific Standard Time", "CAT": "Central Africa Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "BOT": "Bolivia Time", "ACWDT": "Australian Central Western Daylight Time", "WAST": "West Africa Summer Time", "WITA": "Central Indonesia Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "UYST": "Uruguay Summer Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "TMST": "Turkmenistan Summer Time", "AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "EST": "Eastern Standard Time", "GMT": "Greenwich Mean Time", "WEZ": "Western European Standard Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time"}, + timezones: map[string]string{"WITA": "Central Indonesia Time", "HNEG": "East Greenland Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "CHAST": "Chatham Standard Time", "JDT": "Japan Daylight Time", "MDT": "Macau Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "HNCU": "Cuba Standard Time", "UYT": "Uruguay Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "EDT": "Eastern Daylight Time", "ACST": "Australian Central Standard Time", "WART": "Western Argentina Standard Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "OEZ": "Eastern European Standard Time", "MST": "Macau Standard Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "SRT": "Suriname Time", "HEOG": "West Greenland Summer Time", "CDT": "Central Daylight Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "MESZ": "Central European Summer Time", "IST": "India Standard Time", "WAST": "West Africa Summer Time", "SGT": "Singapore Standard Time", "HNOG": "West Greenland Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "MEZ": "Central European Standard Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "NZDT": "New Zealand Daylight Time", "TMT": "Turkmenistan Standard Time", "COST": "Colombia Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "MYT": "Malaysia Time", "HAST": "Hawaii-Aleutian Standard Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Amazon Summer Time", "HEEG": "East Greenland Summer Time", "HECU": "Cuba Daylight Time", "ADT": "Atlantic Daylight Time", "HAT": "Newfoundland Daylight Time", "ARST": "Argentina Summer Time", "AEST": "Australian Eastern Standard Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "WAT": "West Africa Standard Time", "VET": "Venezuela Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "GMT": "Greenwich Mean Time", "GYT": "Guyana Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CHADT": "Chatham Daylight Time", "WIT": "Eastern Indonesia Time", "ART": "Argentina Standard Time", "PDT": "Pacific Daylight Time", "HKT": "Hong Kong Standard Time", "CLT": "Chile Standard Time", "ECT": "Ecuador Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "AST": "Atlantic Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MP/en_MP.go b/en_MP/en_MP.go index f2ac2b4c1..2a538fb38 100644 --- a/en_MP/en_MP.go +++ b/en_MP/en_MP.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "COST": "Colombia Summer Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "WITA": "Central Indonesia Time", "WARST": "Western Argentina Summer Time", "MDT": "Mountain Daylight Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "AEST": "Australian Eastern Standard Time", "GYT": "Guyana Time", "CLST": "Chile Summer Time", "ACST": "Australian Central Standard Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "WART": "Western Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "IST": "India Standard Time", "HKST": "Hong Kong Summer Time", "SGT": "Singapore Standard Time", "ARST": "Argentina Summer Time", "NZDT": "New Zealand Daylight Time", "UYST": "Uruguay Summer Time", "MST": "Mountain Standard Time", "LHDT": "Lord Howe Daylight Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "∅∅∅": "Azores Summer Time", "CLT": "Chile Standard Time", "CHADT": "Chatham Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "CDT": "Central Daylight Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "ECT": "Ecuador Time", "ACDT": "Australian Central Daylight Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "WAST": "West Africa Summer Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "SAST": "South Africa Standard Time", "LHST": "Lord Howe Standard Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "JDT": "Japan Daylight Time"}, + timezones: map[string]string{"HEPM": "St. Pierre & Miquelon Daylight Time", "SRT": "Suriname Time", "ACWST": "Australian Central Western Standard Time", "LHDT": "Lord Howe Daylight Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "COT": "Colombia Standard Time", "HNPMX": "Mexican Pacific Standard Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "ChST": "Chamorro Standard Time", "ART": "Argentina Standard Time", "WEZ": "Western European Standard Time", "JDT": "Japan Daylight Time", "BOT": "Bolivia Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "GYT": "Guyana Time", "UYST": "Uruguay Summer Time", "CAT": "Central Africa Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "CDT": "Central Daylight Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time", "MST": "Macau Standard Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "NZDT": "New Zealand Daylight Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "HECU": "Cuba Daylight Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "ACST": "Australian Central Standard Time", "OESZ": "Eastern European Summer Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "MEZ": "Central European Standard Time", "CLT": "Chile Standard Time", "TMT": "Turkmenistan Standard Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "AKDT": "Alaska Daylight Time", "ARST": "Argentina Summer Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "∅∅∅": "Amazon Summer Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HNEG": "East Greenland Standard Time", "HNCU": "Cuba Standard Time", "MYT": "Malaysia Time", "AEST": "Australian Eastern Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MP) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MP) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MP) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MS/en_MS.go b/en_MS/en_MS.go index 03d68494d..3b4900679 100644 --- a/en_MS/en_MS.go +++ b/en_MS/en_MS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"GYT": "Guyana Time", "MEZ": "Central European Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "GMT": "Greenwich Mean Time", "COT": "Colombia Standard Time", "ECT": "Ecuador Time", "IST": "India Standard Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "COST": "Colombia Summer Time", "WIB": "Western Indonesia Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "ACST": "Australian Central Standard Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "JST": "Japan Standard Time", "HKT": "Hong Kong Standard Time", "GFT": "French Guiana Time", "ACWST": "Australian Central Western Standard Time", "OEZ": "Eastern European Standard Time", "CDT": "Central Daylight Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "∅∅∅": "Peru Summer Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "WAT": "West Africa Standard Time", "AWST": "Australian Western Standard Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "JDT": "Japan Daylight Time", "VET": "Venezuela Time", "EAT": "East Africa Time", "TMST": "Turkmenistan Summer Time", "ACDT": "Australian Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "PDT": "Pacific Daylight Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "SRT": "Suriname Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "MDT": "Mountain Daylight Time", "NZDT": "New Zealand Daylight Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time", "WESZ": "Western European Summer Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "OESZ": "Eastern European Summer Time", "ARST": "Argentina Summer Time"}, + timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "CLST": "Chile Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MESZ": "Central European Summer Time", "HNEG": "East Greenland Standard Time", "COST": "Colombia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "PST": "Pacific Standard Time", "HEOG": "West Greenland Summer Time", "CAT": "Central Africa Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "GMT": "Greenwich Mean Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "JDT": "Japan Daylight Time", "AWDT": "Australian Western Daylight Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "CLT": "Chile Standard Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "ACST": "Australian Central Standard Time", "WAST": "West Africa Summer Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "UYST": "Uruguay Summer Time", "HNOG": "West Greenland Standard Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Amazon Summer Time", "EDT": "Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "MYT": "Malaysia Time", "WESZ": "Western European Summer Time", "CHADT": "Chatham Daylight Time", "BOT": "Bolivia Time", "VET": "Venezuela Time", "WEZ": "Western European Standard Time", "ChST": "Chamorro Standard Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MT/en_MT.go b/en_MT/en_MT.go index b8f54c2f3..c62a25942 100644 --- a/en_MT/en_MT.go +++ b/en_MT/en_MT.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "AKDT": "Alaska Daylight Time", "EAT": "East Africa Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "LHDT": "Lord Howe Daylight Time", "WESZ": "Western European Summer Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "MYT": "Malaysia Time", "CHADT": "Chatham Daylight Time", "WEZ": "Western European Standard Time", "ACST": "Australian Central Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "MESZ": "Central European Summer Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "GMT": "Greenwich Mean Time", "WART": "Western Argentina Standard Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "SAST": "South Africa Standard Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "ChST": "Chamorro Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "AKST": "Alaska Standard Time", "∅∅∅": "Azores Summer Time", "CAT": "Central Africa Time", "ECT": "Ecuador Time", "WAST": "West Africa Summer Time", "CHAST": "Chatham Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MST": "Mountain Standard Time", "WIT": "Eastern Indonesia Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "UYST": "Uruguay Summer Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "LHST": "Lord Howe Standard Time", "SRT": "Suriname Time", "VET": "Venezuela Time", "SGT": "Singapore Standard Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time"}, + timezones: map[string]string{"WEZ": "Western European Standard Time", "SAST": "South Africa Standard Time", "TMST": "Turkmenistan Summer Time", "CAT": "Central Africa Time", "PST": "Pacific Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "IST": "India Standard Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "HKST": "Hong Kong Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "ACWST": "Australian Central Western Standard Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "HEEG": "East Greenland Summer Time", "UYT": "Uruguay Standard Time", "MESZ": "Central European Summer Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time", "HNCU": "Cuba Standard Time", "MST": "Macau Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "ChST": "Chamorro Standard Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "AEST": "Australian Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "COST": "Colombia Summer Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "EAT": "East Africa Time", "ACDT": "Australian Central Daylight Time", "HKT": "Hong Kong Standard Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HAT": "Newfoundland Daylight Time", "∅∅∅": "Amazon Summer Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "PDT": "Pacific Daylight Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "TMT": "Turkmenistan Standard Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "EDT": "Eastern Daylight Time", "ECT": "Ecuador Time", "NZDT": "New Zealand Daylight Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_MT) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_MT) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -432,7 +432,12 @@ func (en *en_MT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +455,12 @@ func (en *en_MT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +476,12 @@ func (en *en_MT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MU/en_MU.go b/en_MU/en_MU.go index 222fe0295..02d4c89a0 100644 --- a/en_MU/en_MU.go +++ b/en_MU/en_MU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"PST": "Pacific Standard Time", "ADT": "Atlantic Daylight Time", "HAT": "Newfoundland Daylight Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "AKST": "Alaska Standard Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "CAT": "Central Africa Time", "CHAST": "Chatham Standard Time", "WESZ": "Western European Summer Time", "TMT": "Turkmenistan Standard Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACST": "Australian Central Standard Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "HNT": "Newfoundland Standard Time", "OEZ": "Eastern European Standard Time", "MST": "Mountain Standard Time", "CLT": "Chile Standard Time", "SGT": "Singapore Standard Time", "MYT": "Malaysia Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "ACWST": "Australian Central Western Standard Time", "MDT": "Mountain Daylight Time", "NZDT": "New Zealand Daylight Time", "LHST": "Lord Howe Standard Time", "MEZ": "Central European Standard Time", "ART": "Argentina Standard Time", "EST": "Eastern Standard Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "IST": "India Standard Time", "AWST": "Australian Western Standard Time", "COST": "Colombia Summer Time", "BOT": "Bolivia Time", "NZST": "New Zealand Standard Time", "MESZ": "Central European Summer Time", "CST": "Central Standard Time", "ACDT": "Australian Central Daylight Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "AWDT": "Australian Western Daylight Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "WAT": "West Africa Standard Time", "WITA": "Central Indonesia Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "UYT": "Uruguay Standard Time", "CHADT": "Chatham Daylight Time", "∅∅∅": "Acre Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AKDT": "Alaska Daylight Time", "TMST": "Turkmenistan Summer Time", "UYST": "Uruguay Summer Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "COT": "Colombia Standard Time", "AEDT": "Australian Eastern Daylight Time", "JST": "Japan Standard Time"}, + timezones: map[string]string{"∅∅∅": "Azores Summer Time", "LHST": "Lord Howe Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HEEG": "East Greenland Summer Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "OEZ": "Eastern European Standard Time", "HNEG": "East Greenland Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "ARST": "Argentina Summer Time", "AEST": "Australian Eastern Standard Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "AST": "Atlantic Standard Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "GMT": "Greenwich Mean Time", "AEDT": "Australian Eastern Daylight Time", "MEZ": "Central European Standard Time", "TMT": "Turkmenistan Standard Time", "EAT": "East Africa Time", "SRT": "Suriname Time", "CLST": "Chile Summer Time", "WART": "Western Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "HKST": "Hong Kong Summer Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "WAT": "West Africa Standard Time", "HNCU": "Cuba Standard Time", "CHADT": "Chatham Daylight Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "BT": "Bhutan Time", "NZDT": "New Zealand Daylight Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "EST": "Eastern Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "HECU": "Cuba Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "HNT": "Newfoundland Standard Time", "AWDT": "Australian Western Daylight Time", "ChST": "Chamorro Standard Time", "WIT": "Eastern Indonesia Time", "CLT": "Chile Standard Time", "ACST": "Australian Central Standard Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "AWST": "Australian Western Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WITA": "Central Indonesia Time", "ECT": "Ecuador Time", "SGT": "Singapore Standard Time", "WESZ": "Western European Summer Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "MESZ": "Central European Summer Time", "TMST": "Turkmenistan Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MW/en_MW.go b/en_MW/en_MW.go index 9cd07c854..add3b49c9 100644 --- a/en_MW/en_MW.go +++ b/en_MW/en_MW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WESZ": "Western European Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "WITA": "Central Indonesia Time", "MDT": "Macau Summer Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "AWST": "Australian Western Standard Time", "OESZ": "Eastern European Summer Time", "SGT": "Singapore Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "IST": "India Standard Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "JDT": "Japan Daylight Time", "COT": "Colombia Standard Time", "PDT": "Pacific Daylight Time", "EST": "Eastern Standard Time", "MST": "Macau Standard Time", "HKST": "Hong Kong Summer Time", "ART": "Argentina Standard Time", "EAT": "East Africa Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "SAST": "South Africa Standard Time", "MYT": "Malaysia Time", "COST": "Colombia Summer Time", "ACWST": "Australian Central Western Standard Time", "PST": "Pacific Standard Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "BOT": "Bolivia Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "HKT": "Hong Kong Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AKDT": "Alaska Daylight Time", "∅∅∅": "Brasilia Summer Time", "OEZ": "Eastern European Standard Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "WEZ": "Western European Standard Time", "TMT": "Turkmenistan Standard Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "AKST": "Alaska Standard Time", "TMST": "Turkmenistan Summer Time"}, + timezones: map[string]string{"ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "CDT": "Central Daylight Time", "ART": "Argentina Standard Time", "HKT": "Hong Kong Standard Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "WAST": "West Africa Summer Time", "AST": "Atlantic Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "HEOG": "West Greenland Summer Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "MST": "Macau Standard Time", "CST": "Central Standard Time", "HNOG": "West Greenland Standard Time", "∅∅∅": "Azores Summer Time", "AKST": "Alaska Standard Time", "AWDT": "Australian Western Daylight Time", "ACST": "Australian Central Standard Time", "OESZ": "Eastern European Summer Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MESZ": "Central European Summer Time", "GFT": "French Guiana Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "HEEG": "East Greenland Summer Time", "AEST": "Australian Eastern Standard Time", "WITA": "Central Indonesia Time", "LHDT": "Lord Howe Daylight Time", "MDT": "Macau Summer Time", "WART": "Western Argentina Standard Time", "ACWST": "Australian Central Western Standard Time", "CHAST": "Chatham Standard Time", "UYT": "Uruguay Standard Time", "BT": "Bhutan Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "WARST": "Western Argentina Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "UYST": "Uruguay Summer Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "HNEG": "East Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "GMT": "Greenwich Mean Time", "HNCU": "Cuba Standard Time", "CLST": "Chile Summer Time", "PST": "Pacific Standard Time", "WESZ": "Western European Summer Time", "AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "HNNOMX": "Northwest Mexico Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "OEZ": "Eastern European Standard Time", "WEZ": "Western European Standard Time", "NZST": "New Zealand Standard Time", "SGT": "Singapore Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "WIB": "Western Indonesia Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_MY/en_MY.go b/en_MY/en_MY.go index d998d7e40..e76fd4706 100644 --- a/en_MY/en_MY.go +++ b/en_MY/en_MY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MEZ": "Central European Standard Time", "SGT": "Singapore Standard Time", "AEDT": "Australian Eastern Daylight Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "MDT": "Mountain Daylight Time", "AWDT": "Australian Western Daylight Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "WAST": "West Africa Summer Time", "TMST": "Turkmenistan Summer Time", "HAT": "Newfoundland Daylight Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "JST": "Japan Standard Time", "CHADT": "Chatham Daylight Time", "ART": "Argentina Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "AEST": "Australian Eastern Standard Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "WAT": "West Africa Standard Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "BOT": "Bolivia Time", "COST": "Colombia Summer Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "COT": "Colombia Standard Time", "EAT": "East Africa Time", "∅∅∅": "Peru Summer Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "SAST": "South Africa Standard Time", "CST": "Central Standard Time", "NZST": "New Zealand Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MST": "Mountain Standard Time", "LHST": "Lord Howe Standard Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"CLT": "Chile Standard Time", "WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "HEEG": "East Greenland Summer Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "ART": "Argentina Standard Time", "HKST": "Hong Kong Summer Time", "IST": "India Standard Time", "COST": "Colombia Summer Time", "CST": "Central Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "EDT": "Eastern Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "WEZ": "Western European Standard Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "CHAST": "Chatham Standard Time", "OESZ": "Eastern European Summer Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Macau Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "TMT": "Turkmenistan Standard Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "GFT": "French Guiana Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "HEPMX": "Mexican Pacific Daylight Time", "AST": "Atlantic Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ARST": "Argentina Summer Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "TMST": "Turkmenistan Summer Time", "AKST": "Alaska Standard Time", "SRT": "Suriname Time", "PST": "Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "ACDT": "Australian Central Daylight Time", "WIB": "Western Indonesia Time", "PDT": "Pacific Daylight Time", "HEOG": "West Greenland Summer Time", "AWDT": "Australian Western Daylight Time", "CAT": "Central Africa Time", "HENOMX": "Northwest Mexico Daylight Time", "MDT": "Macau Summer Time", "ADT": "Atlantic Daylight Time", "HNOG": "West Greenland Standard Time", "AWST": "Australian Western Standard Time", "BOT": "Bolivia Time", "WAT": "West Africa Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_MY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_MY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_MY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NA/en_NA.go b/en_NA/en_NA.go index f09cb60b3..bc987d6a4 100644 --- a/en_NA/en_NA.go +++ b/en_NA/en_NA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "WIB": "Western Indonesia Time", "WITA": "Central Indonesia Time", "∅∅∅": "Peru Summer Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAST": "West Africa Summer Time", "AKDT": "Alaska Daylight Time", "CAT": "Central Africa Time", "WAT": "West Africa Standard Time", "GYT": "Guyana Time", "MST": "Mountain Standard Time", "BOT": "Bolivia Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "EDT": "Eastern Daylight Time", "ART": "Argentina Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "GMT": "Greenwich Mean Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "ARST": "Argentina Summer Time", "HNT": "Newfoundland Standard Time", "IST": "India Standard Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "COST": "Colombia Summer Time", "ACWST": "Australian Central Western Standard Time", "ADT": "Atlantic Daylight Time", "CHAST": "Chatham Standard Time", "HKT": "Hong Kong Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AST": "Atlantic Standard Time", "WIT": "Eastern Indonesia Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "MDT": "Mountain Daylight Time", "TMT": "Turkmenistan Standard Time", "AWDT": "Australian Western Daylight Time", "OESZ": "Eastern European Summer Time", "CHADT": "Chatham Daylight Time", "SRT": "Suriname Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "PST": "Pacific Standard Time", "SAST": "South Africa Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "UYST": "Uruguay Summer Time", "ACST": "Australian Central Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time"}, + timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "CLST": "Chile Summer Time", "∅∅∅": "Amazon Summer Time", "CST": "Central Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "ART": "Argentina Standard Time", "WART": "Western Argentina Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HKST": "Hong Kong Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HEEG": "East Greenland Summer Time", "COT": "Colombia Standard Time", "UYST": "Uruguay Summer Time", "AKST": "Alaska Standard Time", "AST": "Atlantic Standard Time", "BT": "Bhutan Time", "PST": "Pacific Standard Time", "HAT": "Newfoundland Daylight Time", "NZST": "New Zealand Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "AKDT": "Alaska Daylight Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "IST": "India Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "HEOG": "West Greenland Summer Time", "MESZ": "Central European Summer Time", "ChST": "Chamorro Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "HNPMX": "Mexican Pacific Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "WIT": "Eastern Indonesia Time", "WEZ": "Western European Standard Time", "HNOG": "West Greenland Standard Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "MDT": "Macau Summer Time", "MYT": "Malaysia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZDT": "New Zealand Daylight Time", "ECT": "Ecuador Time", "HECU": "Cuba Daylight Time", "PDT": "Pacific Daylight Time", "WARST": "Western Argentina Summer Time", "SRT": "Suriname Time", "AWST": "Australian Western Standard Time", "WAT": "West Africa Standard Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "CHAST": "Chatham Standard Time", "SGT": "Singapore Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_NA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_NA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_NA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NF/en_NF.go b/en_NF/en_NF.go index 0c27c5fa6..bed6b5c99 100644 --- a/en_NF/en_NF.go +++ b/en_NF/en_NF.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HAST": "Hawaii-Aleutian Standard Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "∅∅∅": "Brasilia Summer Time", "GMT": "Greenwich Mean Time", "ACST": "Australian Central Standard Time", "TMT": "Turkmenistan Standard Time", "LHST": "Lord Howe Standard Time", "WEZ": "Western European Standard Time", "ADT": "Atlantic Daylight Time", "SAST": "South Africa Standard Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "CLST": "Chile Summer Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "HNT": "Newfoundland Standard Time", "PST": "Pacific Standard Time", "MYT": "Malaysia Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "WARST": "Western Argentina Summer Time", "NZDT": "New Zealand Daylight Time", "OESZ": "Eastern European Summer Time", "VET": "Venezuela Time", "AST": "Atlantic Standard Time", "WAST": "West Africa Summer Time", "MST": "Mountain Standard Time", "BT": "Bhutan Time", "LHDT": "Lord Howe Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ECT": "Ecuador Time", "MEZ": "Central European Standard Time", "EST": "Eastern Standard Time", "CAT": "Central Africa Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "COST": "Colombia Summer Time", "WITA": "Central Indonesia Time", "CLT": "Chile Standard Time", "MESZ": "Central European Summer Time", "ACDT": "Australian Central Daylight Time", "AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "HAT": "Newfoundland Daylight Time", "UYT": "Uruguay Standard Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "TMST": "Turkmenistan Summer Time", "GFT": "French Guiana Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "JDT": "Japan Daylight Time", "WIB": "Western Indonesia Time", "SRT": "Suriname Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "AKDT": "Alaska Daylight Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "SGT": "Singapore Standard Time"}, + timezones: map[string]string{"NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "ChST": "Chamorro Standard Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "MEZ": "Central European Standard Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "HNCU": "Cuba Standard Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "BOT": "Bolivia Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "CAT": "Central Africa Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "MYT": "Malaysia Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "HNOG": "West Greenland Standard Time", "HNEG": "East Greenland Standard Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "ACST": "Australian Central Standard Time", "∅∅∅": "Peru Summer Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "CDT": "Central Daylight Time", "AST": "Atlantic Standard Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HECU": "Cuba Daylight Time", "GFT": "French Guiana Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HEOG": "West Greenland Summer Time", "CHADT": "Chatham Daylight Time", "CST": "Central Standard Time", "ADT": "Atlantic Daylight Time", "VET": "Venezuela Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "IST": "India Standard Time", "SGT": "Singapore Standard Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_NF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_NF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_NF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NG/en_NG.go b/en_NG/en_NG.go index c12cf25a1..1db906622 100644 --- a/en_NG/en_NG.go +++ b/en_NG/en_NG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZDT": "New Zealand Daylight Time", "SGT": "Singapore Standard Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "WAT": "West Africa Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "OESZ": "Eastern European Summer Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "ACST": "Australian Central Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WARST": "Western Argentina Summer Time", "IST": "India Standard Time", "GYT": "Guyana Time", "UYST": "Uruguay Summer Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "HNT": "Newfoundland Standard Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "CAT": "Central Africa Time", "AWDT": "Australian Western Daylight Time", "WESZ": "Western European Summer Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "VET": "Venezuela Time", "AST": "Atlantic Standard Time", "WITA": "Central Indonesia Time", "HAT": "Newfoundland Daylight Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "ART": "Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "LHDT": "Lord Howe Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "WEZ": "Western European Standard Time", "PST": "Pacific Standard Time", "∅∅∅": "Brasilia Summer Time", "HKT": "Hong Kong Standard Time", "ACWST": "Australian Central Western Standard Time", "GMT": "Greenwich Mean Time", "AEDT": "Australian Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "CHADT": "Chatham Daylight Time", "AEST": "Australian Eastern Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "MESZ": "Central European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "MYT": "Malaysia Time"}, + timezones: map[string]string{"MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "UYST": "Uruguay Summer Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "MEZ": "Central European Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "SRT": "Suriname Time", "AWST": "Australian Western Standard Time", "LHST": "Lord Howe Standard Time", "TMT": "Turkmenistan Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "BT": "Bhutan Time", "PST": "Pacific Standard Time", "HKST": "Hong Kong Summer Time", "LHDT": "Lord Howe Daylight Time", "GMT": "Greenwich Mean Time", "HEPMX": "Mexican Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "TMST": "Turkmenistan Summer Time", "WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "EAT": "East Africa Time", "OEZ": "Eastern European Standard Time", "WAST": "West Africa Summer Time", "WIT": "Eastern Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "HNEG": "East Greenland Standard Time", "SGT": "Singapore Standard Time", "WIB": "Western Indonesia Time", "WESZ": "Western European Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZST": "New Zealand Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "HNOG": "West Greenland Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "CLST": "Chile Summer Time", "WARST": "Western Argentina Summer Time", "UYT": "Uruguay Standard Time", "HEEG": "East Greenland Summer Time", "OESZ": "Eastern European Summer Time", "AST": "Atlantic Standard Time", "MYT": "Malaysia Time", "HNT": "Newfoundland Standard Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "HAT": "Newfoundland Daylight Time", "HEOG": "West Greenland Summer Time", "WITA": "Central Indonesia Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "ACWST": "Australian Central Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "WAT": "West Africa Standard Time", "ECT": "Ecuador Time", "MDT": "Macau Summer Time", "CST": "Central Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_NG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_NG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_NG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NL/en_NL.go b/en_NL/en_NL.go index 25bcd4795..641a953bb 100644 --- a/en_NL/en_NL.go +++ b/en_NL/en_NL.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: "( ", currencyNegativeSuffix: ")", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "WIT": "Eastern Indonesia Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "GMT": "Greenwich Mean Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "∅∅∅": "Azores Summer Time", "BT": "Bhutan Time", "HNT": "Newfoundland Standard Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "ARST": "Argentina Summer Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "WART": "Western Argentina Standard Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "SRT": "Suriname Time", "AEDT": "Australian Eastern Daylight Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "CLT": "Chile Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "MDT": "Mountain Daylight Time", "SGT": "Singapore Standard Time", "IST": "India Standard Time", "TMT": "Turkmenistan Standard Time", "MST": "Mountain Standard Time", "CST": "Central Standard Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMST": "Turkmenistan Summer Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "HAST": "Hawaii-Aleutian Standard Time"}, + timezones: map[string]string{"HAST": "Hawaii-Aleutian Standard Time", "HEOG": "West Greenland Summer Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "TMT": "Turkmenistan Standard Time", "UYST": "Uruguay Summer Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "AWDT": "Australian Western Daylight Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "JDT": "Japan Daylight Time", "CLT": "Chile Standard Time", "WAT": "West Africa Standard Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "PST": "Pacific Standard Time", "HNCU": "Cuba Standard Time", "AKDT": "Alaska Daylight Time", "EAT": "East Africa Time", "SGT": "Singapore Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WIT": "Eastern Indonesia Time", "HNOG": "West Greenland Standard Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "IST": "India Standard Time", "MEZ": "Central European Standard Time", "GMT": "Greenwich Mean Time", "HECU": "Cuba Daylight Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "LHST": "Lord Howe Standard Time", "HNEG": "East Greenland Standard Time", "OEZ": "Eastern European Standard Time", "WARST": "Western Argentina Summer Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "ChST": "Chamorro Standard Time", "GFT": "French Guiana Time", "HENOMX": "Northwest Mexico Daylight Time", "AKST": "Alaska Standard Time", "BT": "Bhutan Time", "WEZ": "Western European Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "CST": "Central Standard Time", "CLST": "Chile Summer Time", "∅∅∅": "Amazon Summer Time", "ECT": "Ecuador Time", "CAT": "Central Africa Time", "OESZ": "Eastern European Summer Time", "PDT": "Pacific Daylight Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "WART": "Western Argentina Standard Time", "GYT": "Guyana Time", "MESZ": "Central European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "MYT": "Malaysia Time", "WIB": "Western Indonesia Time", "ARST": "Argentina Summer Time", "WITA": "Central Indonesia Time", "HEEG": "East Greenland Summer Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time"}, } } @@ -440,7 +440,12 @@ func (en *en_NL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +459,12 @@ func (en *en_NL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +480,12 @@ func (en *en_NL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NR/en_NR.go b/en_NR/en_NR.go index fe70a247d..2f6ff7509 100644 --- a/en_NR/en_NR.go +++ b/en_NR/en_NR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"TMST": "Turkmenistan Summer Time", "CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "JST": "Japan Standard Time", "∅∅∅": "Brasilia Summer Time", "CHAST": "Chatham Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "EAT": "East Africa Time", "VET": "Venezuela Time", "SAST": "South Africa Standard Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "SRT": "Suriname Time", "ACST": "Australian Central Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WIT": "Eastern Indonesia Time", "ADT": "Atlantic Daylight Time", "MDT": "Mountain Daylight Time", "UYST": "Uruguay Summer Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "ACWST": "Australian Central Western Standard Time", "IST": "India Standard Time", "PST": "Pacific Standard Time", "MESZ": "Central European Summer Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "CLST": "Chile Summer Time", "WEZ": "Western European Standard Time", "WITA": "Central Indonesia Time", "HAT": "Newfoundland Daylight Time", "OESZ": "Eastern European Summer Time", "MEZ": "Central European Standard Time", "AKDT": "Alaska Daylight Time", "CHADT": "Chatham Daylight Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "ChST": "Chamorro Standard Time", "UYT": "Uruguay Standard Time", "JDT": "Japan Daylight Time", "HKT": "Hong Kong Standard Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "ACDT": "Australian Central Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "GYT": "Guyana Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "COST": "Colombia Summer Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "WART": "Western Argentina Standard Time", "WAT": "West Africa Standard Time", "CST": "Central Standard Time", "COT": "Colombia Standard Time", "ECT": "Ecuador Time", "WAST": "West Africa Summer Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "LHDT": "Lord Howe Daylight Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time"}, + timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "PST": "Pacific Standard Time", "AWDT": "Australian Western Daylight Time", "TMST": "Turkmenistan Summer Time", "ECT": "Ecuador Time", "HNPMX": "Mexican Pacific Standard Time", "ADT": "Atlantic Daylight Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "IST": "India Standard Time", "AKST": "Alaska Standard Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "EAT": "East Africa Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "GFT": "French Guiana Time", "CAT": "Central Africa Time", "HNCU": "Cuba Standard Time", "ARST": "Argentina Summer Time", "MDT": "Macau Summer Time", "UYT": "Uruguay Standard Time", "HEOG": "West Greenland Summer Time", "WESZ": "Western European Summer Time", "JST": "Japan Standard Time", "BOT": "Bolivia Time", "WART": "Western Argentina Standard Time", "SGT": "Singapore Standard Time", "AEST": "Australian Eastern Standard Time", "JDT": "Japan Daylight Time", "GMT": "Greenwich Mean Time", "MYT": "Malaysia Time", "BT": "Bhutan Time", "HECU": "Cuba Daylight Time", "MST": "Macau Standard Time", "CST": "Central Standard Time", "HKT": "Hong Kong Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HNOG": "West Greenland Standard Time", "CHADT": "Chatham Daylight Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "OEZ": "Eastern European Standard Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZST": "New Zealand Standard Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "PDT": "Pacific Daylight Time", "NZDT": "New Zealand Daylight Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "SRT": "Suriname Time", "WARST": "Western Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "UYST": "Uruguay Summer Time", "LHDT": "Lord Howe Daylight Time", "CLST": "Chile Summer Time", "HNEG": "East Greenland Standard Time", "AST": "Atlantic Standard Time", "WITA": "Central Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "∅∅∅": "Amazon Summer Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "ACWST": "Australian Central Western Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_NR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_NR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_NR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NU/en_NU.go b/en_NU/en_NU.go index 0a8053674..fa0e48bbc 100644 --- a/en_NU/en_NU.go +++ b/en_NU/en_NU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "CHAST": "Chatham Standard Time", "TMT": "Turkmenistan Standard Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "AEST": "Australian Eastern Standard Time", "ADT": "Atlantic Daylight Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "ECT": "Ecuador Time", "WAT": "West Africa Standard Time", "CAT": "Central Africa Time", "OEZ": "Eastern European Standard Time", "HKST": "Hong Kong Summer Time", "COT": "Colombia Standard Time", "EAT": "East Africa Time", "AKST": "Alaska Standard Time", "PDT": "Pacific Daylight Time", "MST": "Mountain Standard Time", "CLST": "Chile Summer Time", "ACWST": "Australian Central Western Standard Time", "HKT": "Hong Kong Standard Time", "ACDT": "Australian Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "CLT": "Chile Standard Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "NZDT": "New Zealand Daylight Time", "SRT": "Suriname Time", "VET": "Venezuela Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "∅∅∅": "Peru Summer Time", "COST": "Colombia Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "WITA": "Central Indonesia Time", "HAT": "Newfoundland Daylight Time", "WIB": "Western Indonesia Time", "ChST": "Chamorro Standard Time", "JST": "Japan Standard Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "IST": "India Standard Time", "CST": "Central Standard Time", "SGT": "Singapore Standard Time", "ART": "Argentina Standard Time", "AST": "Atlantic Standard Time", "TMST": "Turkmenistan Summer Time"}, + timezones: map[string]string{"HNEG": "East Greenland Standard Time", "HNPMX": "Mexican Pacific Standard Time", "SRT": "Suriname Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ACWST": "Australian Central Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "NZST": "New Zealand Standard Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "WAT": "West Africa Standard Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "HENOMX": "Northwest Mexico Daylight Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "WARST": "Western Argentina Summer Time", "AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "GYT": "Guyana Time", "MEZ": "Central European Standard Time", "EST": "Eastern Standard Time", "HKST": "Hong Kong Summer Time", "MESZ": "Central European Summer Time", "OEZ": "Eastern European Standard Time", "CAT": "Central Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "MYT": "Malaysia Time", "HAT": "Newfoundland Daylight Time", "PDT": "Pacific Daylight Time", "CHADT": "Chatham Daylight Time", "COT": "Colombia Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHDT": "Lord Howe Daylight Time", "CST": "Central Standard Time", "ADT": "Atlantic Daylight Time", "WEZ": "Western European Standard Time", "TMST": "Turkmenistan Summer Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "TMT": "Turkmenistan Standard Time", "CLT": "Chile Standard Time", "HEEG": "East Greenland Summer Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "SAST": "South Africa Standard Time", "∅∅∅": "Peru Summer Time", "COST": "Colombia Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "CLST": "Chile Summer Time", "AWDT": "Australian Western Daylight Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "HEOG": "West Greenland Summer Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "HNCU": "Cuba Standard Time", "WIT": "Eastern Indonesia Time", "HECU": "Cuba Daylight Time", "UYT": "Uruguay Standard Time", "PST": "Pacific Standard Time", "WART": "Western Argentina Standard Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_NU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_NU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_NU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_NZ/en_NZ.go b/en_NZ/en_NZ.go index c7f7276fe..96b604d17 100644 --- a/en_NZ/en_NZ.go +++ b/en_NZ/en_NZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZST": "New Zealand Standard Time", "MESZ": "Central European Summer Time", "AKDT": "Alaska Daylight Time", "ACWST": "Australian Central Western Standard Time", "EDT": "Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "UYST": "Uruguay Summer Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "NZDT": "New Zealand Daylight Time", "HAT": "Newfoundland Daylight Time", "CLT": "Chile Standard Time", "CHAST": "Chatham Standard Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "BOT": "Bolivia Time", "CHADT": "Chatham Daylight Time", "∅∅∅": "Acre Summer Time", "AST": "Atlantic Standard Time", "WITA": "Central Indonesia Time", "WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "HNT": "Newfoundland Standard Time", "SRT": "Suriname Time", "MYT": "Malaysia Time", "ACDT": "Australian Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "HKT": "Hong Kong Standard Time", "SGT": "Singapore Standard Time", "AEST": "Australian Eastern Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "UYT": "Uruguay Standard Time", "PDT": "Pacific Daylight Time", "BT": "Bhutan Time", "ChST": "Chamorro Standard Time", "WESZ": "Western European Summer Time", "CDT": "Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EST": "Eastern Standard Time", "MST": "Mountain Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "HKST": "Hong Kong Summer Time", "AWDT": "Australian Western Daylight Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "AWST": "Australian Western Standard Time", "COT": "Colombia Standard Time", "ACST": "Australian Central Standard Time"}, + timezones: map[string]string{"AST": "Atlantic Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CHADT": "Chatham Daylight Time", "CLT": "Chile Standard Time", "COT": "Colombia Standard Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "MEZ": "Central European Standard Time", "EAT": "East Africa Time", "AKDT": "Alaska Daylight Time", "ARST": "Argentina Summer Time", "HNOG": "West Greenland Standard Time", "HEOG": "West Greenland Summer Time", "WITA": "Central Indonesia Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "HEPMX": "Mexican Pacific Daylight Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "WART": "Western Argentina Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HNCU": "Cuba Standard Time", "NZDT": "New Zealand Daylight Time", "OEZ": "Eastern European Standard Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "GMT": "Greenwich Mean Time", "ART": "Argentina Standard Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "AEST": "Australian Eastern Standard Time", "HNEG": "East Greenland Standard Time", "COST": "Colombia Summer Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "PST": "Pacific Standard Time", "NZST": "New Zealand Standard Time", "IST": "India Standard Time", "ChST": "Chamorro Standard Time", "WAT": "West Africa Standard Time", "SRT": "Suriname Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "HECU": "Cuba Daylight Time", "AWST": "Australian Western Standard Time", "AEDT": "Australian Eastern Daylight Time", "CHAST": "Chatham Standard Time", "WAST": "West Africa Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JDT": "Japan Daylight Time", "HKST": "Hong Kong Summer Time", "WIB": "Western Indonesia Time", "WEZ": "Western European Standard Time", "SGT": "Singapore Standard Time", "MYT": "Malaysia Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "CDT": "Central Daylight Time", "MDT": "Macau Summer Time", "VET": "Venezuela Time", "∅∅∅": "Amazon Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "CST": "Central Standard Time", "PDT": "Pacific Daylight Time", "LHDT": "Lord Howe Daylight Time", "ACST": "Australian Central Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EDT": "Eastern Daylight Time", "UYST": "Uruguay Summer Time", "LHST": "Lord Howe Standard Time", "MESZ": "Central European Summer Time", "AWDT": "Australian Western Daylight Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time"}, } } @@ -440,7 +440,12 @@ func (en *en_NZ) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +459,12 @@ func (en *en_NZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +480,12 @@ func (en *en_NZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PG/en_PG.go b/en_PG/en_PG.go index f1ee63293..87f39d481 100644 --- a/en_PG/en_PG.go +++ b/en_PG/en_PG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "K", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "K", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MDT": "Macau Summer Time", "NZDT": "New Zealand Daylight Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "AST": "Atlantic Standard Time", "AWST": "Australian Western Standard Time", "SRT": "Suriname Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "EDT": "Eastern Daylight Time", "MESZ": "Central European Summer Time", "ART": "Argentina Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "AWDT": "Australian Western Daylight Time", "CHADT": "Chatham Daylight Time", "AEST": "Australian Eastern Standard Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "OEZ": "Eastern European Standard Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "ACST": "Australian Central Standard Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "MST": "Macau Standard Time", "JST": "Japan Standard Time", "COST": "Colombia Summer Time", "WIT": "Eastern Indonesia Time", "GFT": "French Guiana Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "VET": "Venezuela Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "LHST": "Lord Howe Standard Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "CHAST": "Chatham Standard Time", "ACDT": "Australian Central Daylight Time", "CLT": "Chile Standard Time", "ECT": "Ecuador Time", "ARST": "Argentina Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "∅∅∅": "Brasilia Summer Time", "HKT": "Hong Kong Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CST": "Central Standard Time"}, + timezones: map[string]string{"GFT": "French Guiana Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "WEZ": "Western European Standard Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "NZST": "New Zealand Standard Time", "VET": "Venezuela Time", "HNOG": "West Greenland Standard Time", "MESZ": "Central European Summer Time", "ARST": "Argentina Summer Time", "JST": "Japan Standard Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "LHDT": "Lord Howe Daylight Time", "CAT": "Central Africa Time", "ADT": "Atlantic Daylight Time", "UYST": "Uruguay Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "ECT": "Ecuador Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HECU": "Cuba Daylight Time", "CST": "Central Standard Time", "AST": "Atlantic Standard Time", "LHST": "Lord Howe Standard Time", "SRT": "Suriname Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "MEZ": "Central European Standard Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "UYT": "Uruguay Standard Time", "ACWST": "Australian Central Western Standard Time", "CLT": "Chile Standard Time", "TMT": "Turkmenistan Standard Time", "MDT": "Macau Summer Time", "PST": "Pacific Standard Time", "TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "MST": "Macau Standard Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "AKST": "Alaska Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "BOT": "Bolivia Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "WIT": "Eastern Indonesia Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLST": "Chile Summer Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "WESZ": "Western European Summer Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "OESZ": "Eastern European Summer Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "∅∅∅": "Peru Summer Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "HEEG": "East Greenland Summer Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "HNEG": "East Greenland Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_PG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_PG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_PG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PH/en_PH.go b/en_PH/en_PH.go index df1e11318..c2ac99da0 100644 --- a/en_PH/en_PH.go +++ b/en_PH/en_PH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MESZ": "Central European Summer Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "EAT": "East Africa Time", "EDT": "Eastern Daylight Time", "ChST": "Chamorro Standard Time", "HNT": "Newfoundland Standard Time", "HKT": "Hong Kong Standard Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "WAST": "West Africa Summer Time", "AST": "Atlantic Standard Time", "AEST": "Australian Eastern Standard Time", "GFT": "French Guiana Time", "VET": "Venezuela Time", "BOT": "Bolivia Time", "JDT": "Japan Daylight Time", "CHADT": "Chatham Daylight Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "MDT": "Mountain Daylight Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "MST": "Mountain Standard Time", "CLST": "Chile Summer Time", "∅∅∅": "Acre Summer Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "ECT": "Ecuador Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "TMT": "Turkmenistan Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "WAT": "West Africa Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "ACDT": "Australian Central Daylight Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "ARST": "Argentina Summer Time", "TMST": "Turkmenistan Summer Time", "LHST": "Lord Howe Standard Time", "ART": "Argentina Standard Time", "CAT": "Central Africa Time", "CLT": "Chile Standard Time", "CHAST": "Chatham Standard Time", "PST": "Pacific Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "ACWDT": "Australian Central Western Daylight Time", "OESZ": "Eastern European Summer Time", "SRT": "Suriname Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "NZST": "New Zealand Standard Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "OEZ": "Eastern European Standard Time", "HAT": "Newfoundland Daylight Time"}, + timezones: map[string]string{"CHADT": "Chatham Daylight Time", "WARST": "Western Argentina Summer Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "HKT": "Hong Kong Standard Time", "NZDT": "New Zealand Daylight Time", "HEEG": "East Greenland Summer Time", "ACST": "Australian Central Standard Time", "ADT": "Atlantic Daylight Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "AEDT": "Australian Eastern Daylight Time", "GYT": "Guyana Time", "HEOG": "West Greenland Summer Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "CLT": "Chile Standard Time", "UYST": "Uruguay Summer Time", "LHDT": "Lord Howe Daylight Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "CDT": "Central Daylight Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "ART": "Argentina Standard Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "MYT": "Malaysia Time", "AST": "Atlantic Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WIT": "Eastern Indonesia Time", "HNEG": "East Greenland Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "∅∅∅": "Amazon Summer Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "MDT": "Macau Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "SAST": "South Africa Standard Time", "UYT": "Uruguay Standard Time", "HNOG": "West Greenland Standard Time", "ChST": "Chamorro Standard Time", "TMST": "Turkmenistan Summer Time", "HECU": "Cuba Daylight Time", "EDT": "Eastern Daylight Time", "AKST": "Alaska Standard Time", "WIB": "Western Indonesia Time", "PST": "Pacific Standard Time", "HNT": "Newfoundland Standard Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "BT": "Bhutan Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "COST": "Colombia Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CHAST": "Chatham Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_PH) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_PH) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_PH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_PH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_PH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PK/en_PK.go b/en_PK/en_PK.go index bee88f3ab..7b9c3d7d5 100644 --- a/en_PK/en_PK.go +++ b/en_PK/en_PK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "Rs", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "Rs", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"EAT": "East Africa Time", "NZST": "New Zealand Standard Time", "ADT": "Atlantic Daylight Time", "CLT": "Chile Standard Time", "UYT": "Uruguay Standard Time", "GFT": "French Guiana Time", "COST": "Colombia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "WESZ": "Western European Summer Time", "WIB": "Western Indonesia Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "OEZ": "Eastern European Standard Time", "SGT": "Singapore Standard Time", "WITA": "Central Indonesia Time", "EST": "Eastern Standard Time", "TMT": "Turkmenistan Standard Time", "AWST": "Australian Western Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "ART": "Argentina Standard Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "ACDT": "Australian Central Daylight Time", "MDT": "Mountain Daylight Time", "AWDT": "Australian Western Daylight Time", "VET": "Venezuela Time", "GYT": "Guyana Time", "∅∅∅": "Azores Summer Time", "CST": "Central Standard Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "ECT": "Ecuador Time", "AKDT": "Alaska Daylight Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "WARST": "Western Argentina Summer Time", "IST": "India Standard Time", "SAST": "South Africa Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "ARST": "Argentina Summer Time", "AST": "Atlantic Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "ACST": "Australian Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "SRT": "Suriname Time", "HAT": "Newfoundland Daylight Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "WART": "Western Argentina Standard Time", "CHAST": "Chatham Standard Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "WAST": "West Africa Summer Time", "CAT": "Central Africa Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "EDT": "Eastern Daylight Time"}, + timezones: map[string]string{"HNT": "Newfoundland Standard Time", "ACST": "Australian Central Standard Time", "WAT": "West Africa Standard Time", "COST": "Colombia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "PDT": "Pacific Daylight Time", "AKST": "Alaska Standard Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "BT": "Bhutan Time", "HNEG": "East Greenland Standard Time", "HEEG": "East Greenland Summer Time", "WARST": "Western Argentina Summer Time", "WITA": "Central Indonesia Time", "CHADT": "Chatham Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "HEOG": "West Greenland Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "HECU": "Cuba Daylight Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "JDT": "Japan Daylight Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "AEDT": "Australian Eastern Daylight Time", "JST": "Japan Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WIT": "Eastern Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "HKT": "Hong Kong Standard Time", "NZDT": "New Zealand Daylight Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "CHAST": "Chatham Standard Time", "OEZ": "Eastern European Standard Time", "SRT": "Suriname Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CLST": "Chile Summer Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "GMT": "Greenwich Mean Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "WESZ": "Western European Summer Time", "MESZ": "Central European Summer Time", "AEST": "Australian Eastern Standard Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CDT": "Central Daylight Time", "WART": "Western Argentina Standard Time", "PST": "Pacific Standard Time", "CLT": "Chile Standard Time", "WEZ": "Western European Standard Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "IST": "India Standard Time", "BOT": "Bolivia Time", "HNCU": "Cuba Standard Time", "GYT": "Guyana Time", "ADT": "Atlantic Daylight Time", "OESZ": "Eastern European Summer Time", "VET": "Venezuela Time", "AWDT": "Australian Western Daylight Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "HKST": "Hong Kong Summer Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "ACWST": "Australian Central Western Standard Time", "HAT": "Newfoundland Daylight Time", "NZST": "New Zealand Standard Time", "SAST": "South Africa Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "HNOG": "West Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "∅∅∅": "Azores Summer Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_PK) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_PK) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -432,7 +432,12 @@ func (en *en_PK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (en *en_PK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +472,12 @@ func (en *en_PK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PN/en_PN.go b/en_PN/en_PN.go index c883896bf..77645e6e6 100644 --- a/en_PN/en_PN.go +++ b/en_PN/en_PN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"JDT": "Japan Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMT": "Turkmenistan Standard Time", "MYT": "Malaysia Time", "NZST": "New Zealand Standard Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "WEZ": "Western European Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "MST": "Mountain Standard Time", "CAT": "Central Africa Time", "HNT": "Newfoundland Standard Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "AST": "Atlantic Standard Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "ARST": "Argentina Summer Time", "ChST": "Chamorro Standard Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "PST": "Pacific Standard Time", "WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "COT": "Colombia Standard Time", "SAST": "South Africa Standard Time", "NZDT": "New Zealand Daylight Time", "UYT": "Uruguay Standard Time", "∅∅∅": "Brasilia Summer Time", "SRT": "Suriname Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "CLT": "Chile Standard Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "HAT": "Newfoundland Daylight Time", "CHAST": "Chatham Standard Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "LHST": "Lord Howe Standard Time", "UYST": "Uruguay Summer Time", "EAT": "East Africa Time", "ACWST": "Australian Central Western Standard Time", "JST": "Japan Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "WIT": "Eastern Indonesia Time", "GMT": "Greenwich Mean Time", "ADT": "Atlantic Daylight Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time"}, + timezones: map[string]string{"MST": "Macau Standard Time", "UYT": "Uruguay Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HEOG": "West Greenland Summer Time", "∅∅∅": "Amazon Summer Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "ACWST": "Australian Central Western Standard Time", "CHADT": "Chatham Daylight Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "PST": "Pacific Standard Time", "HNT": "Newfoundland Standard Time", "HNEG": "East Greenland Standard Time", "WAT": "West Africa Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HECU": "Cuba Daylight Time", "COT": "Colombia Standard Time", "AST": "Atlantic Standard Time", "SRT": "Suriname Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "BT": "Bhutan Time", "WITA": "Central Indonesia Time", "CAT": "Central Africa Time", "HNCU": "Cuba Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "COST": "Colombia Summer Time", "WESZ": "Western European Summer Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "LHDT": "Lord Howe Daylight Time", "CST": "Central Standard Time", "AEST": "Australian Eastern Standard Time", "CDT": "Central Daylight Time", "HKST": "Hong Kong Summer Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "GMT": "Greenwich Mean Time", "HEPMX": "Mexican Pacific Daylight Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "HAT": "Newfoundland Daylight Time", "ChST": "Chamorro Standard Time", "SGT": "Singapore Standard Time", "ADT": "Atlantic Daylight Time", "WIT": "Eastern Indonesia Time", "WARST": "Western Argentina Summer Time", "HNOG": "West Greenland Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "ARST": "Argentina Summer Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "CLST": "Chile Summer Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HKT": "Hong Kong Standard Time", "NZST": "New Zealand Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "AKST": "Alaska Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_PN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_PN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_PN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PR/en_PR.go b/en_PR/en_PR.go index c64562378..f871dc7fa 100644 --- a/en_PR/en_PR.go +++ b/en_PR/en_PR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "GFT": "French Guiana Time", "EDT": "Eastern Daylight Time", "BOT": "Bolivia Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "AKDT": "Alaska Daylight Time", "NZST": "New Zealand Standard Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "PDT": "Pacific Daylight Time", "CDT": "Central Daylight Time", "NZDT": "New Zealand Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "AWST": "Australian Western Standard Time", "OEZ": "Eastern European Standard Time", "ACDT": "Australian Central Daylight Time", "ART": "Argentina Standard Time", "MDT": "Mountain Daylight Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "WAT": "West Africa Standard Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "∅∅∅": "Acre Summer Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "HKST": "Hong Kong Summer Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "SRT": "Suriname Time", "WART": "Western Argentina Standard Time", "CAT": "Central Africa Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "ECT": "Ecuador Time", "ACWDT": "Australian Central Western Daylight Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "CST": "Central Standard Time", "LHDT": "Lord Howe Daylight Time", "BT": "Bhutan Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "EAT": "East Africa Time", "PST": "Pacific Standard Time", "UYST": "Uruguay Summer Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time"}, + timezones: map[string]string{"COT": "Colombia Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "EDT": "Eastern Daylight Time", "HKST": "Hong Kong Summer Time", "WITA": "Central Indonesia Time", "CLST": "Chile Summer Time", "ChST": "Chamorro Standard Time", "HNOG": "West Greenland Standard Time", "TMST": "Turkmenistan Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "WEZ": "Western European Standard Time", "HNEG": "East Greenland Standard Time", "BOT": "Bolivia Time", "EAT": "East Africa Time", "SGT": "Singapore Standard Time", "NZST": "New Zealand Standard Time", "WAT": "West Africa Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "ACWST": "Australian Central Western Standard Time", "HKT": "Hong Kong Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ARST": "Argentina Summer Time", "HEOG": "West Greenland Summer Time", "PST": "Pacific Standard Time", "IST": "India Standard Time", "WART": "Western Argentina Standard Time", "MYT": "Malaysia Time", "VET": "Venezuela Time", "AST": "Atlantic Standard Time", "PDT": "Pacific Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ECT": "Ecuador Time", "AWST": "Australian Western Standard Time", "∅∅∅": "Amazon Summer Time", "GMT": "Greenwich Mean Time", "EST": "Eastern Standard Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "GYT": "Guyana Time", "AWDT": "Australian Western Daylight Time", "CHADT": "Chatham Daylight Time", "LHDT": "Lord Howe Daylight Time", "CLT": "Chile Standard Time", "UYST": "Uruguay Summer Time", "BT": "Bhutan Time", "SAST": "South Africa Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "MST": "Macau Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "NZDT": "New Zealand Daylight Time", "ACST": "Australian Central Standard Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "UYT": "Uruguay Standard Time", "MEZ": "Central European Standard Time", "GFT": "French Guiana Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "JDT": "Japan Daylight Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "CAT": "Central Africa Time", "CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "MDT": "Macau Summer Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_PR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_PR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_PR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_PW/en_PW.go b/en_PW/en_PW.go index 5552fece4..ef217cbdb 100644 --- a/en_PW/en_PW.go +++ b/en_PW/en_PW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AEDT": "Australian Eastern Daylight Time", "WART": "Western Argentina Standard Time", "GMT": "Greenwich Mean Time", "JDT": "Japan Daylight Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "∅∅∅": "Azores Summer Time", "ART": "Argentina Standard Time", "EAT": "East Africa Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "PST": "Pacific Standard Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AST": "Atlantic Standard Time", "UYT": "Uruguay Standard Time", "VET": "Venezuela Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "HNT": "Newfoundland Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "OEZ": "Eastern European Standard Time", "ACDT": "Australian Central Daylight Time", "WIB": "Western Indonesia Time", "SAST": "South Africa Standard Time", "HKST": "Hong Kong Summer Time", "MDT": "Mountain Daylight Time", "NZDT": "New Zealand Daylight Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "AWST": "Australian Western Standard Time", "LHST": "Lord Howe Standard Time", "JST": "Japan Standard Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "CAT": "Central Africa Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MST": "Mountain Standard Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "SRT": "Suriname Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "MESZ": "Central European Summer Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "HAT": "Newfoundland Daylight Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "OESZ": "Eastern European Summer Time"}, + timezones: map[string]string{"TMST": "Turkmenistan Summer Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "HAT": "Newfoundland Daylight Time", "PDT": "Pacific Daylight Time", "GFT": "French Guiana Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "SAST": "South Africa Standard Time", "UYST": "Uruguay Summer Time", "SRT": "Suriname Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MESZ": "Central European Summer Time", "OESZ": "Eastern European Summer Time", "CST": "Central Standard Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "HEOG": "West Greenland Summer Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "IST": "India Standard Time", "CLST": "Chile Summer Time", "HEEG": "East Greenland Summer Time", "AST": "Atlantic Standard Time", "ACWST": "Australian Central Western Standard Time", "CHADT": "Chatham Daylight Time", "BT": "Bhutan Time", "CLT": "Chile Standard Time", "∅∅∅": "Amazon Summer Time", "WAT": "West Africa Standard Time", "MST": "Macau Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WIT": "Eastern Indonesia Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "COST": "Colombia Summer Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHDT": "Lord Howe Daylight Time", "ACST": "Australian Central Standard Time", "MDT": "Macau Summer Time", "LHST": "Lord Howe Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "GMT": "Greenwich Mean Time", "HECU": "Cuba Daylight Time", "NZDT": "New Zealand Daylight Time", "HNCU": "Cuba Standard Time", "GYT": "Guyana Time", "PST": "Pacific Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEDT": "Australian Eastern Daylight Time", "NZST": "New Zealand Standard Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "HNPMX": "Mexican Pacific Standard Time", "ADT": "Atlantic Daylight Time", "ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "JST": "Japan Standard Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "WART": "Western Argentina Standard Time", "HNOG": "West Greenland Standard Time", "AWST": "Australian Western Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_PW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_PW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_PW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_RW/en_RW.go b/en_RW/en_RW.go index 65b918450..8dc9746bf 100644 --- a/en_RW/en_RW.go +++ b/en_RW/en_RW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"EST": "Eastern Standard Time", "UYST": "Uruguay Summer Time", "HKT": "Hong Kong Standard Time", "ART": "Argentina Standard Time", "HAT": "Newfoundland Daylight Time", "COT": "Colombia Standard Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "WIT": "Eastern Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "WARST": "Western Argentina Summer Time", "EDT": "Eastern Daylight Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "CAT": "Central Africa Time", "SAST": "South Africa Standard Time", "LHST": "Lord Howe Standard Time", "SRT": "Suriname Time", "CDT": "Central Daylight Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "∅∅∅": "Amazon Summer Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "AWST": "Australian Western Standard Time", "CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "WIB": "Western Indonesia Time", "ACDT": "Australian Central Daylight Time", "IST": "India Standard Time", "CST": "Central Standard Time", "MST": "Macau Standard Time", "GFT": "French Guiana Time", "OEZ": "Eastern European Standard Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "MDT": "Macau Summer Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "AEDT": "Australian Eastern Daylight Time", "GMT": "Greenwich Mean Time", "CHADT": "Chatham Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "NZST": "New Zealand Standard Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "COST": "Colombia Summer Time", "AST": "Atlantic Standard Time", "AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "WAT": "West Africa Standard Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "AWDT": "Australian Western Daylight Time", "SGT": "Singapore Standard Time", "ECT": "Ecuador Time"}, + timezones: map[string]string{"JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "MDT": "Macau Summer Time", "VET": "Venezuela Time", "HECU": "Cuba Daylight Time", "ACWST": "Australian Central Western Standard Time", "HNOG": "West Greenland Standard Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "PST": "Pacific Standard Time", "HNT": "Newfoundland Standard Time", "ARST": "Argentina Summer Time", "WITA": "Central Indonesia Time", "UYT": "Uruguay Standard Time", "AKST": "Alaska Standard Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "HADT": "Hawaii-Aleutian Daylight Time", "SRT": "Suriname Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "CHADT": "Chatham Daylight Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "HKT": "Hong Kong Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZST": "New Zealand Standard Time", "HEOG": "West Greenland Summer Time", "MESZ": "Central European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNCU": "Cuba Standard Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "COT": "Colombia Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "GMT": "Greenwich Mean Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "MST": "Macau Standard Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "WIB": "Western Indonesia Time", "HKST": "Hong Kong Summer Time", "LHST": "Lord Howe Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "∅∅∅": "Amazon Summer Time", "HNEG": "East Greenland Standard Time", "GFT": "French Guiana Time", "WART": "Western Argentina Standard Time", "UYST": "Uruguay Summer Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "HEEG": "East Greenland Summer Time", "EAT": "East Africa Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "MEZ": "Central European Standard Time", "LHDT": "Lord Howe Daylight Time", "BOT": "Bolivia Time", "WAT": "West Africa Standard Time", "COST": "Colombia Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "WIT": "Eastern Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "TMT": "Turkmenistan Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "WEZ": "Western European Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_RW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_RW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_RW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SB/en_SB.go b/en_SB/en_SB.go index 1138a3d24..c96209770 100644 --- a/en_SB/en_SB.go +++ b/en_SB/en_SB.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "ADT": "Atlantic Daylight Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "WESZ": "Western European Summer Time", "WIT": "Eastern Indonesia Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "TMT": "Turkmenistan Standard Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "EAT": "East Africa Time", "∅∅∅": "Peru Summer Time", "BOT": "Bolivia Time", "BT": "Bhutan Time", "OESZ": "Eastern European Summer Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "EDT": "Eastern Daylight Time", "AEDT": "Australian Eastern Daylight Time", "CAT": "Central Africa Time", "AWST": "Australian Western Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "GFT": "French Guiana Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "SRT": "Suriname Time", "ECT": "Ecuador Time", "AST": "Atlantic Standard Time", "CST": "Central Standard Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "SGT": "Singapore Standard Time", "WAST": "West Africa Summer Time", "AEST": "Australian Eastern Standard Time", "PST": "Pacific Standard Time", "MST": "Mountain Standard Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "ACWDT": "Australian Central Western Daylight Time", "MDT": "Mountain Daylight Time", "MYT": "Malaysia Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "ChST": "Chamorro Standard Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "WIB": "Western Indonesia Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "CHADT": "Chatham Daylight Time", "WART": "Western Argentina Standard Time", "ARST": "Argentina Summer Time", "GYT": "Guyana Time", "COST": "Colombia Summer Time", "HADT": "Hawaii-Aleutian Daylight Time"}, + timezones: map[string]string{"WART": "Western Argentina Standard Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "HNEG": "East Greenland Standard Time", "ChST": "Chamorro Standard Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "SRT": "Suriname Time", "HKT": "Hong Kong Standard Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "HKST": "Hong Kong Summer Time", "TMST": "Turkmenistan Summer Time", "MDT": "Macau Summer Time", "HEEG": "East Greenland Summer Time", "CDT": "Central Daylight Time", "HNOG": "West Greenland Standard Time", "AWDT": "Australian Western Daylight Time", "NZST": "New Zealand Standard Time", "HEOG": "West Greenland Summer Time", "CST": "Central Standard Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "∅∅∅": "Amazon Summer Time", "WARST": "Western Argentina Summer Time", "UYT": "Uruguay Standard Time", "SAST": "South Africa Standard Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "MEZ": "Central European Standard Time", "ART": "Argentina Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "COT": "Colombia Standard Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "HECU": "Cuba Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CHAST": "Chatham Standard Time", "BOT": "Bolivia Time", "CHADT": "Chatham Daylight Time", "CLST": "Chile Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "ACWST": "Australian Central Western Standard Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "WITA": "Central Indonesia Time", "AEST": "Australian Eastern Standard Time", "ECT": "Ecuador Time", "COST": "Colombia Summer Time", "WIT": "Eastern Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "WEZ": "Western European Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SC/en_SC.go b/en_SC/en_SC.go index 56d395d23..ffe570a3e 100644 --- a/en_SC/en_SC.go +++ b/en_SC/en_SC.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Brasilia Summer Time", "AEST": "Australian Eastern Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMT": "Turkmenistan Standard Time", "CHAST": "Chatham Standard Time", "WIB": "Western Indonesia Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "ART": "Argentina Standard Time", "HNT": "Newfoundland Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "IST": "India Standard Time", "AST": "Atlantic Standard Time", "TMST": "Turkmenistan Summer Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "CDT": "Central Daylight Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "PDT": "Pacific Daylight Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "ECT": "Ecuador Time", "VET": "Venezuela Time", "SAST": "South Africa Standard Time", "EST": "Eastern Standard Time", "WIT": "Eastern Indonesia Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "WESZ": "Western European Summer Time", "OESZ": "Eastern European Summer Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "WAT": "West Africa Standard Time", "NZDT": "New Zealand Daylight Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "GMT": "Greenwich Mean Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "WITA": "Central Indonesia Time", "MYT": "Malaysia Time", "HKT": "Hong Kong Standard Time", "SRT": "Suriname Time", "COT": "Colombia Standard Time", "MESZ": "Central European Summer Time", "AEDT": "Australian Eastern Daylight Time", "HAT": "Newfoundland Daylight Time", "JDT": "Japan Daylight Time", "MEZ": "Central European Standard Time", "GYT": "Guyana Time", "WEZ": "Western European Standard Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time"}, + timezones: map[string]string{"JST": "Japan Standard Time", "GFT": "French Guiana Time", "WAT": "West Africa Standard Time", "GMT": "Greenwich Mean Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HNCU": "Cuba Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "CHADT": "Chatham Daylight Time", "OEZ": "Eastern European Standard Time", "∅∅∅": "Peru Summer Time", "CAT": "Central Africa Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "AST": "Atlantic Standard Time", "CDT": "Central Daylight Time", "WIT": "Eastern Indonesia Time", "ACWST": "Australian Central Western Standard Time", "TMT": "Turkmenistan Standard Time", "WAST": "West Africa Summer Time", "WARST": "Western Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "EDT": "Eastern Daylight Time", "UYST": "Uruguay Summer Time", "BT": "Bhutan Time", "PDT": "Pacific Daylight Time", "HKST": "Hong Kong Summer Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "WEZ": "Western European Standard Time", "NZST": "New Zealand Standard Time", "IST": "India Standard Time", "ACDT": "Australian Central Daylight Time", "AKDT": "Alaska Daylight Time", "ADT": "Atlantic Daylight Time", "HNOG": "West Greenland Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "MESZ": "Central European Summer Time", "HEEG": "East Greenland Summer Time", "AKST": "Alaska Standard Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "BOT": "Bolivia Time", "SRT": "Suriname Time", "HKT": "Hong Kong Standard Time", "AEDT": "Australian Eastern Daylight Time", "GYT": "Guyana Time", "ACWDT": "Australian Central Western Daylight Time", "LHST": "Lord Howe Standard Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "ChST": "Chamorro Standard Time", "CST": "Central Standard Time", "WIB": "Western Indonesia Time", "JDT": "Japan Daylight Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "OESZ": "Eastern European Summer Time", "MST": "Macau Standard Time", "ART": "Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "COST": "Colombia Summer Time", "AEST": "Australian Eastern Standard Time", "HNEG": "East Greenland Standard Time", "HEOG": "West Greenland Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ACST": "Australian Central Standard Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "EAT": "East Africa Time", "WITA": "Central Indonesia Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SD/en_SD.go b/en_SD/en_SD.go index b8f9c453b..d90deead0 100644 --- a/en_SD/en_SD.go +++ b/en_SD/en_SD.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MYT": "Malaysia Time", "∅∅∅": "Azores Summer Time", "HNT": "Newfoundland Standard Time", "BT": "Bhutan Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "LHDT": "Lord Howe Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WAST": "West Africa Summer Time", "GYT": "Guyana Time", "GMT": "Greenwich Mean Time", "ADT": "Atlantic Daylight Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "CHADT": "Chatham Daylight Time", "SGT": "Singapore Standard Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "EST": "Eastern Standard Time", "SRT": "Suriname Time", "JDT": "Japan Daylight Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "HKT": "Hong Kong Standard Time", "COST": "Colombia Summer Time", "PST": "Pacific Standard Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "NZST": "New Zealand Standard Time", "HKST": "Hong Kong Summer Time", "CHAST": "Chatham Standard Time", "OEZ": "Eastern European Standard Time", "MEZ": "Central European Standard Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "WITA": "Central Indonesia Time", "AEST": "Australian Eastern Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WAT": "West Africa Standard Time", "AST": "Atlantic Standard Time", "MESZ": "Central European Summer Time", "MST": "Mountain Standard Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "AWDT": "Australian Western Daylight Time", "CLT": "Chile Standard Time", "WARST": "Western Argentina Summer Time", "PDT": "Pacific Daylight Time", "MDT": "Mountain Daylight Time", "CST": "Central Standard Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "WIT": "Eastern Indonesia Time", "JST": "Japan Standard Time", "LHST": "Lord Howe Standard Time", "COT": "Colombia Standard Time", "AKDT": "Alaska Daylight Time", "NZDT": "New Zealand Daylight Time", "HAT": "Newfoundland Daylight Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "BOT": "Bolivia Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time"}, + timezones: map[string]string{"ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "GFT": "French Guiana Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "TMT": "Turkmenistan Standard Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "AKDT": "Alaska Daylight Time", "HNOG": "West Greenland Standard Time", "AWDT": "Australian Western Daylight Time", "MYT": "Malaysia Time", "AKST": "Alaska Standard Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "ADT": "Atlantic Daylight Time", "UYT": "Uruguay Standard Time", "EDT": "Eastern Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "PDT": "Pacific Daylight Time", "ACWST": "Australian Central Western Standard Time", "AEST": "Australian Eastern Standard Time", "CHADT": "Chatham Daylight Time", "OEZ": "Eastern European Standard Time", "CHAST": "Chatham Standard Time", "NZDT": "New Zealand Daylight Time", "EAT": "East Africa Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "HNEG": "East Greenland Standard Time", "ART": "Argentina Standard Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "CDT": "Central Daylight Time", "VET": "Venezuela Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "BOT": "Bolivia Time", "AST": "Atlantic Standard Time", "CLST": "Chile Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "SRT": "Suriname Time", "WIT": "Eastern Indonesia Time", "AWST": "Australian Western Standard Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "WAT": "West Africa Standard Time", "HAT": "Newfoundland Daylight Time", "WART": "Western Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "HEOG": "West Greenland Summer Time", "PST": "Pacific Standard Time", "HKST": "Hong Kong Summer Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "BT": "Bhutan Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEEG": "East Greenland Summer Time", "OESZ": "Eastern European Summer Time", "WAST": "West Africa Summer Time", "ACWDT": "Australian Central Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "∅∅∅": "Amazon Summer Time", "ACST": "Australian Central Standard Time", "COT": "Colombia Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "WIB": "Western Indonesia Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SE/en_SE.go b/en_SE/en_SE.go index 17e0d0314..1e82d59dc 100644 --- a/en_SE/en_SE.go +++ b/en_SE/en_SE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: ")", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "JDT": "Japan Daylight Time", "AEDT": "Australian Eastern Daylight Time", "PDT": "Pacific Daylight Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "WARST": "Western Argentina Summer Time", "CLT": "Chile Standard Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "AWST": "Australian Western Standard Time", "HNT": "Newfoundland Standard Time", "NZST": "New Zealand Standard Time", "LHST": "Lord Howe Standard Time", "∅∅∅": "Acre Summer Time", "WESZ": "Western European Summer Time", "COT": "Colombia Standard Time", "MST": "Mountain Standard Time", "OESZ": "Eastern European Summer Time", "ARST": "Argentina Summer Time", "GYT": "Guyana Time", "AEST": "Australian Eastern Standard Time", "CAT": "Central Africa Time", "ChST": "Chamorro Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "ART": "Argentina Standard Time", "NZDT": "New Zealand Daylight Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "CHAST": "Chatham Standard Time", "AST": "Atlantic Standard Time", "IST": "India Standard Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "HKT": "Hong Kong Standard Time", "WIB": "Western Indonesia Time", "MESZ": "Central European Summer Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "ACWST": "Australian Central Western Standard Time", "TMT": "Turkmenistan Standard Time", "SRT": "Suriname Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "COST": "Colombia Summer Time", "ADT": "Atlantic Daylight Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "ACDT": "Australian Central Daylight Time", "AKDT": "Alaska Daylight Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "CHADT": "Chatham Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "EST": "Eastern Standard Time", "WAT": "West Africa Standard Time"}, + timezones: map[string]string{"UYT": "Uruguay Standard Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "SRT": "Suriname Time", "AEDT": "Australian Eastern Daylight Time", "CAT": "Central Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "MYT": "Malaysia Time", "CLST": "Chile Summer Time", "JDT": "Japan Daylight Time", "GMT": "Greenwich Mean Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "HEOG": "West Greenland Summer Time", "HNEG": "East Greenland Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AKDT": "Alaska Daylight Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "SAST": "South Africa Standard Time", "WARST": "Western Argentina Summer Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "HNOG": "West Greenland Standard Time", "AEST": "Australian Eastern Standard Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "WAST": "West Africa Summer Time", "ECT": "Ecuador Time", "NZST": "New Zealand Standard Time", "∅∅∅": "Amazon Summer Time", "HEEG": "East Greenland Summer Time", "MDT": "Macau Summer Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "IST": "India Standard Time", "UYST": "Uruguay Summer Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "WEZ": "Western European Standard Time", "ACDT": "Australian Central Daylight Time", "OEZ": "Eastern European Standard Time", "HNCU": "Cuba Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "HECU": "Cuba Daylight Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "ChST": "Chamorro Standard Time", "TMST": "Turkmenistan Summer Time", "SGT": "Singapore Standard Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "CHADT": "Chatham Daylight Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "PDT": "Pacific Daylight Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "MESZ": "Central European Summer Time", "BOT": "Bolivia Time", "COST": "Colombia Summer Time", "WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time"}, } } @@ -415,7 +415,12 @@ func (en *en_SE) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -444,7 +449,12 @@ func (en *en_SE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +489,12 @@ func (en *en_SE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SG/en_SG.go b/en_SG/en_SG.go index 71d0279ad..71a72f13b 100644 --- a/en_SG/en_SG.go +++ b/en_SG/en_SG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "BT": "Bhutan Time", "OEZ": "Eastern European Standard Time", "COT": "Colombia Standard Time", "ARST": "Argentina Summer Time", "HAT": "Newfoundland Daylight Time", "CHADT": "Chatham Daylight Time", "MESZ": "Central European Summer Time", "HKT": "Hong Kong Standard Time", "SGT": "Singapore Standard Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "EAT": "East Africa Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "ECT": "Ecuador Time", "∅∅∅": "Peru Summer Time", "UYST": "Uruguay Summer Time", "ACDT": "Australian Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "SAST": "South Africa Standard Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "SRT": "Suriname Time", "CHAST": "Chatham Standard Time", "PST": "Pacific Standard Time", "WAST": "West Africa Summer Time", "AKDT": "Alaska Daylight Time", "AWDT": "Australian Western Daylight Time", "LHDT": "Lord Howe Daylight Time", "COST": "Colombia Summer Time", "UYT": "Uruguay Standard Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "AST": "Atlantic Standard Time", "EST": "Eastern Standard Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "CLT": "Chile Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MDT": "Mountain Daylight Time", "ChST": "Chamorro Standard Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "MST": "Mountain Standard Time", "HKST": "Hong Kong Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "WEZ": "Western European Standard Time", "ACST": "Australian Central Standard Time", "IST": "India Standard Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "CAT": "Central Africa Time", "JST": "Japan Standard Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AKST": "Alaska Standard Time", "JDT": "Japan Daylight Time"}, + timezones: map[string]string{"CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "ADT": "Atlantic Daylight Time", "ART": "Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "PDT": "Pacific Daylight Time", "CLT": "Chile Standard Time", "WAST": "West Africa Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "AWDT": "Australian Western Daylight Time", "AST": "Atlantic Standard Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "AWST": "Australian Western Standard Time", "WAT": "West Africa Standard Time", "HECU": "Cuba Daylight Time", "SAST": "South Africa Standard Time", "ACST": "Australian Central Standard Time", "VET": "Venezuela Time", "PST": "Pacific Standard Time", "NZDT": "New Zealand Daylight Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "∅∅∅": "Amazon Summer Time", "EAT": "East Africa Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "BOT": "Bolivia Time", "ACWST": "Australian Central Western Standard Time", "NZST": "New Zealand Standard Time", "HNCU": "Cuba Standard Time", "AKDT": "Alaska Daylight Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "HNEG": "East Greenland Standard Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "MDT": "Macau Summer Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "ARST": "Argentina Summer Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "HNPMX": "Mexican Pacific Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "JST": "Japan Standard Time", "JDT": "Japan Daylight Time", "HEEG": "East Greenland Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "WEZ": "Western European Standard Time", "TMT": "Turkmenistan Standard Time", "ACDT": "Australian Central Daylight Time", "MST": "Macau Standard Time", "MYT": "Malaysia Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "HEOG": "West Greenland Summer Time", "HKT": "Hong Kong Standard Time", "WITA": "Central Indonesia Time", "OEZ": "Eastern European Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time", "HNOG": "West Greenland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CST": "Central Standard Time", "WIB": "Western Indonesia Time", "WIT": "Eastern Indonesia Time", "BT": "Bhutan Time"}, } } @@ -112,8 +112,8 @@ func (en *en_SG) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_SG) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_SG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SH/en_SH.go b/en_SH/en_SH.go index be69c59ee..1ba9bd137 100644 --- a/en_SH/en_SH.go +++ b/en_SH/en_SH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "£", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "£", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "HKT": "Hong Kong Standard Time", "ART": "Argentina Standard Time", "UYST": "Uruguay Summer Time", "OEZ": "Eastern European Standard Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "AKST": "Alaska Standard Time", "GMT": "Greenwich Mean Time", "WEZ": "Western European Standard Time", "WAT": "West Africa Standard Time", "MST": "Mountain Standard Time", "NZST": "New Zealand Standard Time", "UYT": "Uruguay Standard Time", "COT": "Colombia Standard Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "WAST": "West Africa Summer Time", "∅∅∅": "Azores Summer Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "LHST": "Lord Howe Standard Time", "NZDT": "New Zealand Daylight Time", "VET": "Venezuela Time", "ACWST": "Australian Central Western Standard Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "CST": "Central Standard Time", "LHDT": "Lord Howe Daylight Time", "JDT": "Japan Daylight Time", "CHADT": "Chatham Daylight Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "SRT": "Suriname Time", "COST": "Colombia Summer Time", "AWDT": "Australian Western Daylight Time", "OESZ": "Eastern European Summer Time", "ACDT": "Australian Central Daylight Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "JST": "Japan Standard Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "AEST": "Australian Eastern Standard Time", "PST": "Pacific Standard Time", "MYT": "Malaysia Time", "MDT": "Mountain Daylight Time", "MESZ": "Central European Summer Time", "WESZ": "Western European Summer Time", "PDT": "Pacific Daylight Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time"}, + timezones: map[string]string{"VET": "Venezuela Time", "OEZ": "Eastern European Standard Time", "∅∅∅": "Peru Summer Time", "COT": "Colombia Standard Time", "GMT": "Greenwich Mean Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time", "WARST": "Western Argentina Summer Time", "WIT": "Eastern Indonesia Time", "BT": "Bhutan Time", "NZST": "New Zealand Standard Time", "TMT": "Turkmenistan Standard Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "OESZ": "Eastern European Summer Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "UYT": "Uruguay Standard Time", "ACWST": "Australian Central Western Standard Time", "NZDT": "New Zealand Daylight Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "HNOG": "West Greenland Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "AEST": "Australian Eastern Standard Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "CAT": "Central Africa Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "HNCU": "Cuba Standard Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "ChST": "Chamorro Standard Time", "BOT": "Bolivia Time", "MESZ": "Central European Summer Time", "EAT": "East Africa Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "HEOG": "West Greenland Summer Time", "LHST": "Lord Howe Standard Time", "AST": "Atlantic Standard Time", "ART": "Argentina Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "LHDT": "Lord Howe Daylight Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HKST": "Hong Kong Summer Time", "GFT": "French Guiana Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "PDT": "Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "EST": "Eastern Standard Time", "HAT": "Newfoundland Daylight Time", "WITA": "Central Indonesia Time", "MEZ": "Central European Standard Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "HEEG": "East Greenland Summer Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "SRT": "Suriname Time", "ARST": "Argentina Summer Time", "JST": "Japan Standard Time", "WAT": "West Africa Standard Time", "ECT": "Ecuador Time", "MST": "Macau Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "HKT": "Hong Kong Standard Time", "CLST": "Chile Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SI/en_SI.go b/en_SI/en_SI.go index 8447dc1ab..0289ce654 100644 --- a/en_SI/en_SI.go +++ b/en_SI/en_SI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " )", currencyNegativeSuffix: " )", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AEST": "Australian Eastern Standard Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "VET": "Venezuela Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "ECT": "Ecuador Time", "MYT": "Malaysia Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "WAST": "West Africa Summer Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "WESZ": "Western European Summer Time", "GYT": "Guyana Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKST": "Hong Kong Summer Time", "ACST": "Australian Central Standard Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "OESZ": "Eastern European Summer Time", "CHAST": "Chatham Standard Time", "AWDT": "Australian Western Daylight Time", "HNT": "Newfoundland Standard Time", "WEZ": "Western European Standard Time", "WIB": "Western Indonesia Time", "MESZ": "Central European Summer Time", "MDT": "Macau Summer Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "EST": "Eastern Standard Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "ACDT": "Australian Central Daylight Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "MEZ": "Central European Standard Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "CST": "Central Standard Time", "BOT": "Bolivia Time", "WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "AKST": "Alaska Standard Time", "AKDT": "Alaska Daylight Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "MST": "Macau Standard Time", "∅∅∅": "Brasilia Summer Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "HKT": "Hong Kong Standard Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "EDT": "Eastern Daylight Time", "GMT": "Greenwich Mean Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"CAT": "Central Africa Time", "WART": "Western Argentina Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "VET": "Venezuela Time", "HNT": "Newfoundland Standard Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "ChST": "Chamorro Standard Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "ACWDT": "Australian Central Western Daylight Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "EDT": "Eastern Daylight Time", "WIB": "Western Indonesia Time", "HEOG": "West Greenland Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "UYST": "Uruguay Summer Time", "ACWST": "Australian Central Western Standard Time", "MEZ": "Central European Standard Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "PDT": "Pacific Daylight Time", "COST": "Colombia Summer Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "HNOG": "West Greenland Standard Time", "TMST": "Turkmenistan Summer Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "WAT": "West Africa Standard Time", "PST": "Pacific Standard Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "AST": "Atlantic Standard Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "EAT": "East Africa Time", "ARST": "Argentina Summer Time", "WEZ": "Western European Standard Time", "ECT": "Ecuador Time", "HNCU": "Cuba Standard Time", "BT": "Bhutan Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "UYT": "Uruguay Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "HKT": "Hong Kong Standard Time", "CLT": "Chile Standard Time", "MYT": "Malaysia Time", "HAT": "Newfoundland Daylight Time", "WESZ": "Western European Summer Time", "AWST": "Australian Western Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HECU": "Cuba Daylight Time", "SGT": "Singapore Standard Time", "HKST": "Hong Kong Summer Time", "WITA": "Central Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "∅∅∅": "Amazon Summer Time", "WAST": "West Africa Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKST": "Alaska Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "HEEG": "East Greenland Summer Time", "COT": "Colombia Standard Time", "WIT": "Eastern Indonesia Time", "MESZ": "Central European Summer Time", "BOT": "Bolivia Time", "WARST": "Western Argentina Summer Time"}, } } @@ -423,7 +423,12 @@ func (en *en_SI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +442,12 @@ func (en *en_SI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (en *en_SI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SL/en_SL.go b/en_SL/en_SL.go index dc9cc5e0d..42c3e8cc7 100644 --- a/en_SL/en_SL.go +++ b/en_SL/en_SL.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "Le", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "Le", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "MEZ": "Central European Standard Time", "GMT": "Greenwich Mean Time", "TMST": "Turkmenistan Summer Time", "BOT": "Bolivia Time", "NZDT": "New Zealand Daylight Time", "ChST": "Chamorro Standard Time", "CLT": "Chile Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "WAST": "West Africa Summer Time", "CDT": "Central Daylight Time", "COST": "Colombia Summer Time", "TMT": "Turkmenistan Standard Time", "CST": "Central Standard Time", "WITA": "Central Indonesia Time", "LHDT": "Lord Howe Daylight Time", "GFT": "French Guiana Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "UYST": "Uruguay Summer Time", "WARST": "Western Argentina Summer Time", "MDT": "Mountain Daylight Time", "UYT": "Uruguay Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "ACWST": "Australian Central Western Standard Time", "WEZ": "Western European Standard Time", "COT": "Colombia Standard Time", "JST": "Japan Standard Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "∅∅∅": "Acre Summer Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "ACDT": "Australian Central Daylight Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "OEZ": "Eastern European Standard Time", "MYT": "Malaysia Time", "AWDT": "Australian Western Daylight Time", "SGT": "Singapore Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "SAST": "South Africa Standard Time", "NZST": "New Zealand Standard Time", "SRT": "Suriname Time", "HKT": "Hong Kong Standard Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "CLST": "Chile Summer Time", "ARST": "Argentina Summer Time", "WAT": "West Africa Standard Time", "CAT": "Central Africa Time", "EAT": "East Africa Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "JDT": "Japan Daylight Time", "LHST": "Lord Howe Standard Time", "ART": "Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AKDT": "Alaska Daylight Time", "MST": "Mountain Standard Time", "WIT": "Eastern Indonesia Time", "AWST": "Australian Western Standard Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "AST": "Atlantic Standard Time"}, + timezones: map[string]string{"HNEG": "East Greenland Standard Time", "AWST": "Australian Western Standard Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "ACST": "Australian Central Standard Time", "OEZ": "Eastern European Standard Time", "HECU": "Cuba Daylight Time", "HNOG": "West Greenland Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "SRT": "Suriname Time", "HKST": "Hong Kong Summer Time", "NZDT": "New Zealand Daylight Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "WAST": "West Africa Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "WEZ": "Western European Standard Time", "JST": "Japan Standard Time", "HNT": "Newfoundland Standard Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "COT": "Colombia Standard Time", "CST": "Central Standard Time", "ADT": "Atlantic Daylight Time", "UYST": "Uruguay Summer Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "GYT": "Guyana Time", "PDT": "Pacific Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CHAST": "Chatham Standard Time", "HNCU": "Cuba Standard Time", "MST": "Macau Standard Time", "ARST": "Argentina Summer Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ACWDT": "Australian Central Western Daylight Time", "∅∅∅": "Amazon Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "EST": "Eastern Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AST": "Atlantic Standard Time", "WIT": "Eastern Indonesia Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "HKT": "Hong Kong Standard Time", "TMT": "Turkmenistan Standard Time", "HEEG": "East Greenland Summer Time", "MDT": "Macau Summer Time", "AKST": "Alaska Standard Time", "AEDT": "Australian Eastern Daylight Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "CDT": "Central Daylight Time", "HAT": "Newfoundland Daylight Time", "HEOG": "West Greenland Summer Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "GMT": "Greenwich Mean Time", "HADT": "Hawaii-Aleutian Daylight Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "CHADT": "Chatham Daylight Time", "LHDT": "Lord Howe Daylight Time", "WARST": "Western Argentina Summer Time", "SGT": "Singapore Standard Time", "NZST": "New Zealand Standard Time", "IST": "India Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SS/en_SS.go b/en_SS/en_SS.go index 9cd128769..2a24850d1 100644 --- a/en_SS/en_SS.go +++ b/en_SS/en_SS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"NZST": "New Zealand Standard Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "AKDT": "Alaska Daylight Time", "SGT": "Singapore Standard Time", "MESZ": "Central European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "WARST": "Western Argentina Summer Time", "BT": "Bhutan Time", "ACDT": "Australian Central Daylight Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "AWST": "Australian Western Standard Time", "MEZ": "Central European Standard Time", "WAT": "West Africa Standard Time", "ECT": "Ecuador Time", "AKST": "Alaska Standard Time", "PDT": "Pacific Daylight Time", "EAT": "East Africa Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "ACWST": "Australian Central Western Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "AWDT": "Australian Western Daylight Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "ADT": "Atlantic Daylight Time", "CST": "Central Standard Time", "GFT": "French Guiana Time", "WIB": "Western Indonesia Time", "∅∅∅": "Azores Summer Time", "HNT": "Newfoundland Standard Time", "SAST": "South Africa Standard Time", "VET": "Venezuela Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "UYT": "Uruguay Standard Time", "COST": "Colombia Summer Time", "CLT": "Chile Standard Time", "HAT": "Newfoundland Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "SRT": "Suriname Time", "ARST": "Argentina Summer Time", "WESZ": "Western European Summer Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "AST": "Atlantic Standard Time", "WITA": "Central Indonesia Time", "MDT": "Mountain Daylight Time", "GMT": "Greenwich Mean Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "CLST": "Chile Summer Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "TMST": "Turkmenistan Summer Time", "LHDT": "Lord Howe Daylight Time", "ART": "Argentina Standard Time", "CDT": "Central Daylight Time", "HKST": "Hong Kong Summer Time", "MST": "Mountain Standard Time"}, + timezones: map[string]string{"HNNOMX": "Northwest Mexico Standard Time", "HECU": "Cuba Daylight Time", "CDT": "Central Daylight Time", "MEZ": "Central European Standard Time", "TMT": "Turkmenistan Standard Time", "ACWST": "Australian Central Western Standard Time", "HNOG": "West Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "HAT": "Newfoundland Daylight Time", "ARST": "Argentina Summer Time", "HNT": "Newfoundland Standard Time", "HEOG": "West Greenland Summer Time", "LHDT": "Lord Howe Daylight Time", "ChST": "Chamorro Standard Time", "AST": "Atlantic Standard Time", "UYST": "Uruguay Summer Time", "AKST": "Alaska Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "JST": "Japan Standard Time", "WAST": "West Africa Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "NZST": "New Zealand Standard Time", "HNEG": "East Greenland Standard Time", "OESZ": "Eastern European Summer Time", "GMT": "Greenwich Mean Time", "HNCU": "Cuba Standard Time", "WIB": "Western Indonesia Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "VET": "Venezuela Time", "∅∅∅": "Amazon Summer Time", "ACWDT": "Australian Central Western Daylight Time", "MESZ": "Central European Summer Time", "CLST": "Chile Summer Time", "WART": "Western Argentina Standard Time", "PDT": "Pacific Daylight Time", "CHADT": "Chatham Daylight Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "OEZ": "Eastern European Standard Time", "MST": "Macau Standard Time", "BT": "Bhutan Time", "GFT": "French Guiana Time", "CST": "Central Standard Time", "AEST": "Australian Eastern Standard Time", "HKST": "Hong Kong Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "AWST": "Australian Western Standard Time", "SAST": "South Africa Standard Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "WITA": "Central Indonesia Time", "WEZ": "Western European Standard Time", "AEDT": "Australian Eastern Daylight Time", "LHST": "Lord Howe Standard Time", "IST": "India Standard Time", "ACST": "Australian Central Standard Time", "WAT": "West Africa Standard Time", "WARST": "Western Argentina Summer Time", "UYT": "Uruguay Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "TMST": "Turkmenistan Summer Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "ADT": "Atlantic Daylight Time", "JDT": "Japan Daylight Time", "HEEG": "East Greenland Summer Time", "COT": "Colombia Standard Time", "HNPMX": "Mexican Pacific Standard Time", "SRT": "Suriname Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SX/en_SX.go b/en_SX/en_SX.go index e03c46662..60491a593 100644 --- a/en_SX/en_SX.go +++ b/en_SX/en_SX.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"BT": "Bhutan Time", "MESZ": "Central European Summer Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "AKST": "Alaska Standard Time", "WAST": "West Africa Summer Time", "CDT": "Central Daylight Time", "ChST": "Chamorro Standard Time", "TMST": "Turkmenistan Summer Time", "BOT": "Bolivia Time", "HADT": "Hawaii-Aleutian Daylight Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "AST": "Atlantic Standard Time", "HNT": "Newfoundland Standard Time", "GMT": "Greenwich Mean Time", "ACWDT": "Australian Central Western Daylight Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "ACWST": "Australian Central Western Standard Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "UYT": "Uruguay Standard Time", "WESZ": "Western European Summer Time", "HAT": "Newfoundland Daylight Time", "LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "MST": "Mountain Standard Time", "AWST": "Australian Western Standard Time", "HKT": "Hong Kong Standard Time", "ARST": "Argentina Summer Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "CHADT": "Chatham Daylight Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "ADT": "Atlantic Daylight Time", "LHST": "Lord Howe Standard Time", "UYST": "Uruguay Summer Time", "WART": "Western Argentina Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "MDT": "Mountain Daylight Time", "HKST": "Hong Kong Summer Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "WAT": "West Africa Standard Time", "∅∅∅": "Azores Summer Time", "CST": "Central Standard Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "SRT": "Suriname Time", "PDT": "Pacific Daylight Time", "IST": "India Standard Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "GYT": "Guyana Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"GFT": "French Guiana Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "OESZ": "Eastern European Summer Time", "SRT": "Suriname Time", "HNOG": "West Greenland Standard Time", "CHADT": "Chatham Daylight Time", "WAT": "West Africa Standard Time", "EAT": "East Africa Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "JDT": "Japan Daylight Time", "CAT": "Central Africa Time", "LHDT": "Lord Howe Daylight Time", "HNEG": "East Greenland Standard Time", "HNCU": "Cuba Standard Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "GYT": "Guyana Time", "PST": "Pacific Standard Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "COT": "Colombia Standard Time", "WAST": "West Africa Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "VET": "Venezuela Time", "OEZ": "Eastern European Standard Time", "ECT": "Ecuador Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "SGT": "Singapore Standard Time", "AKDT": "Alaska Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "NZDT": "New Zealand Daylight Time", "WART": "Western Argentina Standard Time", "ACWST": "Australian Central Western Standard Time", "HEOG": "West Greenland Summer Time", "TMST": "Turkmenistan Summer Time", "ACDT": "Australian Central Daylight Time", "TMT": "Turkmenistan Standard Time", "ChST": "Chamorro Standard Time", "COST": "Colombia Summer Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "UYST": "Uruguay Summer Time", "WITA": "Central Indonesia Time", "AWST": "Australian Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HAT": "Newfoundland Daylight Time", "HEEG": "East Greenland Summer Time", "WARST": "Western Argentina Summer Time", "GMT": "Greenwich Mean Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEDT": "Australian Eastern Daylight Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "AKST": "Alaska Standard Time", "AST": "Atlantic Standard Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "AWDT": "Australian Western Daylight Time", "CHAST": "Chatham Standard Time", "CST": "Central Standard Time", "NZST": "New Zealand Standard Time", "LHST": "Lord Howe Standard Time", "WIT": "Eastern Indonesia Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "MYT": "Malaysia Time", "∅∅∅": "Amazon Summer Time", "JST": "Japan Standard Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "UYT": "Uruguay Standard Time", "WIB": "Western Indonesia Time", "MEZ": "Central European Standard Time", "HNPMX": "Mexican Pacific Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SX) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SX) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SX) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_SZ/en_SZ.go b/en_SZ/en_SZ.go index b005f48af..acb1b8432 100644 --- a/en_SZ/en_SZ.go +++ b/en_SZ/en_SZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "E", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "E", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"EDT": "Eastern Daylight Time", "CLT": "Chile Standard Time", "SRT": "Suriname Time", "MEZ": "Central European Standard Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "LHDT": "Lord Howe Daylight Time", "WIB": "Western Indonesia Time", "ECT": "Ecuador Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "EST": "Eastern Standard Time", "OEZ": "Eastern European Standard Time", "ADT": "Atlantic Daylight Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "WAST": "West Africa Summer Time", "WESZ": "Western European Summer Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HAT": "Newfoundland Daylight Time", "WIT": "Eastern Indonesia Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "SGT": "Singapore Standard Time", "COT": "Colombia Standard Time", "SAST": "South Africa Standard Time", "MDT": "Mountain Daylight Time", "GMT": "Greenwich Mean Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "∅∅∅": "Acre Summer Time", "AST": "Atlantic Standard Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "CST": "Central Standard Time", "CAT": "Central Africa Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "IST": "India Standard Time", "HKT": "Hong Kong Standard Time", "GFT": "French Guiana Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "WAT": "West Africa Standard Time", "MST": "Mountain Standard Time", "BOT": "Bolivia Time", "LHST": "Lord Howe Standard Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "WEZ": "Western European Standard Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "CHADT": "Chatham Daylight Time", "COST": "Colombia Summer Time"}, + timezones: map[string]string{"AWST": "Australian Western Standard Time", "JDT": "Japan Daylight Time", "HNT": "Newfoundland Standard Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "CLST": "Chile Summer Time", "ACWST": "Australian Central Western Standard Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "HAT": "Newfoundland Daylight Time", "CLT": "Chile Standard Time", "TMST": "Turkmenistan Summer Time", "UYT": "Uruguay Standard Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "MDT": "Macau Summer Time", "MYT": "Malaysia Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "WESZ": "Western European Summer Time", "ARST": "Argentina Summer Time", "TMT": "Turkmenistan Standard Time", "EDT": "Eastern Daylight Time", "CHADT": "Chatham Daylight Time", "CST": "Central Standard Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "MESZ": "Central European Summer Time", "NZDT": "New Zealand Daylight Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "ACWDT": "Australian Central Western Daylight Time", "SAST": "South Africa Standard Time", "SRT": "Suriname Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "AST": "Atlantic Standard Time", "PST": "Pacific Standard Time", "WEZ": "Western European Standard Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "ADT": "Atlantic Daylight Time", "ChST": "Chamorro Standard Time", "EAT": "East Africa Time", "HEPMX": "Mexican Pacific Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HKT": "Hong Kong Standard Time", "HNEG": "East Greenland Standard Time", "WARST": "Western Argentina Summer Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "∅∅∅": "Amazon Summer Time", "AEST": "Australian Eastern Standard Time", "GYT": "Guyana Time", "WIB": "Western Indonesia Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "SGT": "Singapore Standard Time", "EST": "Eastern Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "COST": "Colombia Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_SZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_SZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_SZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TC/en_TC.go b/en_TC/en_TC.go index a62c97f7b..95d4300e7 100644 --- a/en_TC/en_TC.go +++ b/en_TC/en_TC.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "JST": "Japan Standard Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "CLT": "Chile Standard Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "EDT": "Eastern Daylight Time", "OESZ": "Eastern European Summer Time", "CHADT": "Chatham Daylight Time", "MYT": "Malaysia Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "TMST": "Turkmenistan Summer Time", "CLST": "Chile Summer Time", "MST": "Mountain Standard Time", "BT": "Bhutan Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "ARST": "Argentina Summer Time", "SAST": "South Africa Standard Time", "IST": "India Standard Time", "GYT": "Guyana Time", "∅∅∅": "Acre Summer Time", "SGT": "Singapore Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "MDT": "Mountain Daylight Time", "AST": "Atlantic Standard Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "ACWST": "Australian Central Western Standard Time", "AKST": "Alaska Standard Time", "WITA": "Central Indonesia Time", "CDT": "Central Daylight Time", "AKDT": "Alaska Daylight Time", "CAT": "Central Africa Time", "JDT": "Japan Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "WAT": "West Africa Standard Time", "NZDT": "New Zealand Daylight Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "ACWDT": "Australian Central Western Daylight Time", "EAT": "East Africa Time", "ADT": "Atlantic Daylight Time", "NZST": "New Zealand Standard Time", "GMT": "Greenwich Mean Time", "LHST": "Lord Howe Standard Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "HNT": "Newfoundland Standard Time", "WIT": "Eastern Indonesia Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "ECT": "Ecuador Time"}, + timezones: map[string]string{"AWDT": "Australian Western Daylight Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "GYT": "Guyana Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "OESZ": "Eastern European Summer Time", "UYT": "Uruguay Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "HKST": "Hong Kong Summer Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "HNOG": "West Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "ACST": "Australian Central Standard Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "WIB": "Western Indonesia Time", "NZST": "New Zealand Standard Time", "HNEG": "East Greenland Standard Time", "OEZ": "Eastern European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "TMST": "Turkmenistan Summer Time", "HNCU": "Cuba Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "MESZ": "Central European Summer Time", "CHADT": "Chatham Daylight Time", "IST": "India Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "AEDT": "Australian Eastern Daylight Time", "HECU": "Cuba Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JST": "Japan Standard Time", "VET": "Venezuela Time", "HKT": "Hong Kong Standard Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "MDT": "Macau Summer Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "ADT": "Atlantic Daylight Time", "SRT": "Suriname Time", "SAST": "South Africa Standard Time", "CLST": "Chile Summer Time", "ACWST": "Australian Central Western Standard Time", "HEOG": "West Greenland Summer Time", "LHST": "Lord Howe Standard Time", "ChST": "Chamorro Standard Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "WIT": "Eastern Indonesia Time", "JDT": "Japan Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "MST": "Macau Standard Time", "CHAST": "Chatham Standard Time", "BOT": "Bolivia Time", "AEST": "Australian Eastern Standard Time", "LHDT": "Lord Howe Daylight Time", "HEEG": "East Greenland Summer Time", "WAST": "West Africa Summer Time", "PDT": "Pacific Daylight Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TK/en_TK.go b/en_TK/en_TK.go index 3019ac78d..7b7dd4427 100644 --- a/en_TK/en_TK.go +++ b/en_TK/en_TK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"SRT": "Suriname Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "ACWST": "Australian Central Western Standard Time", "PDT": "Pacific Daylight Time", "OESZ": "Eastern European Summer Time", "LHST": "Lord Howe Standard Time", "WESZ": "Western European Summer Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "EAT": "East Africa Time", "CAT": "Central Africa Time", "HADT": "Hawaii-Aleutian Daylight Time", "UYST": "Uruguay Summer Time", "JDT": "Japan Daylight Time", "MESZ": "Central European Summer Time", "HAT": "Newfoundland Daylight Time", "ECT": "Ecuador Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "BT": "Bhutan Time", "TMST": "Turkmenistan Summer Time", "CLT": "Chile Standard Time", "WEZ": "Western European Standard Time", "AWST": "Australian Western Standard Time", "CLST": "Chile Summer Time", "HKT": "Hong Kong Standard Time", "HKST": "Hong Kong Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "NZST": "New Zealand Standard Time", "WARST": "Western Argentina Summer Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "COT": "Colombia Standard Time", "WAST": "West Africa Summer Time", "LHDT": "Lord Howe Daylight Time", "UYT": "Uruguay Standard Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "TMT": "Turkmenistan Standard Time", "OEZ": "Eastern European Standard Time", "CHADT": "Chatham Daylight Time", "AWDT": "Australian Western Daylight Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "WIB": "Western Indonesia Time", "ARST": "Argentina Summer Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "HNT": "Newfoundland Standard Time", "AST": "Atlantic Standard Time", "CST": "Central Standard Time", "VET": "Venezuela Time", "ART": "Argentina Standard Time", "IST": "India Standard Time", "AKDT": "Alaska Daylight Time", "EDT": "Eastern Daylight Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "WIT": "Eastern Indonesia Time", "ACST": "Australian Central Standard Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "AKST": "Alaska Standard Time", "∅∅∅": "Azores Summer Time", "BOT": "Bolivia Time"}, + timezones: map[string]string{"EAT": "East Africa Time", "WAT": "West Africa Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "BT": "Bhutan Time", "ECT": "Ecuador Time", "HECU": "Cuba Daylight Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "CAT": "Central Africa Time", "WAST": "West Africa Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "MESZ": "Central European Summer Time", "HNEG": "East Greenland Standard Time", "ADT": "Atlantic Daylight Time", "WEZ": "Western European Standard Time", "AEDT": "Australian Eastern Daylight Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "AKDT": "Alaska Daylight Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HKT": "Hong Kong Standard Time", "CLT": "Chile Standard Time", "OEZ": "Eastern European Standard Time", "GMT": "Greenwich Mean Time", "CDT": "Central Daylight Time", "WIB": "Western Indonesia Time", "HADT": "Hawaii-Aleutian Daylight Time", "TMT": "Turkmenistan Standard Time", "GYT": "Guyana Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CHAST": "Chatham Standard Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "PDT": "Pacific Daylight Time", "ARST": "Argentina Summer Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "HNOG": "West Greenland Standard Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "∅∅∅": "Amazon Summer Time", "BOT": "Bolivia Time", "TMST": "Turkmenistan Summer Time", "OESZ": "Eastern European Summer Time", "COST": "Colombia Summer Time", "HNPMX": "Mexican Pacific Standard Time", "HEOG": "West Greenland Summer Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "UYST": "Uruguay Summer Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time", "CLST": "Chile Summer Time", "ChST": "Chamorro Standard Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "CST": "Central Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AST": "Atlantic Standard Time", "WIT": "Eastern Indonesia Time", "NZDT": "New Zealand Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TO/en_TO.go b/en_TO/en_TO.go index 82831a6ef..e06d9e29b 100644 --- a/en_TO/en_TO.go +++ b/en_TO/en_TO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AST": "Atlantic Standard Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "AEDT": "Australian Eastern Daylight Time", "ARST": "Argentina Summer Time", "IST": "India Standard Time", "LHDT": "Lord Howe Daylight Time", "OESZ": "Eastern European Summer Time", "WIB": "Western Indonesia Time", "SGT": "Singapore Standard Time", "WARST": "Western Argentina Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "ART": "Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "MYT": "Malaysia Time", "HKST": "Hong Kong Summer Time", "SRT": "Suriname Time", "ECT": "Ecuador Time", "AEST": "Australian Eastern Standard Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "GMT": "Greenwich Mean Time", "JST": "Japan Standard Time", "WART": "Western Argentina Standard Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "AWST": "Australian Western Standard Time", "HAT": "Newfoundland Daylight Time", "CHADT": "Chatham Daylight Time", "WAST": "West Africa Summer Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "GFT": "French Guiana Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "EAT": "East Africa Time", "MDT": "Mountain Daylight Time", "NZST": "New Zealand Standard Time", "EST": "Eastern Standard Time", "BT": "Bhutan Time", "MEZ": "Central European Standard Time", "WEZ": "Western European Standard Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "TMT": "Turkmenistan Standard Time", "CLT": "Chile Standard Time", "CAT": "Central Africa Time", "MST": "Mountain Standard Time", "COST": "Colombia Summer Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "OEZ": "Eastern European Standard Time", "ACST": "Australian Central Standard Time", "AKST": "Alaska Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "BOT": "Bolivia Time", "CLST": "Chile Summer Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "EDT": "Eastern Daylight Time", "∅∅∅": "Azores Summer Time", "CDT": "Central Daylight Time"}, + timezones: map[string]string{"AKDT": "Alaska Daylight Time", "MDT": "Mountain Daylight Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "HNT": "Newfoundland Standard Time", "AEST": "Australian Eastern Standard Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "HEOG": "West Greenland Summer Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "BOT": "Bolivia Time", "EDT": "Eastern Daylight Time", "WAT": "West Africa Standard Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "MEZ": "Central European Standard Time", "LHST": "Lord Howe Standard Time", "IST": "India Standard Time", "∅∅∅": "Amazon Summer Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "CHAST": "Chatham Standard Time", "ChST": "Chamorro Standard Time", "EST": "Eastern Standard Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "NZDT": "New Zealand Daylight Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "MYT": "Malaysia Time", "HECU": "Cuba Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "BT": "Bhutan Time", "WEZ": "Western European Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "HNEG": "East Greenland Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "ART": "Argentina Standard Time", "COST": "Colombia Summer Time", "HEEG": "East Greenland Summer Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "ARST": "Argentina Summer Time", "WITA": "Central Indonesia Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "CDT": "Central Daylight Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "GFT": "French Guiana Time", "WART": "Western Argentina Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "AKST": "Alaska Standard Time", "ADT": "Atlantic Daylight Time", "HNOG": "West Greenland Standard Time", "AWDT": "Australian Western Daylight Time", "WAST": "West Africa Summer Time", "ECT": "Ecuador Time", "WARST": "Western Argentina Summer Time", "COT": "Colombia Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Mountain Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "UYT": "Uruguay Standard Time", "HKT": "Hong Kong Standard Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "UYST": "Uruguay Summer Time", "GYT": "Guyana Time", "AEDT": "Australian Eastern Daylight Time", "EAT": "East Africa Time", "OESZ": "Eastern European Summer Time", "GMT": "Greenwich Mean Time", "HNPMX": "Mexican Pacific Standard Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "TMST": "Turkmenistan Summer Time", "AST": "Atlantic Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TT/en_TT.go b/en_TT/en_TT.go index 832b5d1f7..267c50ba0 100644 --- a/en_TT/en_TT.go +++ b/en_TT/en_TT.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "$", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "$", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CLT": "Chile Standard Time", "LHDT": "Lord Howe Daylight Time", "ART": "Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "MESZ": "Central European Summer Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "AWDT": "Australian Western Daylight Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "WAST": "West Africa Summer Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "AKST": "Alaska Standard Time", "NZST": "New Zealand Standard Time", "CAT": "Central Africa Time", "HKT": "Hong Kong Standard Time", "COST": "Colombia Summer Time", "ARST": "Argentina Summer Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "WIT": "Eastern Indonesia Time", "OEZ": "Eastern European Standard Time", "GFT": "French Guiana Time", "CDT": "Central Daylight Time", "JDT": "Japan Daylight Time", "CHADT": "Chatham Daylight Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "MDT": "Mountain Daylight Time", "IST": "India Standard Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "HNT": "Newfoundland Standard Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "ACST": "Australian Central Standard Time", "VET": "Venezuela Time", "WAT": "West Africa Standard Time", "PST": "Pacific Standard Time", "UYT": "Uruguay Standard Time", "∅∅∅": "Brasilia Summer Time", "WARST": "Western Argentina Summer Time", "PDT": "Pacific Daylight Time", "MST": "Mountain Standard Time", "WEZ": "Western European Standard Time", "SRT": "Suriname Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "ECT": "Ecuador Time", "LHST": "Lord Howe Standard Time", "MEZ": "Central European Standard Time", "AEDT": "Australian Eastern Daylight Time", "SAST": "South Africa Standard Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "CLST": "Chile Summer Time"}, + timezones: map[string]string{"HEPMX": "Mexican Pacific Daylight Time", "PDT": "Pacific Daylight Time", "WESZ": "Western European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "TMT": "Turkmenistan Standard Time", "HEEG": "East Greenland Summer Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "AKDT": "Alaska Daylight Time", "ACWST": "Australian Central Western Standard Time", "LHST": "Lord Howe Standard Time", "EDT": "Eastern Daylight Time", "MDT": "Macau Summer Time", "VET": "Venezuela Time", "AWST": "Australian Western Standard Time", "WITA": "Central Indonesia Time", "SAST": "South Africa Standard Time", "EAT": "East Africa Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "IST": "India Standard Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "GMT": "Greenwich Mean Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "AWDT": "Australian Western Daylight Time", "CHADT": "Chatham Daylight Time", "HNCU": "Cuba Standard Time", "HKST": "Hong Kong Summer Time", "∅∅∅": "Azores Summer Time", "PST": "Pacific Standard Time", "MEZ": "Central European Standard Time", "ACST": "Australian Central Standard Time", "HECU": "Cuba Daylight Time", "WIB": "Western Indonesia Time", "HAT": "Newfoundland Daylight Time", "AEST": "Australian Eastern Standard Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "TMST": "Turkmenistan Summer Time", "CAT": "Central Africa Time", "SGT": "Singapore Standard Time", "GYT": "Guyana Time", "CDT": "Central Daylight Time", "WEZ": "Western European Standard Time", "HNT": "Newfoundland Standard Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "JST": "Japan Standard Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "HNOG": "West Greenland Standard Time", "WARST": "Western Argentina Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "MST": "Macau Standard Time", "ADT": "Atlantic Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "SRT": "Suriname Time", "LHDT": "Lord Howe Daylight Time", "EST": "Eastern Standard Time", "OEZ": "Eastern European Standard Time", "UYT": "Uruguay Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HEOG": "West Greenland Summer Time", "ACDT": "Australian Central Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TV/en_TV.go b/en_TV/en_TV.go index 08e245042..f1e869d8f 100644 --- a/en_TV/en_TV.go +++ b/en_TV/en_TV.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ChST": "Chamorro Standard Time", "CLST": "Chile Summer Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "GYT": "Guyana Time", "EAT": "East Africa Time", "CST": "Central Standard Time", "AWST": "Australian Western Standard Time", "AKST": "Alaska Standard Time", "LHDT": "Lord Howe Daylight Time", "ACDT": "Australian Central Daylight Time", "COST": "Colombia Summer Time", "VET": "Venezuela Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "IST": "India Standard Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "COT": "Colombia Standard Time", "CAT": "Central Africa Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HKT": "Hong Kong Standard Time", "AKDT": "Alaska Daylight Time", "BOT": "Bolivia Time", "HKST": "Hong Kong Summer Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "NZST": "New Zealand Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "ART": "Argentina Standard Time", "TMST": "Turkmenistan Summer Time", "WITA": "Central Indonesia Time", "MDT": "Mountain Daylight Time", "∅∅∅": "Azores Summer Time", "HAT": "Newfoundland Daylight Time", "ECT": "Ecuador Time", "HAST": "Hawaii-Aleutian Standard Time", "PST": "Pacific Standard Time", "MST": "Mountain Standard Time", "MYT": "Malaysia Time", "OEZ": "Eastern European Standard Time", "JST": "Japan Standard Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "CHADT": "Chatham Daylight Time", "SRT": "Suriname Time", "WART": "Western Argentina Standard Time", "WAST": "West Africa Summer Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "MEZ": "Central European Standard Time"}, + timezones: map[string]string{"COST": "Colombia Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "WIB": "Western Indonesia Time", "JST": "Japan Standard Time", "HNEG": "East Greenland Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "WIT": "Eastern Indonesia Time", "ARST": "Argentina Summer Time", "AEST": "Australian Eastern Standard Time", "VET": "Venezuela Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "EAT": "East Africa Time", "COT": "Colombia Standard Time", "AST": "Atlantic Standard Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "WESZ": "Western European Summer Time", "AWDT": "Australian Western Daylight Time", "WAT": "West Africa Standard Time", "MDT": "Macau Summer Time", "GYT": "Guyana Time", "CDT": "Central Daylight Time", "PDT": "Pacific Daylight Time", "HECU": "Cuba Daylight Time", "AKST": "Alaska Standard Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "SGT": "Singapore Standard Time", "JDT": "Japan Daylight Time", "HNOG": "West Greenland Standard Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "MESZ": "Central European Summer Time", "TMT": "Turkmenistan Standard Time", "WAST": "West Africa Summer Time", "ACWDT": "Australian Central Western Daylight Time", "SRT": "Suriname Time", "WITA": "Central Indonesia Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "OEZ": "Eastern European Standard Time", "MST": "Macau Standard Time", "HEEG": "East Greenland Summer Time", "ACDT": "Australian Central Daylight Time", "MYT": "Malaysia Time", "HAT": "Newfoundland Daylight Time", "MEZ": "Central European Standard Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "CST": "Central Standard Time", "HKT": "Hong Kong Standard Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "HNCU": "Cuba Standard Time", "GFT": "French Guiana Time", "HNPMX": "Mexican Pacific Standard Time", "BT": "Bhutan Time", "AEDT": "Australian Eastern Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "∅∅∅": "Amazon Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "PST": "Pacific Standard Time", "ChST": "Chamorro Standard Time", "ACWST": "Australian Central Western Standard Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "GMT": "Greenwich Mean Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "HEOG": "West Greenland Summer Time", "LHST": "Lord Howe Standard Time", "CLT": "Chile Standard Time", "WARST": "Western Argentina Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HKST": "Hong Kong Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TV) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TV) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TV) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_TZ/en_TZ.go b/en_TZ/en_TZ.go index b3621eab1..f7a072641 100644 --- a/en_TZ/en_TZ.go +++ b/en_TZ/en_TZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"PST": "Pacific Standard Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "SAST": "South Africa Standard Time", "WAT": "West Africa Standard Time", "∅∅∅": "Azores Summer Time", "MESZ": "Central European Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "AKDT": "Alaska Daylight Time", "EST": "Eastern Standard Time", "AST": "Atlantic Standard Time", "JDT": "Japan Daylight Time", "GFT": "French Guiana Time", "ACST": "Australian Central Standard Time", "WIB": "Western Indonesia Time", "GYT": "Guyana Time", "ACDT": "Australian Central Daylight Time", "BT": "Bhutan Time", "AWDT": "Australian Western Daylight Time", "CLST": "Chile Summer Time", "EDT": "Eastern Daylight Time", "HNT": "Newfoundland Standard Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "WEZ": "Western European Standard Time", "CHADT": "Chatham Daylight Time", "OEZ": "Eastern European Standard Time", "VET": "Venezuela Time", "BOT": "Bolivia Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "HAT": "Newfoundland Daylight Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "JST": "Japan Standard Time", "GMT": "Greenwich Mean Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "PDT": "Pacific Daylight Time", "MST": "Mountain Standard Time", "MDT": "Mountain Daylight Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "LHST": "Lord Howe Standard Time", "TMST": "Turkmenistan Summer Time", "WITA": "Central Indonesia Time", "NZDT": "New Zealand Daylight Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "IST": "India Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "AEDT": "Australian Eastern Daylight Time", "ART": "Argentina Standard Time", "WAST": "West Africa Summer Time", "LHDT": "Lord Howe Daylight Time", "HKST": "Hong Kong Summer Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AWST": "Australian Western Standard Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "HADT": "Hawaii-Aleutian Daylight Time"}, + timezones: map[string]string{"UYST": "Uruguay Summer Time", "HNOG": "West Greenland Standard Time", "IST": "India Standard Time", "OEZ": "Eastern European Standard Time", "ACST": "Australian Central Standard Time", "AEST": "Australian Eastern Standard Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "HAST": "Hawaii-Aleutian Standard Time", "NZDT": "New Zealand Daylight Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "AWDT": "Australian Western Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "MYT": "Malaysia Time", "UYT": "Uruguay Standard Time", "HKST": "Hong Kong Summer Time", "AEDT": "Australian Eastern Daylight Time", "CHAST": "Chatham Standard Time", "JST": "Japan Standard Time", "ChST": "Chamorro Standard Time", "AKDT": "Alaska Daylight Time", "CHADT": "Chatham Daylight Time", "HEEG": "East Greenland Summer Time", "MDT": "Macau Summer Time", "ADT": "Atlantic Daylight Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "WARST": "Western Argentina Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "HNEG": "East Greenland Standard Time", "TMT": "Turkmenistan Standard Time", "ACWDT": "Australian Central Western Daylight Time", "HNT": "Newfoundland Standard Time", "WAT": "West Africa Standard Time", "HNCU": "Cuba Standard Time", "AKST": "Alaska Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "COST": "Colombia Summer Time", "WEZ": "Western European Standard Time", "HAT": "Newfoundland Daylight Time", "CAT": "Central Africa Time", "BT": "Bhutan Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "SGT": "Singapore Standard Time", "GMT": "Greenwich Mean Time", "MST": "Macau Standard Time", "EST": "Eastern Standard Time", "WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "CLST": "Chile Summer Time", "TMST": "Turkmenistan Summer Time", "HECU": "Cuba Daylight Time", "WESZ": "Western European Summer Time", "ART": "Argentina Standard Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "GFT": "French Guiana Time", "WAST": "West Africa Summer Time", "EDT": "Eastern Daylight Time", "SRT": "Suriname Time", "HEOG": "West Greenland Summer Time", "HKT": "Hong Kong Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "∅∅∅": "Amazon Summer Time", "COT": "Colombia Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_UG/en_UG.go b/en_UG/en_UG.go index 3594cf2f8..91afed63b 100644 --- a/en_UG/en_UG.go +++ b/en_UG/en_UG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WIB": "Western Indonesia Time", "IST": "India Standard Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "HADT": "Hawaii-Aleutian Daylight Time", "ADT": "Atlantic Daylight Time", "AWDT": "Australian Western Daylight Time", "GFT": "French Guiana Time", "ECT": "Ecuador Time", "MST": "Mountain Standard Time", "NZST": "New Zealand Standard Time", "WIT": "Eastern Indonesia Time", "NZDT": "New Zealand Daylight Time", "HKST": "Hong Kong Summer Time", "AEST": "Australian Eastern Standard Time", "ARST": "Argentina Summer Time", "AKST": "Alaska Standard Time", "MDT": "Mountain Daylight Time", "MEZ": "Central European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "ART": "Argentina Standard Time", "EDT": "Eastern Daylight Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "BOT": "Bolivia Time", "OESZ": "Eastern European Summer Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "PDT": "Pacific Daylight Time", "CST": "Central Standard Time", "CLT": "Chile Standard Time", "JST": "Japan Standard Time", "HKT": "Hong Kong Standard Time", "CHADT": "Chatham Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "CAT": "Central Africa Time", "EST": "Eastern Standard Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "AWST": "Australian Western Standard Time", "WEZ": "Western European Standard Time", "AKDT": "Alaska Daylight Time", "WITA": "Central Indonesia Time", "UYT": "Uruguay Standard Time", "SRT": "Suriname Time", "CHAST": "Chatham Standard Time", "AST": "Atlantic Standard Time", "EAT": "East Africa Time", "BT": "Bhutan Time", "HAT": "Newfoundland Daylight Time", "∅∅∅": "Acre Summer Time", "OEZ": "Eastern European Standard Time", "MESZ": "Central European Summer Time", "COST": "Colombia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "COT": "Colombia Standard Time", "ChST": "Chamorro Standard Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "WESZ": "Western European Summer Time", "ACDT": "Australian Central Daylight Time", "SGT": "Singapore Standard Time", "WART": "Western Argentina Standard Time", "WARST": "Western Argentina Summer Time"}, + timezones: map[string]string{"LHDT": "Lord Howe Daylight Time", "OEZ": "Eastern European Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HAT": "Newfoundland Daylight Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "HKST": "Hong Kong Summer Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "MEZ": "Central European Standard Time", "AKST": "Alaska Standard Time", "WIT": "Eastern Indonesia Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "NZDT": "New Zealand Daylight Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "VET": "Venezuela Time", "JST": "Japan Standard Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "BT": "Bhutan Time", "CHAST": "Chatham Standard Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "LHST": "Lord Howe Standard Time", "ACST": "Australian Central Standard Time", "MYT": "Malaysia Time", "AWDT": "Australian Western Daylight Time", "SAST": "South Africa Standard Time", "WART": "Western Argentina Standard Time", "ChST": "Chamorro Standard Time", "GYT": "Guyana Time", "SRT": "Suriname Time", "ACWST": "Australian Central Western Standard Time", "HNOG": "West Greenland Standard Time", "WEZ": "Western European Standard Time", "TMT": "Turkmenistan Standard Time", "WESZ": "Western European Summer Time", "WITA": "Central Indonesia Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "HNCU": "Cuba Standard Time", "PST": "Pacific Standard Time", "∅∅∅": "Amazon Summer Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "WAT": "West Africa Standard Time", "HEOG": "West Greenland Summer Time", "PDT": "Pacific Daylight Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "MST": "Mountain Standard Time", "NZST": "New Zealand Standard Time", "UYT": "Uruguay Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CHADT": "Chatham Daylight Time", "HEEG": "East Greenland Summer Time", "ECT": "Ecuador Time", "AST": "Atlantic Standard Time", "TMST": "Turkmenistan Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "AKDT": "Alaska Daylight Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "JDT": "Japan Daylight Time", "ADT": "Atlantic Daylight Time", "MDT": "Mountain Daylight Time", "HKT": "Hong Kong Standard Time", "AEST": "Australian Eastern Standard Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_UM/en_UM.go b/en_UM/en_UM.go index fe699798f..5403639bb 100644 --- a/en_UM/en_UM.go +++ b/en_UM/en_UM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"MESZ": "Central European Summer Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "EAT": "East Africa Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "JDT": "Japan Daylight Time", "EST": "Eastern Standard Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AEST": "Australian Eastern Standard Time", "WART": "Western Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "CLST": "Chile Summer Time", "ECT": "Ecuador Time", "WIB": "Western Indonesia Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "CHAST": "Chatham Standard Time", "WEZ": "Western European Standard Time", "SAST": "South Africa Standard Time", "WAST": "West Africa Summer Time", "IST": "India Standard Time", "WITA": "Central Indonesia Time", "MDT": "Mountain Daylight Time", "LHST": "Lord Howe Standard Time", "COT": "Colombia Standard Time", "ACST": "Australian Central Standard Time", "PST": "Pacific Standard Time", "LHDT": "Lord Howe Daylight Time", "HKT": "Hong Kong Standard Time", "CAT": "Central Africa Time", "AWDT": "Australian Western Daylight Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "GFT": "French Guiana Time", "MEZ": "Central European Standard Time", "ACDT": "Australian Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "AKDT": "Alaska Daylight Time", "∅∅∅": "Azores Summer Time", "HAT": "Newfoundland Daylight Time", "AEDT": "Australian Eastern Daylight Time", "WAT": "West Africa Standard Time", "TMST": "Turkmenistan Summer Time", "GYT": "Guyana Time", "AKST": "Alaska Standard Time", "MST": "Mountain Standard Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "GMT": "Greenwich Mean Time", "HKST": "Hong Kong Summer Time", "PDT": "Pacific Daylight Time", "CHADT": "Chatham Daylight Time", "SGT": "Singapore Standard Time", "EDT": "Eastern Daylight Time", "SRT": "Suriname Time", "OESZ": "Eastern European Summer Time", "WESZ": "Western European Summer Time", "COST": "Colombia Summer Time", "ART": "Argentina Standard Time", "CDT": "Central Daylight Time", "BOT": "Bolivia Time", "HNT": "Newfoundland Standard Time", "JST": "Japan Standard Time", "ADT": "Atlantic Daylight Time", "NZDT": "New Zealand Daylight Time", "BT": "Bhutan Time", "UYST": "Uruguay Summer Time"}, + timezones: map[string]string{"HNPMX": "Mexican Pacific Standard Time", "ADT": "Atlantic Daylight Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "HECU": "Cuba Daylight Time", "OEZ": "Eastern European Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "UYST": "Uruguay Summer Time", "AST": "Atlantic Standard Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "GFT": "French Guiana Time", "WAT": "West Africa Standard Time", "OESZ": "Eastern European Summer Time", "HAT": "Newfoundland Daylight Time", "NZDT": "New Zealand Daylight Time", "SAST": "South Africa Standard Time", "MESZ": "Central European Summer Time", "LHDT": "Lord Howe Daylight Time", "IST": "India Standard Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "BT": "Bhutan Time", "PST": "Pacific Standard Time", "HEOG": "West Greenland Summer Time", "MST": "Macau Standard Time", "UYT": "Uruguay Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "TMST": "Turkmenistan Summer Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "HNEG": "East Greenland Standard Time", "EST": "Eastern Standard Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "ChST": "Chamorro Standard Time", "EAT": "East Africa Time", "GYT": "Guyana Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "HKT": "Hong Kong Standard Time", "AKDT": "Alaska Daylight Time", "CLST": "Chile Summer Time", "∅∅∅": "Amazon Summer Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "AEDT": "Australian Eastern Daylight Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "ACST": "Australian Central Standard Time", "CAT": "Central Africa Time", "COT": "Colombia Standard Time", "GMT": "Greenwich Mean Time", "MYT": "Malaysia Time", "WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "CHAST": "Chatham Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "TMT": "Turkmenistan Standard Time", "CDT": "Central Daylight Time", "WAST": "West Africa Summer Time", "MDT": "Macau Summer Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "WIB": "Western Indonesia Time", "HAST": "Hawaii-Aleutian Standard Time", "HNOG": "West Greenland Standard Time", "WITA": "Central Indonesia Time", "LHST": "Lord Howe Standard Time", "JDT": "Japan Daylight Time", "ECT": "Ecuador Time", "WIT": "Eastern Indonesia Time", "PDT": "Pacific Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "BOT": "Bolivia Time", "ACDT": "Australian Central Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "VET": "Venezuela Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time"}, } } @@ -428,7 +428,12 @@ func (en *en_UM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_UM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_UM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_US/en_US.go b/en_US/en_US.go index a890e02c6..923a6182e 100644 --- a/en_US/en_US.go +++ b/en_US/en_US.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WART": "Western Argentina Standard Time", "WAT": "West Africa Standard Time", "∅∅∅": "Peru Summer Time", "BT": "Bhutan Time", "HKT": "Hong Kong Standard Time", "AEDT": "Australian Eastern Daylight Time", "AST": "Atlantic Standard Time", "TMT": "Turkmenistan Standard Time", "LHST": "Lord Howe Standard Time", "WESZ": "Western European Summer Time", "SGT": "Singapore Standard Time", "ACWDT": "Australian Central Western Daylight Time", "WARST": "Western Argentina Summer Time", "ADT": "Atlantic Daylight Time", "BOT": "Bolivia Time", "CAT": "Central Africa Time", "MESZ": "Central European Summer Time", "MYT": "Malaysia Time", "GFT": "French Guiana Time", "AWST": "Australian Western Standard Time", "HAT": "Newfoundland Daylight Time", "ECT": "Ecuador Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "PDT": "Pacific Daylight Time", "WITA": "Central Indonesia Time", "MST": "Mountain Standard Time", "HKST": "Hong Kong Summer Time", "ACST": "Australian Central Standard Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "VET": "Venezuela Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "GMT": "Greenwich Mean Time", "ART": "Argentina Standard Time", "IST": "India Standard Time", "GYT": "Guyana Time", "ChST": "Chamorro Standard Time", "OEZ": "Eastern European Standard Time", "MEZ": "Central European Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "AWDT": "Australian Western Daylight Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "AEST": "Australian Eastern Standard Time", "SAST": "South Africa Standard Time", "OESZ": "Eastern European Summer Time", "WEZ": "Western European Standard Time", "AKST": "Alaska Standard Time", "NZDT": "New Zealand Daylight Time", "COST": "Colombia Summer Time", "EAT": "East Africa Time", "CDT": "Central Daylight Time", "JDT": "Japan Daylight Time", "ACDT": "Australian Central Daylight Time", "NZST": "New Zealand Standard Time", "CLT": "Chile Standard Time", "EST": "Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "WIT": "Eastern Indonesia Time", "WIB": "Western Indonesia Time", "AKDT": "Alaska Daylight Time", "CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "WAST": "West Africa Summer Time", "JST": "Japan Standard Time"}, + timezones: map[string]string{"MESZ": "Central European Summer Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "GMT": "Greenwich Mean Time", "CST": "Central Standard Time", "WEZ": "Western European Standard Time", "PDT": "Pacific Daylight Time", "WIB": "Western Indonesia Time", "ART": "Argentina Standard Time", "SAST": "South Africa Standard Time", "ACDT": "Australian Central Daylight Time", "WAT": "West Africa Standard Time", "MST": "Macau Standard Time", "CDT": "Central Daylight Time", "ADT": "Atlantic Daylight Time", "HEEG": "East Greenland Summer Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "HNPMX": "Mexican Pacific Standard Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "AST": "Atlantic Standard Time", "HNOG": "West Greenland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "AWDT": "Australian Western Daylight Time", "WESZ": "Western European Summer Time", "IST": "India Standard Time", "TMT": "Turkmenistan Standard Time", "BOT": "Bolivia Time", "ACST": "Australian Central Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "PST": "Pacific Standard Time", "LHDT": "Lord Howe Daylight Time", "CLT": "Chile Standard Time", "CHAST": "Chatham Standard Time", "∅∅∅": "Amazon Summer Time", "TMST": "Turkmenistan Summer Time", "COT": "Colombia Standard Time", "WIT": "Eastern Indonesia Time", "AWST": "Australian Western Standard Time", "AEST": "Australian Eastern Standard Time", "OESZ": "Eastern European Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "HKT": "Hong Kong Standard Time", "LHST": "Lord Howe Standard Time", "EDT": "Eastern Daylight Time", "AEDT": "Australian Eastern Daylight Time", "GFT": "French Guiana Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "WAST": "West Africa Summer Time", "HNCU": "Cuba Standard Time", "AKDT": "Alaska Daylight Time", "BT": "Bhutan Time", "ACWST": "Australian Central Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MDT": "Macau Summer Time", "HAT": "Newfoundland Daylight Time", "WITA": "Central Indonesia Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "ACWDT": "Australian Central Western Daylight Time", "HEOG": "West Greenland Summer Time", "CLST": "Chile Summer Time", "EAT": "East Africa Time", "OEZ": "Eastern European Standard Time", "UYT": "Uruguay Standard Time", "UYST": "Uruguay Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "MYT": "Malaysia Time", "ARST": "Argentina Summer Time", "NZST": "New Zealand Standard Time", "HKST": "Hong Kong Summer Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "HNNOMX": "Northwest Mexico Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "AKST": "Alaska Standard Time", "SRT": "Suriname Time"}, } } @@ -428,7 +428,12 @@ func (en *en_US) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_US) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_US) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_US_POSIX/en_US_POSIX.go b/en_US_POSIX/en_US_POSIX.go index 15f66d646..61f8489c6 100644 --- a/en_US_POSIX/en_US_POSIX.go +++ b/en_US_POSIX/en_US_POSIX.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "0/00", timeSeparator: ":", inifinity: "INF", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"JDT": "Japan Daylight Time", "HKT": "Hong Kong Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "CLST": "Chile Summer Time", "CHADT": "Chatham Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "AEST": "Australian Eastern Standard Time", "TMT": "Turkmenistan Standard Time", "MST": "Mountain Standard Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "∅∅∅": "Acre Summer Time", "WAT": "West Africa Standard Time", "AWDT": "Australian Western Daylight Time", "ACDT": "Australian Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "ADT": "Atlantic Daylight Time", "BOT": "Bolivia Time", "NZST": "New Zealand Standard Time", "UYST": "Uruguay Summer Time", "GFT": "French Guiana Time", "OESZ": "Eastern European Summer Time", "CHAST": "Chatham Standard Time", "WART": "Western Argentina Standard Time", "SAST": "South Africa Standard Time", "ART": "Argentina Standard Time", "AKDT": "Alaska Daylight Time", "WIT": "Eastern Indonesia Time", "HNT": "Newfoundland Standard Time", "UYT": "Uruguay Standard Time", "EAT": "East Africa Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "GMT": "Greenwich Mean Time", "WEZ": "Western European Standard Time", "VET": "Venezuela Time", "WIB": "Western Indonesia Time", "SGT": "Singapore Standard Time", "AST": "Atlantic Standard Time", "JST": "Japan Standard Time", "MEZ": "Central European Standard Time", "MESZ": "Central European Summer Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "CDT": "Central Daylight Time", "ACST": "Australian Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "CST": "Central Standard Time", "MDT": "Mountain Daylight Time", "HKST": "Hong Kong Summer Time", "PST": "Pacific Standard Time", "BT": "Bhutan Time", "WESZ": "Western European Summer Time", "WAST": "West Africa Summer Time", "AKST": "Alaska Standard Time", "AWST": "Australian Western Standard Time", "HAT": "Newfoundland Daylight Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "ECT": "Ecuador Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "GYT": "Guyana Time", "MYT": "Malaysia Time", "IST": "India Standard Time", "CLT": "Chile Standard Time"}, + timezones: map[string]string{"CHADT": "Chatham Daylight Time", "COST": "Colombia Summer Time", "UYT": "Uruguay Standard Time", "AKDT": "Alaska Daylight Time", "MST": "Mountain Standard Time", "AEST": "Australian Eastern Standard Time", "AWST": "Australian Western Standard Time", "WITA": "Central Indonesia Time", "UYST": "Uruguay Summer Time", "ACWST": "Australian Central Western Standard Time", "ECT": "Ecuador Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "HECU": "Cuba Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "NZDT": "New Zealand Daylight Time", "HNEG": "East Greenland Standard Time", "COT": "Colombia Standard Time", "EST": "Eastern Standard Time", "HNPMX": "Mexican Pacific Standard Time", "CST": "Central Standard Time", "HNOG": "West Greenland Standard Time", "ACDT": "Australian Central Daylight Time", "AST": "Atlantic Standard Time", "HKST": "Hong Kong Summer Time", "HNT": "Newfoundland Standard Time", "WESZ": "Western European Summer Time", "LHDT": "Lord Howe Daylight Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "AEDT": "Australian Eastern Daylight Time", "VET": "Venezuela Time", "NZST": "New Zealand Standard Time", "BOT": "Bolivia Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "WIB": "Western Indonesia Time", "WEZ": "Western European Standard Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "CLST": "Chile Summer Time", "WAST": "West Africa Summer Time", "GYT": "Guyana Time", "HADT": "Hawaii-Aleutian Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "ARST": "Argentina Summer Time", "SRT": "Suriname Time", "AWDT": "Australian Western Daylight Time", "ACST": "Australian Central Standard Time", "MDT": "Mountain Daylight Time", "CHAST": "Chatham Standard Time", "TMT": "Turkmenistan Standard Time", "CAT": "Central Africa Time", "WAT": "West Africa Standard Time", "HNCU": "Cuba Standard Time", "WIT": "Eastern Indonesia Time", "HEOG": "West Greenland Summer Time", "LHST": "Lord Howe Standard Time", "IST": "India Standard Time", "WARST": "Western Argentina Summer Time", "AKST": "Alaska Standard Time", "BT": "Bhutan Time", "ACWDT": "Australian Central Western Daylight Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "MYT": "Malaysia Time", "PST": "Pacific Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "ChST": "Chamorro Standard Time", "HEEG": "East Greenland Summer Time", "OEZ": "Eastern European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "ART": "Argentina Standard Time", "HAT": "Newfoundland Daylight Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "JDT": "Japan Daylight Time", "∅∅∅": "Amazon Summer Time", "GFT": "French Guiana Time", "HENOMX": "Northwest Mexico Daylight Time", "PDT": "Pacific Daylight Time"}, } } @@ -112,8 +112,8 @@ func (en *en_US_POSIX) CardinalPluralRule(num float64, v uint64) locales.PluralR func (en *en_US_POSIX) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -403,7 +403,12 @@ func (en *en_US_POSIX) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,7 +422,12 @@ func (en *en_US_POSIX) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +443,12 @@ func (en *en_US_POSIX) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_VC/en_VC.go b/en_VC/en_VC.go index fa90daa7c..2fa6c5037 100644 --- a/en_VC/en_VC.go +++ b/en_VC/en_VC.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "AST": "Atlantic Standard Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "NZDT": "New Zealand Daylight Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "WESZ": "Western European Summer Time", "ECT": "Ecuador Time", "JST": "Japan Standard Time", "HKST": "Hong Kong Summer Time", "AWDT": "Australian Western Daylight Time", "∅∅∅": "Brasilia Summer Time", "GYT": "Guyana Time", "IST": "India Standard Time", "EAT": "East Africa Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "NZST": "New Zealand Standard Time", "CLST": "Chile Summer Time", "WIB": "Western Indonesia Time", "AKST": "Alaska Standard Time", "VET": "Venezuela Time", "MESZ": "Central European Summer Time", "MDT": "Mountain Daylight Time", "CHADT": "Chatham Daylight Time", "MEZ": "Central European Standard Time", "AEST": "Australian Eastern Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "AKDT": "Alaska Daylight Time", "PDT": "Pacific Daylight Time", "HAT": "Newfoundland Daylight Time", "GMT": "Greenwich Mean Time", "GFT": "French Guiana Time", "CAT": "Central Africa Time", "CST": "Central Standard Time", "BT": "Bhutan Time", "UYT": "Uruguay Standard Time", "EDT": "Eastern Daylight Time", "HNT": "Newfoundland Standard Time", "CLT": "Chile Standard Time", "WEZ": "Western European Standard Time", "AWST": "Australian Western Standard Time", "SRT": "Suriname Time", "COST": "Colombia Summer Time", "ACST": "Australian Central Standard Time", "TMST": "Turkmenistan Summer Time", "UYST": "Uruguay Summer Time", "HKT": "Hong Kong Standard Time", "WARST": "Western Argentina Summer Time", "BOT": "Bolivia Time", "LHDT": "Lord Howe Daylight Time", "SGT": "Singapore Standard Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "JDT": "Japan Daylight Time", "LHST": "Lord Howe Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "WITA": "Central Indonesia Time", "WIT": "Eastern Indonesia Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "ACWDT": "Australian Central Western Daylight Time", "OESZ": "Eastern European Summer Time", "AEDT": "Australian Eastern Daylight Time", "PST": "Pacific Standard Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "CDT": "Central Daylight Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time"}, + timezones: map[string]string{"HNT": "Newfoundland Standard Time", "AEDT": "Australian Eastern Daylight Time", "WITA": "Central Indonesia Time", "∅∅∅": "Peru Summer Time", "WART": "Western Argentina Standard Time", "MST": "Macau Standard Time", "AST": "Atlantic Standard Time", "ACWDT": "Australian Central Western Daylight Time", "IST": "India Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "ChST": "Chamorro Standard Time", "HNCU": "Cuba Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "ACWST": "Australian Central Western Standard Time", "HEOG": "West Greenland Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "WEZ": "Western European Standard Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "UYT": "Uruguay Standard Time", "WIB": "Western Indonesia Time", "VET": "Venezuela Time", "WESZ": "Western European Summer Time", "CHADT": "Chatham Daylight Time", "HNEG": "East Greenland Standard Time", "TMST": "Turkmenistan Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time", "HEEG": "East Greenland Summer Time", "COT": "Colombia Standard Time", "EDT": "Eastern Daylight Time", "AKDT": "Alaska Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HNPMX": "Mexican Pacific Standard Time", "UYST": "Uruguay Summer Time", "ARST": "Argentina Summer Time", "ACDT": "Australian Central Daylight Time", "CST": "Central Standard Time", "PDT": "Pacific Daylight Time", "AWDT": "Australian Western Daylight Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "BT": "Bhutan Time", "MYT": "Malaysia Time", "CDT": "Central Daylight Time", "ADT": "Atlantic Daylight Time", "GYT": "Guyana Time", "WIT": "Eastern Indonesia Time", "SGT": "Singapore Standard Time", "HECU": "Cuba Daylight Time", "EST": "Eastern Standard Time", "MESZ": "Central European Summer Time", "CLT": "Chile Standard Time", "ECT": "Ecuador Time", "HNOG": "West Greenland Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "HKT": "Hong Kong Standard Time", "JDT": "Japan Daylight Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "OEZ": "Eastern European Standard Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "ACST": "Australian Central Standard Time", "NZDT": "New Zealand Daylight Time", "CLST": "Chile Summer Time", "CAT": "Central Africa Time", "OESZ": "Eastern European Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "SRT": "Suriname Time", "HAT": "Newfoundland Daylight Time", "WARST": "Western Argentina Summer Time", "COST": "Colombia Summer Time", "MEZ": "Central European Standard Time", "LHDT": "Lord Howe Daylight Time"}, } } @@ -428,7 +428,12 @@ func (en *en_VC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_VC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_VC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_VG/en_VG.go b/en_VG/en_VG.go index 0e7eb9f82..0f5541a45 100644 --- a/en_VG/en_VG.go +++ b/en_VG/en_VG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"COT": "Colombia Standard Time", "GMT": "Greenwich Mean Time", "JST": "Japan Standard Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AKST": "Alaska Standard Time", "CST": "Central Standard Time", "CDT": "Central Daylight Time", "HKST": "Hong Kong Summer Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "AKDT": "Alaska Daylight Time", "NZDT": "New Zealand Daylight Time", "ChST": "Chamorro Standard Time", "CAT": "Central Africa Time", "CLT": "Chile Standard Time", "WIT": "Eastern Indonesia Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "PST": "Pacific Standard Time", "TMT": "Turkmenistan Standard Time", "ACWST": "Australian Central Western Standard Time", "ADT": "Atlantic Daylight Time", "IST": "India Standard Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "GFT": "French Guiana Time", "WART": "Western Argentina Standard Time", "EST": "Eastern Standard Time", "GYT": "Guyana Time", "NZST": "New Zealand Standard Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "VET": "Venezuela Time", "WITA": "Central Indonesia Time", "SRT": "Suriname Time", "ACDT": "Australian Central Daylight Time", "BOT": "Bolivia Time", "JDT": "Japan Daylight Time", "OEZ": "Eastern European Standard Time", "OESZ": "Eastern European Summer Time", "MEZ": "Central European Standard Time", "SGT": "Singapore Standard Time", "ECT": "Ecuador Time", "EAT": "East Africa Time", "SAST": "South Africa Standard Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "UYT": "Uruguay Standard Time", "ACST": "Australian Central Standard Time", "COST": "Colombia Summer Time", "ARST": "Argentina Summer Time", "AST": "Atlantic Standard Time", "WAT": "West Africa Standard Time", "MYT": "Malaysia Time", "AWDT": "Australian Western Daylight Time", "HAT": "Newfoundland Daylight Time", "WAST": "West Africa Summer Time", "TMST": "Turkmenistan Summer Time", "MST": "Mountain Standard Time", "BT": "Bhutan Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "CHADT": "Chatham Daylight Time", "AEST": "Australian Eastern Standard Time", "AEDT": "Australian Eastern Daylight Time", "MDT": "Mountain Daylight Time", "∅∅∅": "Acre Summer Time", "PDT": "Pacific Daylight Time", "CLST": "Chile Summer Time"}, + timezones: map[string]string{"WIB": "Western Indonesia Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "WITA": "Central Indonesia Time", "MESZ": "Central European Summer Time", "LHDT": "Lord Howe Daylight Time", "CLST": "Chile Summer Time", "GYT": "Guyana Time", "BOT": "Bolivia Time", "AST": "Atlantic Standard Time", "VET": "Venezuela Time", "JST": "Japan Standard Time", "HEEG": "East Greenland Summer Time", "ACDT": "Australian Central Daylight Time", "∅∅∅": "Peru Summer Time", "WARST": "Western Argentina Summer Time", "HNT": "Newfoundland Standard Time", "HKST": "Hong Kong Summer Time", "NZDT": "New Zealand Daylight Time", "CHADT": "Chatham Daylight Time", "TMST": "Turkmenistan Summer Time", "CAT": "Central Africa Time", "PDT": "Pacific Daylight Time", "AEDT": "Australian Eastern Daylight Time", "ACST": "Australian Central Standard Time", "SGT": "Singapore Standard Time", "CDT": "Central Daylight Time", "EDT": "Eastern Daylight Time", "AKST": "Alaska Standard Time", "HNOG": "West Greenland Standard Time", "HKT": "Hong Kong Standard Time", "CHAST": "Chatham Standard Time", "UYT": "Uruguay Standard Time", "EST": "Eastern Standard Time", "MDT": "Macau Summer Time", "HNPMX": "Mexican Pacific Standard Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "AWDT": "Australian Western Daylight Time", "HENOMX": "Northwest Mexico Daylight Time", "PST": "Pacific Standard Time", "CLT": "Chile Standard Time", "ADT": "Atlantic Daylight Time", "COT": "Colombia Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "AWST": "Australian Western Standard Time", "GFT": "French Guiana Time", "TMT": "Turkmenistan Standard Time", "WAT": "West Africa Standard Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HNNOMX": "Northwest Mexico Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "OEZ": "Eastern European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "ECT": "Ecuador Time", "LHST": "Lord Howe Standard Time", "ChST": "Chamorro Standard Time", "HNEG": "East Greenland Standard Time", "MEZ": "Central European Standard Time", "HNCU": "Cuba Standard Time", "HECU": "Cuba Daylight Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "WESZ": "Western European Summer Time", "HEOG": "West Greenland Summer Time", "IST": "India Standard Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time", "NZST": "New Zealand Standard Time", "WART": "Western Argentina Standard Time", "OESZ": "Eastern European Summer Time", "MST": "Macau Standard Time", "WEZ": "Western European Standard Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "WAST": "West Africa Summer Time"}, } } @@ -428,7 +428,12 @@ func (en *en_VG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_VG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_VG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_VI/en_VI.go b/en_VI/en_VI.go index 6a528bb93..8bc331f8e 100644 --- a/en_VI/en_VI.go +++ b/en_VI/en_VI.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "AST": "Atlantic Standard Time", "CAT": "Central Africa Time", "WESZ": "Western European Summer Time", "WIB": "Western Indonesia Time", "HKT": "Hong Kong Standard Time", "MESZ": "Central European Summer Time", "WARST": "Western Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "IST": "India Standard Time", "NZDT": "New Zealand Daylight Time", "WIT": "Eastern Indonesia Time", "BT": "Bhutan Time", "WITA": "Central Indonesia Time", "TMST": "Turkmenistan Summer Time", "AWDT": "Australian Western Daylight Time", "UYST": "Uruguay Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "PDT": "Pacific Daylight Time", "ChST": "Chamorro Standard Time", "CHAST": "Chatham Standard Time", "SGT": "Singapore Standard Time", "MYT": "Malaysia Time", "COST": "Colombia Summer Time", "ACWDT": "Australian Central Western Daylight Time", "AKDT": "Alaska Daylight Time", "CST": "Central Standard Time", "ECT": "Ecuador Time", "JDT": "Japan Daylight Time", "WEZ": "Western European Standard Time", "ART": "Argentina Standard Time", "ACWST": "Australian Central Western Standard Time", "EST": "Eastern Standard Time", "MST": "Mountain Standard Time", "HAT": "Newfoundland Daylight Time", "AWST": "Australian Western Standard Time", "SAST": "South Africa Standard Time", "GMT": "Greenwich Mean Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "AEST": "Australian Eastern Standard Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "∅∅∅": "Azores Summer Time", "NZST": "New Zealand Standard Time", "MEZ": "Central European Standard Time", "WART": "Western Argentina Standard Time", "EAT": "East Africa Time", "WAT": "West Africa Standard Time", "CHADT": "Chatham Daylight Time", "VET": "Venezuela Time", "BOT": "Bolivia Time", "CLT": "Chile Standard Time", "UYT": "Uruguay Standard Time", "JST": "Japan Standard Time", "LHST": "Lord Howe Standard Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "GYT": "Guyana Time", "HNT": "Newfoundland Standard Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "ARST": "Argentina Summer Time", "CDT": "Central Daylight Time", "OESZ": "Eastern European Summer Time", "COT": "Colombia Standard Time", "HKST": "Hong Kong Summer Time", "ADT": "Atlantic Daylight Time", "MDT": "Mountain Daylight Time", "GFT": "French Guiana Time", "OEZ": "Eastern European Standard Time"}, + timezones: map[string]string{"WIT": "Eastern Indonesia Time", "WESZ": "Western European Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "ECT": "Ecuador Time", "AST": "Atlantic Standard Time", "ACST": "Australian Central Standard Time", "WAT": "West Africa Standard Time", "IST": "India Standard Time", "ACDT": "Australian Central Daylight Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "HAT": "Newfoundland Daylight Time", "LHST": "Lord Howe Standard Time", "CAT": "Central Africa Time", "HNPMX": "Mexican Pacific Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "TMT": "Turkmenistan Standard Time", "COT": "Colombia Standard Time", "WARST": "Western Argentina Summer Time", "EDT": "Eastern Daylight Time", "MST": "Macau Standard Time", "CHAST": "Chatham Standard Time", "CLT": "Chile Standard Time", "JDT": "Japan Daylight Time", "HNEG": "East Greenland Standard Time", "WAST": "West Africa Summer Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "CHADT": "Chatham Daylight Time", "SGT": "Singapore Standard Time", "HNCU": "Cuba Standard Time", "HEOG": "West Greenland Summer Time", "CLST": "Chile Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "SAST": "South Africa Standard Time", "JST": "Japan Standard Time", "EAT": "East Africa Time", "HECU": "Cuba Daylight Time", "HEPMX": "Mexican Pacific Daylight Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time", "UYST": "Uruguay Summer Time", "AKDT": "Alaska Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "HKST": "Hong Kong Summer Time", "HEEG": "East Greenland Summer Time", "ART": "Argentina Standard Time", "ARST": "Argentina Summer Time", "AWDT": "Australian Western Daylight Time", "WITA": "Central Indonesia Time", "OEZ": "Eastern European Standard Time", "COST": "Colombia Summer Time", "PDT": "Pacific Daylight Time", "HNT": "Newfoundland Standard Time", "MYT": "Malaysia Time", "VET": "Venezuela Time", "AEDT": "Australian Eastern Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "MEZ": "Central European Standard Time", "∅∅∅": "Amazon Summer Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "ACWDT": "Australian Central Western Daylight Time", "HNOG": "West Greenland Standard Time", "CST": "Central Standard Time", "GMT": "Greenwich Mean Time", "MDT": "Macau Summer Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "ADT": "Atlantic Daylight Time", "NZST": "New Zealand Standard Time", "HNNOMX": "Northwest Mexico Standard Time", "LHDT": "Lord Howe Daylight Time", "NZDT": "New Zealand Daylight Time", "ChST": "Chamorro Standard Time", "GYT": "Guyana Time", "WEZ": "Western European Standard Time", "AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "SRT": "Suriname Time", "AWST": "Australian Western Standard Time", "MESZ": "Central European Summer Time"}, } } @@ -112,8 +112,8 @@ func (en *en_VI) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_VI) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_VI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_VI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_VI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_VU/en_VU.go b/en_VU/en_VU.go index 3937e4cc9..5d3a77965 100644 --- a/en_VU/en_VU.go +++ b/en_VU/en_VU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VT", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VT", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"WEZ": "Western European Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AKDT": "Alaska Daylight Time", "AWST": "Australian Western Standard Time", "WIT": "Eastern Indonesia Time", "COST": "Colombia Summer Time", "MESZ": "Central European Summer Time", "WAST": "West Africa Summer Time", "TMT": "Turkmenistan Standard Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "MEZ": "Central European Standard Time", "EST": "Eastern Standard Time", "PDT": "Pacific Daylight Time", "WITA": "Central Indonesia Time", "AWDT": "Australian Western Daylight Time", "VET": "Venezuela Time", "SAST": "South Africa Standard Time", "BOT": "Bolivia Time", "AKST": "Alaska Standard Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "OEZ": "Eastern European Standard Time", "EAT": "East Africa Time", "LHDT": "Lord Howe Daylight Time", "HKT": "Hong Kong Standard Time", "HAT": "Newfoundland Daylight Time", "BT": "Bhutan Time", "OESZ": "Eastern European Summer Time", "WART": "Western Argentina Standard Time", "AST": "Atlantic Standard Time", "MST": "Mountain Standard Time", "HNT": "Newfoundland Standard Time", "SGT": "Singapore Standard Time", "ChST": "Chamorro Standard Time", "CHADT": "Chatham Daylight Time", "HKST": "Hong Kong Summer Time", "PST": "Pacific Standard Time", "CST": "Central Standard Time", "GYT": "Guyana Time", "ARST": "Argentina Summer Time", "CLT": "Chile Standard Time", "ACDT": "Australian Central Daylight Time", "ECT": "Ecuador Time", "JST": "Japan Standard Time", "COT": "Colombia Standard Time", "CAT": "Central Africa Time", "JDT": "Japan Daylight Time", "LHST": "Lord Howe Standard Time", "ART": "Argentina Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "MYT": "Malaysia Time", "NZDT": "New Zealand Daylight Time", "WIB": "Western Indonesia Time", "WARST": "Western Argentina Summer Time", "GFT": "French Guiana Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "WAT": "West Africa Standard Time", "TMST": "Turkmenistan Summer Time", "MDT": "Mountain Daylight Time", "∅∅∅": "Azores Summer Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "CLST": "Chile Summer Time", "UYST": "Uruguay Summer Time", "AEDT": "Australian Eastern Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "IST": "India Standard Time", "ADT": "Atlantic Daylight Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time"}, + timezones: map[string]string{"ACDT": "Australian Central Daylight Time", "COT": "Colombia Standard Time", "LHST": "Lord Howe Standard Time", "CHAST": "Chatham Standard Time", "MESZ": "Central European Summer Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "WIT": "Eastern Indonesia Time", "HKT": "Hong Kong Standard Time", "LHDT": "Lord Howe Daylight Time", "NZST": "New Zealand Standard Time", "HECU": "Cuba Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "AKDT": "Alaska Daylight Time", "BOT": "Bolivia Time", "GFT": "French Guiana Time", "WARST": "Western Argentina Summer Time", "CAT": "Central Africa Time", "HNNOMX": "Northwest Mexico Standard Time", "SGT": "Singapore Standard Time", "UYST": "Uruguay Summer Time", "WEZ": "Western European Standard Time", "HNT": "Newfoundland Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "WAT": "West Africa Standard Time", "CLST": "Chile Summer Time", "ACWDT": "Australian Central Western Daylight Time", "PST": "Pacific Standard Time", "AWST": "Australian Western Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "MEZ": "Central European Standard Time", "HEPMX": "Mexican Pacific Daylight Time", "WIB": "Western Indonesia Time", "PDT": "Pacific Daylight Time", "ChST": "Chamorro Standard Time", "GYT": "Guyana Time", "ACWST": "Australian Central Western Standard Time", "WITA": "Central Indonesia Time", "HNEG": "East Greenland Standard Time", "TMST": "Turkmenistan Summer Time", "IST": "India Standard Time", "HEOG": "West Greenland Summer Time", "CHADT": "Chatham Daylight Time", "JST": "Japan Standard Time", "ECT": "Ecuador Time", "HENOMX": "Northwest Mexico Daylight Time", "MDT": "Macau Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "WESZ": "Western European Summer Time", "∅∅∅": "Amazon Summer Time", "HEEG": "East Greenland Summer Time", "TMT": "Turkmenistan Standard Time", "OESZ": "Eastern European Summer Time", "HNOG": "West Greenland Standard Time", "EAT": "East Africa Time", "COST": "Colombia Summer Time", "EST": "Eastern Standard Time", "CDT": "Central Daylight Time", "UYT": "Uruguay Standard Time", "VET": "Venezuela Time", "SRT": "Suriname Time", "GMT": "Greenwich Mean Time", "HNCU": "Cuba Standard Time", "AST": "Atlantic Standard Time", "ADT": "Atlantic Daylight Time", "AEDT": "Australian Eastern Daylight Time", "OEZ": "Eastern European Standard Time", "WART": "Western Argentina Standard Time", "NZDT": "New Zealand Daylight Time", "WAST": "West Africa Summer Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "MYT": "Malaysia Time", "ARST": "Argentina Summer Time", "HKST": "Hong Kong Summer Time", "CLT": "Chile Standard Time", "EDT": "Eastern Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "CST": "Central Standard Time", "HAT": "Newfoundland Daylight Time", "AWDT": "Australian Western Daylight Time", "ACST": "Australian Central Standard Time"}, } } @@ -112,8 +112,8 @@ func (en *en_VU) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_VU) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_VU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_VU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_VU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_WS/en_WS.go b/en_WS/en_WS.go index 108c4c9ee..e441bccda 100644 --- a/en_WS/en_WS.go +++ b/en_WS/en_WS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WS$", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WS$", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"HADT": "Hawaii-Aleutian Daylight Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "NZST": "New Zealand Standard Time", "BT": "Bhutan Time", "CAT": "Central Africa Time", "WESZ": "Western European Summer Time", "AEST": "Australian Eastern Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WIT": "Eastern Indonesia Time", "MEZ": "Central European Standard Time", "EAT": "East Africa Time", "MST": "Mountain Standard Time", "NZDT": "New Zealand Daylight Time", "HAT": "Newfoundland Daylight Time", "EDT": "Eastern Daylight Time", "WIB": "Western Indonesia Time", "AEDT": "Australian Eastern Daylight Time", "WARST": "Western Argentina Summer Time", "AST": "Atlantic Standard Time", "GYT": "Guyana Time", "CLST": "Chile Summer Time", "ACDT": "Australian Central Daylight Time", "ACWDT": "Australian Central Western Daylight Time", "ART": "Argentina Standard Time", "TMT": "Turkmenistan Standard Time", "AWDT": "Australian Western Daylight Time", "GFT": "French Guiana Time", "MDT": "Mountain Daylight Time", "BOT": "Bolivia Time", "AKDT": "Alaska Daylight Time", "WAST": "West Africa Summer Time", "COT": "Colombia Standard Time", "ACWST": "Australian Central Western Standard Time", "SAST": "South Africa Standard Time", "MESZ": "Central European Summer Time", "CST": "Central Standard Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "OESZ": "Eastern European Summer Time", "PDT": "Pacific Daylight Time", "ADT": "Atlantic Daylight Time", "WITA": "Central Indonesia Time", "CLT": "Chile Standard Time", "LHDT": "Lord Howe Daylight Time", "JDT": "Japan Daylight Time", "SRT": "Suriname Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "CHADT": "Chatham Daylight Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "AWST": "Australian Western Standard Time", "UYST": "Uruguay Summer Time", "WAT": "West Africa Standard Time", "SGT": "Singapore Standard Time", "COST": "Colombia Summer Time", "AKST": "Alaska Standard Time", "GMT": "Greenwich Mean Time", "∅∅∅": "Acre Summer Time", "WART": "Western Argentina Standard Time", "IST": "India Standard Time", "EST": "Eastern Standard Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "HKST": "Hong Kong Summer Time", "OEZ": "Eastern European Standard Time", "ACST": "Australian Central Standard Time", "ECT": "Ecuador Time", "VET": "Venezuela Time", "ARST": "Argentina Summer Time", "PST": "Pacific Standard Time", "HKT": "Hong Kong Standard Time"}, + timezones: map[string]string{"WESZ": "Western European Summer Time", "HEOG": "West Greenland Summer Time", "CHADT": "Chatham Daylight Time", "TMT": "Turkmenistan Standard Time", "OEZ": "Eastern European Standard Time", "WIB": "Western Indonesia Time", "WIT": "Eastern Indonesia Time", "LHDT": "Lord Howe Daylight Time", "SAST": "South Africa Standard Time", "OESZ": "Eastern European Summer Time", "HNPMX": "Mexican Pacific Standard Time", "MESZ": "Central European Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "HEEG": "East Greenland Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "WITA": "Central Indonesia Time", "WEZ": "Western European Standard Time", "WAT": "West Africa Standard Time", "MST": "Macau Standard Time", "AKST": "Alaska Standard Time", "UYT": "Uruguay Standard Time", "BT": "Bhutan Time", "AEST": "Australian Eastern Standard Time", "AWDT": "Australian Western Daylight Time", "HNPM": "St. Pierre & Miquelon Standard Time", "CAT": "Central Africa Time", "WARST": "Western Argentina Summer Time", "CST": "Central Standard Time", "ARST": "Argentina Summer Time", "MEZ": "Central European Standard Time", "ECT": "Ecuador Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "AST": "Atlantic Standard Time", "ACWDT": "Australian Central Western Daylight Time", "NZST": "New Zealand Standard Time", "CHAST": "Chatham Standard Time", "JST": "Japan Standard Time", "SGT": "Singapore Standard Time", "ACWST": "Australian Central Western Standard Time", "HNEG": "East Greenland Standard Time", "EAT": "East Africa Time", "WAST": "West Africa Summer Time", "MDT": "Macau Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "GYT": "Guyana Time", "VET": "Venezuela Time", "WART": "Western Argentina Standard Time", "EDT": "Eastern Daylight Time", "PST": "Pacific Standard Time", "GMT": "Greenwich Mean Time", "MYT": "Malaysia Time", "UYST": "Uruguay Summer Time", "COT": "Colombia Standard Time", "CLST": "Chile Summer Time", "GFT": "French Guiana Time", "ART": "Argentina Standard Time", "IST": "India Standard Time", "EST": "Eastern Standard Time", "HKT": "Hong Kong Standard Time", "HNT": "Newfoundland Standard Time", "HAT": "Newfoundland Daylight Time", "HKST": "Hong Kong Summer Time", "ADT": "Atlantic Daylight Time", "HADT": "Hawaii-Aleutian Daylight Time", "SRT": "Suriname Time", "PDT": "Pacific Daylight Time", "LHST": "Lord Howe Standard Time", "NZDT": "New Zealand Daylight Time", "CLT": "Chile Standard Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "HECU": "Cuba Daylight Time", "ACDT": "Australian Central Daylight Time", "AEDT": "Australian Eastern Daylight Time", "AWST": "Australian Western Standard Time", "ChST": "Chamorro Standard Time", "AKDT": "Alaska Daylight Time", "CDT": "Central Daylight Time", "HNOG": "West Greenland Standard Time", "JDT": "Japan Daylight Time", "BOT": "Bolivia Time", "COST": "Colombia Summer Time", "∅∅∅": "Amazon Summer Time"}, } } @@ -112,8 +112,8 @@ func (en *en_WS) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (en *en_WS) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) + nMod10 := math.Mod(n, 10) if nMod10 == 1 && nMod100 != 11 { return locales.PluralRuleOne @@ -428,7 +428,12 @@ func (en *en_WS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_WS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_WS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_ZA/en_ZA.go b/en_ZA/en_ZA.go index 7f31ebafc..70c0e18fb 100644 --- a/en_ZA/en_ZA.go +++ b/en_ZA/en_ZA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"CLST": "Chile Summer Time", "UYT": "Uruguay Standard Time", "VET": "Venezuela Time", "ACST": "Australian Central Standard Time", "PST": "Pacific Standard Time", "ADT": "Atlantic Daylight Time", "ChST": "Chamorro Standard Time", "HKST": "Hong Kong Summer Time", "WART": "Western Argentina Standard Time", "NZDT": "New Zealand Daylight Time", "COST": "Colombia Summer Time", "ECT": "Ecuador Time", "HAST": "Hawaii-Aleutian Standard Time", "EST": "Eastern Standard Time", "MYT": "Malaysia Time", "BOT": "Bolivia Time", "AWST": "Australian Western Standard Time", "CLT": "Chile Standard Time", "COT": "Colombia Standard Time", "ART": "Argentina Standard Time", "BT": "Bhutan Time", "WIB": "Western Indonesia Time", "MESZ": "Central European Summer Time", "ACDT": "Australian Central Daylight Time", "SGT": "Singapore Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "EDT": "Eastern Daylight Time", "IST": "India Standard Time", "WITA": "Central Indonesia Time", "NZST": "New Zealand Standard Time", "HKT": "Hong Kong Standard Time", "AEST": "Australian Eastern Standard Time", "TMST": "Turkmenistan Summer Time", "CDT": "Central Daylight Time", "MST": "Mountain Standard Time", "GMT": "Greenwich Mean Time", "UYST": "Uruguay Summer Time", "AWDT": "Australian Western Daylight Time", "LHST": "Lord Howe Standard Time", "CST": "Central Standard Time", "WIT": "Eastern Indonesia Time", "ARST": "Argentina Summer Time", "EAT": "East Africa Time", "CAT": "Central Africa Time", "GFT": "French Guiana Time", "OEZ": "Eastern European Standard Time", "MEZ": "Central European Standard Time", "ACWST": "Australian Central Western Standard Time", "AST": "Atlantic Standard Time", "WAST": "West Africa Summer Time", "AKDT": "Alaska Daylight Time", "TMT": "Turkmenistan Standard Time", "MDT": "Mountain Daylight Time", "CHAST": "Chatham Standard Time", "HNT": "Newfoundland Standard Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "SRT": "Suriname Time", "CHADT": "Chatham Daylight Time", "PDT": "Pacific Daylight Time", "AKST": "Alaska Standard Time", "GYT": "Guyana Time", "SAST": "South Africa Standard Time", "JDT": "Japan Daylight Time", "OESZ": "Eastern European Summer Time", "ACWDT": "Australian Central Western Daylight Time", "WARST": "Western Argentina Summer Time", "WAT": "West Africa Standard Time", "∅∅∅": "Peru Summer Time", "HAT": "Newfoundland Daylight Time", "AEDT": "Australian Eastern Daylight Time"}, + timezones: map[string]string{"SGT": "Singapore Standard Time", "UYT": "Uruguay Standard Time", "WIT": "Eastern Indonesia Time", "HKST": "Hong Kong Summer Time", "HNPM": "St. Pierre & Miquelon Standard Time", "EDT": "Eastern Daylight Time", "SAST": "South Africa Standard Time", "OEZ": "Eastern European Standard Time", "AKST": "Alaska Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AEST": "Australian Eastern Standard Time", "LHST": "Lord Howe Standard Time", "CAT": "Central Africa Time", "MST": "Macau Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "HNT": "Newfoundland Standard Time", "ART": "Argentina Standard Time", "MEZ": "Central European Standard Time", "HECU": "Cuba Daylight Time", "PST": "Pacific Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "JDT": "Japan Daylight Time", "NZST": "New Zealand Standard Time", "TMT": "Turkmenistan Standard Time", "HENOMX": "Northwest Mexico Daylight Time", "WIB": "Western Indonesia Time", "VET": "Venezuela Time", "SRT": "Suriname Time", "WITA": "Central Indonesia Time", "GYT": "Guyana Time", "MESZ": "Central European Summer Time", "GFT": "French Guiana Time", "CHADT": "Chatham Daylight Time", "EAT": "East Africa Time", "WARST": "Western Argentina Summer Time", "HNPMX": "Mexican Pacific Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "ACWST": "Australian Central Western Standard Time", "ARST": "Argentina Summer Time", "GMT": "Greenwich Mean Time", "LHDT": "Lord Howe Daylight Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "CLST": "Chile Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "CST": "Central Standard Time", "NZDT": "New Zealand Daylight Time", "IST": "India Standard Time", "HEEG": "East Greenland Summer Time", "PDT": "Pacific Daylight Time", "CLT": "Chile Standard Time", "COST": "Colombia Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNCU": "Cuba Standard Time", "MDT": "Macau Summer Time", "AKDT": "Alaska Daylight Time", "BOT": "Bolivia Time", "TMST": "Turkmenistan Summer Time", "ACST": "Australian Central Standard Time", "UYST": "Uruguay Summer Time", "ADT": "Atlantic Daylight Time", "WESZ": "Western European Summer Time", "HAT": "Newfoundland Daylight Time", "CHAST": "Chatham Standard Time", "WAT": "West Africa Standard Time", "ChST": "Chamorro Standard Time", "ECT": "Ecuador Time", "COT": "Colombia Standard Time", "MYT": "Malaysia Time", "AST": "Atlantic Standard Time", "HEOG": "West Greenland Summer Time", "AWST": "Australian Western Standard Time", "WAST": "West Africa Summer Time", "EST": "Eastern Standard Time", "WEZ": "Western European Standard Time", "HNOG": "West Greenland Standard Time", "AEDT": "Australian Eastern Daylight Time", "AWDT": "Australian Western Daylight Time", "OESZ": "Eastern European Summer Time", "∅∅∅": "Acre Summer Time", "CDT": "Central Daylight Time", "BT": "Bhutan Time", "HKT": "Hong Kong Standard Time", "HNEG": "East Greenland Standard Time"}, } } @@ -411,7 +411,12 @@ func (en *en_ZA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) if t.Month() < 10 { @@ -444,7 +449,12 @@ func (en *en_ZA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +472,12 @@ func (en *en_ZA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -483,7 +498,12 @@ func (en *en_ZA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -493,13 +513,11 @@ func (en *en_ZA) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -507,13 +525,6 @@ func (en *en_ZA) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -523,13 +534,11 @@ func (en *en_ZA) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -544,13 +553,6 @@ func (en *en_ZA) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -560,13 +562,11 @@ func (en *en_ZA) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -583,14 +583,6 @@ func (en *en_ZA) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -602,13 +594,11 @@ func (en *en_ZA) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -625,14 +615,6 @@ func (en *en_ZA) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := en.timezones[tz]; ok { diff --git a/en_ZM/en_ZM.go b/en_ZM/en_ZM.go index 251d774ab..8e6745c9c 100644 --- a/en_ZM/en_ZM.go +++ b/en_ZM/en_ZM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "K", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "K", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"BOT": "Bolivia Time", "∅∅∅": "Brasilia Summer Time", "HAST": "Hawaii-Aleutian Standard Time", "AKST": "Alaska Standard Time", "EDT": "Eastern Daylight Time", "AWST": "Australian Western Standard Time", "CAT": "Central Africa Time", "GFT": "French Guiana Time", "COST": "Colombia Summer Time", "MEZ": "Central European Standard Time", "ADT": "Atlantic Daylight Time", "CDT": "Central Daylight Time", "HNT": "Newfoundland Standard Time", "LHST": "Lord Howe Standard Time", "OEZ": "Eastern European Standard Time", "AEDT": "Australian Eastern Daylight Time", "NZDT": "New Zealand Daylight Time", "JDT": "Japan Daylight Time", "WESZ": "Western European Summer Time", "CHADT": "Chatham Daylight Time", "IST": "India Standard Time", "AST": "Atlantic Standard Time", "TMT": "Turkmenistan Standard Time", "AWDT": "Australian Western Daylight Time", "WIB": "Western Indonesia Time", "ACWST": "Australian Central Western Standard Time", "ART": "Argentina Standard Time", "AKDT": "Alaska Daylight Time", "TMST": "Turkmenistan Summer Time", "LHDT": "Lord Howe Daylight Time", "ACST": "Australian Central Standard Time", "ACDT": "Australian Central Daylight Time", "MESZ": "Central European Summer Time", "WAT": "West Africa Standard Time", "PST": "Pacific Standard Time", "WITA": "Central Indonesia Time", "GMT": "Greenwich Mean Time", "SRT": "Suriname Time", "AEST": "Australian Eastern Standard Time", "MYT": "Malaysia Time", "ChST": "Chamorro Standard Time", "BT": "Bhutan Time", "WAST": "West Africa Summer Time", "UYT": "Uruguay Standard Time", "ECT": "Ecuador Time", "WART": "Western Argentina Standard Time", "CLT": "Chile Standard Time", "WEZ": "Western European Standard Time", "HKT": "Hong Kong Standard Time", "WARST": "Western Argentina Summer Time", "EST": "Eastern Standard Time", "EAT": "East Africa Time", "GYT": "Guyana Time", "CST": "Central Standard Time", "CHAST": "Chatham Standard Time", "COT": "Colombia Standard Time", "ACWDT": "Australian Central Western Daylight Time", "ARST": "Argentina Summer Time", "HADT": "Hawaii-Aleutian Daylight Time", "SAST": "South Africa Standard Time", "PDT": "Pacific Daylight Time", "WIT": "Eastern Indonesia Time", "SGT": "Singapore Standard Time", "VET": "Venezuela Time", "CLST": "Chile Summer Time", "JST": "Japan Standard Time", "MST": "Macau Standard Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time", "MDT": "Macau Summer Time", "HAT": "Newfoundland Daylight Time", "UYST": "Uruguay Summer Time", "OESZ": "Eastern European Summer Time"}, + timezones: map[string]string{"WIB": "Western Indonesia Time", "TMST": "Turkmenistan Summer Time", "CAT": "Central Africa Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "HNOG": "West Greenland Standard Time", "PDT": "Pacific Daylight Time", "HKST": "Hong Kong Summer Time", "NZST": "New Zealand Standard Time", "ChST": "Chamorro Standard Time", "∅∅∅": "Peru Summer Time", "HEPMX": "Mexican Pacific Daylight Time", "EST": "Eastern Standard Time", "NZDT": "New Zealand Daylight Time", "CHAST": "Chatham Standard Time", "CHADT": "Chatham Daylight Time", "SAST": "South Africa Standard Time", "TMT": "Turkmenistan Standard Time", "WARST": "Western Argentina Summer Time", "BT": "Bhutan Time", "WITA": "Central Indonesia Time", "COT": "Colombia Standard Time", "CDT": "Central Daylight Time", "MYT": "Malaysia Time", "HADT": "Hawaii-Aleutian Daylight Time", "LHDT": "Lord Howe Daylight Time", "WAT": "West Africa Standard Time", "WAST": "West Africa Summer Time", "ECT": "Ecuador Time", "JDT": "Japan Daylight Time", "ACWST": "Australian Central Western Standard Time", "BOT": "Bolivia Time", "HECU": "Cuba Daylight Time", "VET": "Venezuela Time", "WIT": "Eastern Indonesia Time", "LHST": "Lord Howe Standard Time", "HAT": "Newfoundland Daylight Time", "HEEG": "East Greenland Summer Time", "ACST": "Australian Central Standard Time", "SGT": "Singapore Standard Time", "UYST": "Uruguay Summer Time", "HNT": "Newfoundland Standard Time", "EDT": "Eastern Daylight Time", "AST": "Atlantic Standard Time", "AEDT": "Australian Eastern Daylight Time", "CLST": "Chile Summer Time", "EAT": "East Africa Time", "MDT": "Macau Summer Time", "ACWDT": "Australian Central Western Daylight Time", "HKT": "Hong Kong Standard Time", "MEZ": "Central European Standard Time", "COST": "Colombia Summer Time", "CST": "Central Standard Time", "AWDT": "Australian Western Daylight Time", "OEZ": "Eastern European Standard Time", "ART": "Argentina Standard Time", "AEST": "Australian Eastern Standard Time", "MESZ": "Central European Summer Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "WART": "Western Argentina Standard Time", "GMT": "Greenwich Mean Time", "HAST": "Hawaii-Aleutian Standard Time", "AKST": "Alaska Standard Time", "PST": "Pacific Standard Time", "IST": "India Standard Time", "OESZ": "Eastern European Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "HNPMX": "Mexican Pacific Standard Time", "HNEG": "East Greenland Standard Time", "GYT": "Guyana Time", "HEOG": "West Greenland Summer Time", "CLT": "Chile Standard Time", "GFT": "French Guiana Time", "MST": "Macau Standard Time", "UYT": "Uruguay Standard Time", "WEZ": "Western European Standard Time", "WESZ": "Western European Summer Time", "ARST": "Argentina Summer Time", "AWST": "Australian Western Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "AKDT": "Alaska Daylight Time", "ADT": "Atlantic Daylight Time", "SRT": "Suriname Time"}, } } @@ -428,7 +428,12 @@ func (en *en_ZM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (en *en_ZM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +468,12 @@ func (en *en_ZM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/en_ZW/en_ZW.go b/en_ZW/en_ZW.go index b67857398..d913e2a9d 100644 --- a/en_ZW/en_ZW.go +++ b/en_ZW/en_ZW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"B", "A"}, erasWide: []string{"Before Christ", "Anno Domini"}, - timezones: map[string]string{"AKDT": "Alaska Daylight Time", "AST": "Atlantic Standard Time", "∅∅∅": "Azores Summer Time", "NZST": "New Zealand Standard Time", "MESZ": "Central European Summer Time", "COT": "Colombia Standard Time", "ACST": "Australian Central Standard Time", "ACWST": "Australian Central Western Standard Time", "MYT": "Malaysia Time", "MDT": "Mountain Daylight Time", "HAT": "Newfoundland Daylight Time", "WEZ": "Western European Standard Time", "PST": "Pacific Standard Time", "AWDT": "Australian Western Daylight Time", "JDT": "Japan Daylight Time", "LHST": "Lord Howe Standard Time", "GFT": "French Guiana Time", "BOT": "Bolivia Time", "CLST": "Chile Summer Time", "MEZ": "Central European Standard Time", "HNT": "Newfoundland Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "AEST": "Australian Eastern Standard Time", "EST": "Eastern Standard Time", "EDT": "Eastern Daylight Time", "ADT": "Atlantic Daylight Time", "MST": "Mountain Standard Time", "ECT": "Ecuador Time", "TMT": "Turkmenistan Standard Time", "COST": "Colombia Summer Time", "SGT": "Singapore Standard Time", "ChST": "Chamorro Standard Time", "CLT": "Chile Standard Time", "AWST": "Australian Western Standard Time", "WART": "Western Argentina Standard Time", "ACWDT": "Australian Central Western Daylight Time", "AKST": "Alaska Standard Time", "SAST": "South Africa Standard Time", "WITA": "Central Indonesia Time", "GMT": "Greenwich Mean Time", "WIB": "Western Indonesia Time", "LHDT": "Lord Howe Daylight Time", "SRT": "Suriname Time", "WESZ": "Western European Summer Time", "HKST": "Hong Kong Summer Time", "WARST": "Western Argentina Summer Time", "WAST": "West Africa Summer Time", "OESZ": "Eastern European Summer Time", "ACDT": "Australian Central Daylight Time", "ART": "Argentina Standard Time", "AEDT": "Australian Eastern Daylight Time", "TMST": "Turkmenistan Summer Time", "WIT": "Eastern Indonesia Time", "OEZ": "Eastern European Standard Time", "HAST": "Hawaii-Aleutian Standard Time", "WAT": "West Africa Standard Time", "UYST": "Uruguay Summer Time", "VET": "Venezuela Time", "EAT": "East Africa Time", "CAT": "Central Africa Time", "ARST": "Argentina Summer Time", "CHADT": "Chatham Daylight Time", "HKT": "Hong Kong Standard Time", "CDT": "Central Daylight Time", "GYT": "Guyana Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "CHAST": "Chatham Standard Time", "IST": "India Standard Time", "PDT": "Pacific Daylight Time", "CST": "Central Standard Time", "BT": "Bhutan Time", "UYT": "Uruguay Standard Time"}, + timezones: map[string]string{"WAST": "West Africa Summer Time", "MST": "Macau Standard Time", "MDT": "Macau Summer Time", "WITA": "Central Indonesia Time", "MYT": "Malaysia Time", "WIT": "Eastern Indonesia Time", "CHAST": "Chatham Standard Time", "SAST": "South Africa Standard Time", "HEEG": "East Greenland Summer Time", "OESZ": "Eastern European Summer Time", "ECT": "Ecuador Time", "ADT": "Atlantic Daylight Time", "BT": "Bhutan Time", "ART": "Argentina Standard Time", "LHST": "Lord Howe Standard Time", "NZST": "New Zealand Standard Time", "TMST": "Turkmenistan Summer Time", "WAT": "West Africa Standard Time", "SGT": "Singapore Standard Time", "HKT": "Hong Kong Standard Time", "EST": "Eastern Standard Time", "CST": "Central Standard Time", "CLT": "Chile Standard Time", "WART": "Western Argentina Standard Time", "COT": "Colombia Standard Time", "COST": "Colombia Summer Time", "HENOMX": "Northwest Mexico Daylight Time", "HNCU": "Cuba Standard Time", "UYST": "Uruguay Summer Time", "WESZ": "Western European Summer Time", "HEPM": "St. Pierre & Miquelon Daylight Time", "ChST": "Chamorro Standard Time", "GFT": "French Guiana Time", "UYT": "Uruguay Standard Time", "VET": "Venezuela Time", "PDT": "Pacific Daylight Time", "AWST": "Australian Western Standard Time", "HKST": "Hong Kong Summer Time", "IST": "India Standard Time", "CLST": "Chile Summer Time", "TMT": "Turkmenistan Standard Time", "GMT": "Greenwich Mean Time", "HEPMX": "Mexican Pacific Daylight Time", "HNOG": "West Greenland Standard Time", "CAT": "Central Africa Time", "AKDT": "Alaska Daylight Time", "ACWST": "Australian Central Western Standard Time", "WARST": "Western Argentina Summer Time", "AEDT": "Australian Eastern Daylight Time", "BOT": "Bolivia Time", "HNEG": "East Greenland Standard Time", "ACST": "Australian Central Standard Time", "HADT": "Hawaii-Aleutian Daylight Time", "ARST": "Argentina Summer Time", "HEOG": "West Greenland Summer Time", "AEST": "Australian Eastern Standard Time", "HNPM": "St. Pierre & Miquelon Standard Time", "HECU": "Cuba Daylight Time", "HAST": "Hawaii-Aleutian Standard Time", "SRT": "Suriname Time", "ACWDT": "Australian Central Western Daylight Time", "NZDT": "New Zealand Daylight Time", "JST": "Japan Standard Time", "ACDT": "Australian Central Daylight Time", "PST": "Pacific Standard Time", "EAT": "East Africa Time", "OEZ": "Eastern European Standard Time", "EDT": "Eastern Daylight Time", "AKST": "Alaska Standard Time", "GYT": "Guyana Time", "HAT": "Newfoundland Daylight Time", "HNT": "Newfoundland Standard Time", "MESZ": "Central European Summer Time", "LHDT": "Lord Howe Daylight Time", "∅∅∅": "Amazon Summer Time", "HNNOMX": "Northwest Mexico Standard Time", "CDT": "Central Daylight Time", "WEZ": "Western European Standard Time", "MEZ": "Central European Standard Time", "CHADT": "Chatham Daylight Time", "JDT": "Japan Daylight Time", "HNPMX": "Mexican Pacific Standard Time", "AST": "Atlantic Standard Time", "WIB": "Western Indonesia Time", "AWDT": "Australian Western Daylight Time"}, } } @@ -409,7 +409,12 @@ func (en *en_ZW) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -427,7 +432,12 @@ func (en *en_ZW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (en *en_ZW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +481,12 @@ func (en *en_ZW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, en.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,13 +496,11 @@ func (en *en_ZW) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -490,13 +508,6 @@ func (en *en_ZW) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -506,13 +517,11 @@ func (en *en_ZW) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -527,13 +536,6 @@ func (en *en_ZW) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } return string(b) } @@ -543,13 +545,11 @@ func (en *en_ZW) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -566,14 +566,6 @@ func (en *en_ZW) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -585,13 +577,11 @@ func (en *en_ZW) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, en.timeSeparator...) if t.Minute() < 10 { @@ -608,14 +598,6 @@ func (en *en_ZW) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, en.periodsAbbreviated[0]...) - } else { - b = append(b, en.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := en.timezones[tz]; ok { diff --git a/eo/eo.go b/eo/eo.go index 77f7d3d4a..8c7888c5d 100644 --- a/eo/eo.go +++ b/eo/eo.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -74,7 +74,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aK", "pK"}, erasNarrow: []string{"aK", "pK"}, erasWide: []string{"aK", "pK"}, - timezones: map[string]string{"SAST": "suda afrika tempo", "LHST": "LHST", "UYT": "UYT", "ACWDT": "centrokcidenta aŭstralia somera tempo", "AEST": "orienta aŭstralia norma tempo", "CLT": "CLT", "WIT": "orienta indonezia tempo", "ARST": "ARST", "CST": "centra nord-amerika norma tempo", "CDT": "centra nord-amerika somera tempo", "WEZ": "okcidenta eŭropa norma tempo", "WARST": "WARST", "MST": "monta nord-amerika norma tempo", "NZST": "NZST", "CLST": "CLST", "OESZ": "orienta eŭropa somera tempo", "GFT": "GFT", "AKDT": "AKDT", "CAT": "centra afrika tempo", "HAT": "HAT", "COST": "COST", "WIB": "okcidenta indonezia tempo", "GMT": "universala tempo kunordigita", "HKST": "HKST", "ACST": "centra aŭstralia norma tempo", "WART": "WART", "GYT": "GYT", "MYT": "MYT", "NZDT": "NZDT", "ChST": "ChST", "AEDT": "orienta aŭstralia somera tempo", "TMT": "TMT", "AWDT": "okcidenta aŭstralia somera tempo", "OEZ": "orienta eŭropa norma tempo", "VET": "VET", "∅∅∅": "∅∅∅", "LHDT": "LHDT", "ACDT": "centra aŭstralia somera tempo", "HAST": "HAST", "ACWST": "centrokcidenta aŭstralia norma tempo", "IST": "barata tempo", "JDT": "japana somera tempo", "SGT": "SGT", "MEZ": "centra eŭropa norma tempo", "EAT": "orienta afrika tempo", "WAST": "okcidenta afrika somera tempo", "EDT": "orienta nord-amerika somera tempo", "BOT": "BOT", "WESZ": "okcidenta eŭropa somera tempo", "HKT": "HKT", "CHADT": "CHADT", "COT": "COT", "AST": "atlantika nord-amerika norma tempo", "ADT": "atlantika nord-amerika somera tempo", "AKST": "AKST", "MESZ": "centra eŭropa somera tempo", "HADT": "HADT", "MDT": "monta nord-amerika somera tempo", "WITA": "centra indonezia tempo", "BT": "BT", "CHAST": "CHAST", "SRT": "SRT", "WAT": "okcidenta afrika norma tempo", "PDT": "pacifika nord-amerika somera tempo", "HNT": "HNT", "UYST": "UYST", "ECT": "ECT", "EST": "orienta nord-amerika norma tempo", "PST": "pacifika nord-amerika norma tempo", "TMST": "TMST", "AWST": "okcidenta aŭstralia norma tempo", "JST": "japana norma tempo", "ART": "ART"}, + timezones: map[string]string{"HEOG": "HEOG", "HEPM": "HEPM", "HEEG": "HEEG", "WAST": "okcidenta afrika somera tempo", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "HNOG": "HNOG", "JDT": "japana somera tempo", "COST": "COST", "SGT": "SGT", "WIT": "orienta indonezia tempo", "ACWDT": "centrokcidenta aŭstralia somera tempo", "ARST": "ARST", "JST": "japana norma tempo", "WAT": "okcidenta afrika norma tempo", "EST": "orienta nord-amerika norma tempo", "AWST": "okcidenta aŭstralia norma tempo", "LHDT": "LHDT", "IST": "barata tempo", "CDT": "centra nord-amerika somera tempo", "GYT": "GYT", "PST": "pacifika nord-amerika norma tempo", "PDT": "pacifika nord-amerika somera tempo", "MEZ": "centra eŭropa norma tempo", "CST": "centra nord-amerika norma tempo", "HADT": "HADT", "HNPM": "HNPM", "CLT": "CLT", "HENOMX": "HENOMX", "HAST": "HAST", "ACWST": "centrokcidenta aŭstralia norma tempo", "ART": "ART", "CLST": "CLST", "OEZ": "orienta eŭropa norma tempo", "MESZ": "centra eŭropa somera tempo", "SAST": "suda afrika tempo", "AKST": "AKST", "HKT": "HKT", "LHST": "LHST", "NZST": "NZST", "SRT": "SRT", "HKST": "HKST", "VET": "VET", "CHAST": "CHAST", "ACST": "centra aŭstralia norma tempo", "WARST": "WARST", "HECU": "HECU", "GMT": "universala tempo kunordigita", "AKDT": "AKDT", "UYT": "UYT", "HNCU": "HNCU", "MST": "MST", "AST": "atlantika nord-amerika norma tempo", "NZDT": "NZDT", "HNEG": "HNEG", "CAT": "centra afrika tempo", "WART": "WART", "WESZ": "okcidenta eŭropa somera tempo", "GFT": "GFT", "ACDT": "centra aŭstralia somera tempo", "AEST": "orienta aŭstralia norma tempo", "CHADT": "CHADT", "∅∅∅": "∅∅∅", "UYST": "UYST", "BT": "BT", "HNT": "HNT", "HAT": "HAT", "TMST": "TMST", "EAT": "orienta afrika tempo", "OESZ": "orienta eŭropa somera tempo", "COT": "COT", "ADT": "atlantika nord-amerika somera tempo", "WITA": "centra indonezia tempo", "ChST": "ChST", "ECT": "ECT", "MDT": "MDT", "EDT": "orienta nord-amerika somera tempo", "AEDT": "orienta aŭstralia somera tempo", "TMT": "TMT", "MYT": "MYT", "WIB": "okcidenta indonezia tempo", "WEZ": "okcidenta eŭropa norma tempo", "AWDT": "okcidenta aŭstralia somera tempo", "BOT": "BOT"}, } } @@ -407,7 +407,12 @@ func (eo *eo) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) b = append(b, eo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) @@ -426,7 +431,12 @@ func (eo *eo) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) b = append(b, eo.monthsWide[t.Month()]...) b = append(b, []byte{0x2d}...) @@ -453,7 +463,12 @@ func (eo *eo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, eo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/eo_001/eo_001.go b/eo_001/eo_001.go index 049df201f..359aeb657 100644 --- a/eo_001/eo_001.go +++ b/eo_001/eo_001.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -74,7 +74,7 @@ func New() locales.Translator { erasAbbreviated: []string{"aK", "pK"}, erasNarrow: []string{"aK", "pK"}, erasWide: []string{"aK", "pK"}, - timezones: map[string]string{"PDT": "pacifika nord-amerika somera tempo", "SAST": "suda afrika tempo", "WITA": "centra indonezia tempo", "GMT": "universala tempo kunordigita", "VET": "VET", "AEDT": "orienta aŭstralia somera tempo", "ART": "ART", "PST": "pacifika nord-amerika norma tempo", "CHADT": "CHADT", "TMST": "TMST", "UYT": "UYT", "UYST": "UYST", "WEZ": "okcidenta eŭropa norma tempo", "WESZ": "okcidenta eŭropa somera tempo", "AEST": "orienta aŭstralia norma tempo", "AKST": "AKST", "CST": "centra nord-amerika norma tempo", "CDT": "centra nord-amerika somera tempo", "ACWST": "centrokcidenta aŭstralia norma tempo", "LHST": "LHST", "CHAST": "CHAST", "ACDT": "centra aŭstralia somera tempo", "ARST": "ARST", "JDT": "japana somera tempo", "CAT": "centra afrika tempo", "SRT": "SRT", "EAT": "orienta afrika tempo", "WAST": "okcidenta afrika somera tempo", "AKDT": "AKDT", "WIT": "orienta indonezia tempo", "ACWDT": "centrokcidenta aŭstralia somera tempo", "MDT": "monta nord-amerika somera tempo", "COST": "COST", "ChST": "ChST", "HAT": "HAT", "HKST": "HKST", "MYT": "MYT", "NZST": "NZST", "HNT": "HNT", "OEZ": "orienta eŭropa norma tempo", "MEZ": "centra eŭropa norma tempo", "HAST": "HAST", "WART": "WART", "EST": "orienta nord-amerika norma tempo", "WIB": "okcidenta indonezia tempo", "ACST": "centra aŭstralia norma tempo", "IST": "barata tempo", "HKT": "HKT", "COT": "COT", "HADT": "HADT", "AST": "atlantika nord-amerika norma tempo", "OESZ": "orienta eŭropa somera tempo", "MST": "monta nord-amerika norma tempo", "BT": "BT", "AWST": "okcidenta aŭstralia norma tempo", "JST": "japana norma tempo", "ADT": "atlantika nord-amerika somera tempo", "GYT": "GYT", "AWDT": "okcidenta aŭstralia somera tempo", "CLST": "CLST", "WAT": "okcidenta afrika norma tempo", "GFT": "GFT", "SGT": "SGT", "ECT": "ECT", "WARST": "WARST", "EDT": "orienta nord-amerika somera tempo", "BOT": "BOT", "CLT": "CLT", "LHDT": "LHDT", "MESZ": "centra eŭropa somera tempo", "TMT": "TMT", "∅∅∅": "∅∅∅", "NZDT": "NZDT"}, + timezones: map[string]string{"HEPMX": "HEPMX", "ADT": "atlantika nord-amerika somera tempo", "HEEG": "HEEG", "ACST": "centra aŭstralia norma tempo", "COT": "COT", "HEOG": "HEOG", "ACWDT": "centrokcidenta aŭstralia somera tempo", "AEST": "orienta aŭstralia norma tempo", "MESZ": "centra eŭropa somera tempo", "ChST": "ChST", "HAT": "HAT", "HEPM": "HEPM", "JDT": "japana somera tempo", "ECT": "ECT", "HNPMX": "HNPMX", "AST": "atlantika nord-amerika norma tempo", "AKST": "AKST", "VET": "VET", "WEZ": "okcidenta eŭropa norma tempo", "NZST": "NZST", "HNEG": "HNEG", "SGT": "SGT", "WART": "WART", "MDT": "MDT", "UYST": "UYST", "AKDT": "AKDT", "HNOG": "HNOG", "WESZ": "okcidenta eŭropa somera tempo", "∅∅∅": "∅∅∅", "GFT": "GFT", "WARST": "WARST", "HAST": "HAST", "ACWST": "centrokcidenta aŭstralia norma tempo", "HNT": "HNT", "SAST": "suda afrika tempo", "HNNOMX": "HNNOMX", "EST": "orienta nord-amerika norma tempo", "CDT": "centra nord-amerika somera tempo", "AWDT": "okcidenta aŭstralia somera tempo", "CHAST": "CHAST", "WAST": "okcidenta afrika somera tempo", "OESZ": "orienta eŭropa somera tempo", "COST": "COST", "GYT": "GYT", "HKT": "HKT", "HKST": "HKST", "TMT": "TMT", "ACDT": "centra aŭstralia somera tempo", "CAT": "centra afrika tempo", "GMT": "universala tempo kunordigita", "MST": "MST", "CHADT": "CHADT", "EDT": "orienta nord-amerika somera tempo", "CST": "centra nord-amerika norma tempo", "WIT": "orienta indonezia tempo", "ART": "ART", "PDT": "pacifika nord-amerika somera tempo", "CLT": "CLT", "BT": "BT", "PST": "pacifika nord-amerika norma tempo", "WITA": "centra indonezia tempo", "BOT": "BOT", "OEZ": "orienta eŭropa norma tempo", "MYT": "MYT", "LHDT": "LHDT", "CLST": "CLST", "HENOMX": "HENOMX", "HNCU": "HNCU", "SRT": "SRT", "EAT": "orienta afrika tempo", "WAT": "okcidenta afrika norma tempo", "AWST": "okcidenta aŭstralia norma tempo", "HNPM": "HNPM", "TMST": "TMST", "UYT": "UYT", "HADT": "HADT", "MEZ": "centra eŭropa norma tempo", "LHST": "LHST", "JST": "japana norma tempo", "HECU": "HECU", "WIB": "okcidenta indonezia tempo", "ARST": "ARST", "AEDT": "orienta aŭstralia somera tempo", "NZDT": "NZDT", "IST": "barata tempo"}, } } @@ -407,7 +407,12 @@ func (eo *eo_001) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) b = append(b, eo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) @@ -426,7 +431,12 @@ func (eo *eo_001) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) b = append(b, eo.monthsWide[t.Month()]...) b = append(b, []byte{0x2d}...) @@ -453,7 +463,12 @@ func (eo *eo_001) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, eo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es/es.go b/es/es.go index 7672fcb6c..8fbcf26d8 100644 --- a/es/es.go +++ b/es/es.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"ACST": "hora estándar de Australia central", "WAST": "hora de verano de África occidental", "BOT": "hora de Bolivia", "SRT": "hora de Surinam", "CDT": "hora de verano central", "NZST": "hora estándar de Nueva Zelanda", "TMT": "hora estándar de Turkmenistán", "GMT": "hora del meridiano de Greenwich", "HNT": "hora estándar de Terranova", "CLT": "hora estándar de Chile", "IST": "hora estándar de la India", "EST": "hora estándar oriental", "PST": "hora estándar del Pacífico", "WESZ": "hora de verano de Europa occidental", "ACWDT": "hora de verano de Australia centroccidental", "OESZ": "hora de verano de Europa oriental", "EDT": "hora de verano oriental", "MYT": "hora de Malasia", "HKT": "hora estándar de Hong Kong", "OEZ": "hora estándar de Europa oriental", "GFT": "hora de la Guayana Francesa", "WAT": "hora estándar de África occidental", "ChST": "hora estándar de Chamorro", "MST": "Hora estándar de Macao", "ACDT": "hora de verano de Australia central", "AEDT": "hora de verano de Australia oriental", "WART": "hora estándar de Argentina occidental", "ACWST": "hora estándar de Australia centroccidental", "EAT": "hora de África oriental", "TMST": "hora de verano de Turkmenistán", "WEZ": "hora estándar de Europa occidental", "ECT": "hora de Ecuador", "CST": "hora estándar central", "CAT": "hora de África central", "LHST": "hora estándar de Lord Howe", "ARST": "hora de verano de Argentina", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "WARST": "hora de verano de Argentina occidental", "PDT": "hora de verano del Pacífico", "COT": "hora estándar de Colombia", "ART": "hora estándar de Argentina", "SGT": "hora de Singapur", "HADT": "hora de verano de Hawái-Aleutiano", "GYT": "hora de Guyana", "HAT": "hora de verano de Terranova", "CHADT": "hora de verano de Chatham", "UYST": "hora de verano de Uruguay", "LHDT": "hora de verano de Lord Howe", "CLST": "hora de verano de Chile", "UYT": "hora estándar de Uruguay", "AKST": "hora estándar de Alaska", "AST": "hora estándar del Atlántico", "MEZ": "hora estándar de Europa central", "MESZ": "hora de verano de Europa central", "SAST": "hora de Sudáfrica", "∅∅∅": "hora de verano de Brasilia", "VET": "hora de Venezuela", "ADT": "hora de verano del Atlántico", "WITA": "hora de Indonesia central", "AEST": "hora estándar de Australia oriental", "HAST": "hora estándar de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "BT": "hora de Bután", "JST": "hora estándar de Japón", "JDT": "hora de verano de Japón", "HKST": "hora de verano de Hong Kong", "CHAST": "hora estándar de Chatham", "MDT": "Hora de verano de Macao", "NZDT": "hora de verano de Nueva Zelanda", "AKDT": "hora de verano de Alaska", "COST": "hora de verano de Colombia", "WIB": "hora de Indonesia occidental"}, + timezones: map[string]string{"BT": "hora de Bután", "AEDT": "hora de verano de Australia oriental", "TMT": "hora estándar de Turkmenistán", "COT": "hora estándar de Colombia", "GMT": "hora del meridiano de Greenwich", "SAST": "hora de Sudáfrica", "CLST": "hora de verano de Chile", "ACDT": "hora de verano de Australia central", "OESZ": "hora de verano de Europa oriental", "∅∅∅": "hora de verano de Perú", "PDT": "hora de verano del Pacífico", "ART": "hora estándar de Argentina", "WITA": "hora de Indonesia central", "HEPMX": "hora de verano del Pacífico de México", "AKST": "hora estándar de Alaska", "MYT": "hora de Malasia", "WEZ": "hora estándar de Europa occidental", "ARST": "hora de verano de Argentina", "HEOG": "hora de verano de Groenlandia occidental", "EAT": "hora de África oriental", "OEZ": "hora estándar de Europa oriental", "MST": "Hora estándar de Macao", "WIB": "hora de Indonesia occidental", "WESZ": "hora de verano de Europa occidental", "AWDT": "hora de verano de Australia occidental", "SGT": "hora de Singapur", "PST": "hora estándar del Pacífico", "HKT": "hora estándar de Hong Kong", "HNPM": "hora estándar de San Pedro y Miquelón", "AEST": "hora estándar de Australia oriental", "HKST": "hora de verano de Hong Kong", "ACST": "hora estándar de Australia central", "COST": "hora de verano de Colombia", "HNNOMX": "hora estándar del noroeste de México", "ADT": "hora de verano del Atlántico", "VET": "hora de Venezuela", "HNT": "hora estándar de Terranova", "LHDT": "hora de verano de Lord Howe", "CLT": "hora estándar de Chile", "ECT": "hora de Ecuador", "EDT": "hora de verano oriental", "IST": "hora estándar de la India", "HEEG": "hora de verano de Groenlandia oriental", "GFT": "hora de la Guayana Francesa", "UYT": "hora estándar de Uruguay", "UYST": "hora de verano de Uruguay", "SRT": "hora de Surinam", "NZDT": "hora de verano de Nueva Zelanda", "HAST": "hora estándar de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "HNCU": "hora estándar de Cuba", "GYT": "hora de Guyana", "CST": "hora estándar central", "AWST": "hora estándar de Australia occidental", "ChST": "hora estándar de Chamorro", "BOT": "hora de Bolivia", "HNEG": "hora estándar de Groenlandia oriental", "WAST": "hora de verano de África occidental", "MDT": "Hora de verano de Macao", "AKDT": "hora de verano de Alaska", "HEPM": "hora de verano de San Pedro y Miquelón", "JDT": "hora de verano de Japón", "TMST": "hora de verano de Turkmenistán", "CAT": "hora de África central", "WARST": "hora de verano de Argentina occidental", "AST": "hora estándar del Atlántico", "ACWST": "hora estándar de Australia centroccidental", "JST": "hora estándar de Japón", "NZST": "hora estándar de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "HECU": "hora de verano de Cuba", "HNPMX": "hora estándar del Pacífico de México", "CDT": "hora de verano central", "ACWDT": "hora de verano de Australia centroccidental", "MEZ": "hora estándar de Europa central", "LHST": "hora estándar de Lord Howe", "HENOMX": "hora de verano del noroeste de México", "MESZ": "hora de verano de Europa central", "CHADT": "hora de verano de Chatham", "WAT": "hora estándar de África occidental", "WART": "hora estándar de Argentina occidental", "EST": "hora estándar oriental", "HADT": "hora de verano de Hawái-Aleutiano", "HAT": "hora de verano de Terranova", "HNOG": "hora estándar de Groenlandia occidental"}, } } @@ -413,7 +413,12 @@ func (es *es) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_419/es_419.go b/es_419/es_419.go index 1f3669222..fee14d361 100644 --- a/es_419/es_419.go +++ b/es_419/es_419.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "E£", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "BsF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "E£", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "BsF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sep.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"}, @@ -64,12 +64,12 @@ func New() locales.Translator { daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, - periodsNarrow: []string{"", ""}, + periodsNarrow: []string{"a.m.", "p.m."}, periodsWide: []string{"a.m.", "p.m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"MST": "hora estándar de las Montañas", "ART": "hora estándar de Argentina", "AKDT": "hora de verano de Alaska", "EST": "hora estándar oriental", "HKST": "hora de verano de Hong Kong", "ARST": "hora de verano de Argentina", "WAT": "hora estándar de África occidental", "CLT": "hora estándar de Chile", "AWST": "hora estándar de Australia occidental", "WAST": "hora de verano de África occidental", "MEZ": "hora estándar de Europa central", "SAST": "hora de Sudáfrica", "AKST": "hora estándar de Alaska", "EAT": "hora de África oriental", "MDT": "hora de verano de las Montañas", "CHADT": "hora de verano de Chatham", "GFT": "hora de la Guayana Francesa", "ACWST": "hora estándar de Australia centroccidental", "ACST": "hora estándar de Australia central", "AEDT": "hora de verano de Australia oriental", "GYT": "hora de Guyana", "AWDT": "hora de verano de Australia occidental", "JDT": "hora de verano de Japón", "VET": "hora de Venezuela", "ACWDT": "hora de verano de Australia centroccidental", "PST": "hora estándar del Pacífico", "AST": "hora estándar del Atlántico", "SRT": "hora de Surinam", "WIB": "hora de Indonesia occidental", "ACDT": "hora de verano de Australia central", "UYST": "hora de verano de Uruguay", "OESZ": "hora de verano de Europa oriental", "WART": "hora estándar de Argentina occidental", "TMST": "hora de verano de Turkmenistán", "JST": "hora estándar de Japón", "∅∅∅": "hora de verano de Brasilia", "LHDT": "hora de verano de Lord Howe", "HNT": "hora estándar de Terranova", "AEST": "hora estándar de Australia oriental", "CST": "hora estándar central", "HAST": "hora estándar de Hawái-Aleutianas", "WITA": "hora de Indonesia central", "HAT": "hora de verano de Terranova", "WIT": "hora de Indonesia oriental", "MESZ": "hora de verano de Europa central", "PDT": "hora de verano del Pacífico", "NZST": "hora estándar de Nueva Zelanda", "COT": "hora estándar de Colombia", "ECT": "hora de Ecuador", "EDT": "hora de verano oriental", "CAT": "hora de África central", "COST": "hora de verano de Colombia", "SGT": "hora de Singapur", "CLST": "hora de verano de Chile", "BT": "hora de Bután", "OEZ": "hora estándar de Europa oriental", "ADT": "hora de verano del Atlántico", "CDT": "hora de verano central", "NZDT": "hora de verano de Nueva Zelanda", "WESZ": "hora de verano de Europa occidental", "WARST": "hora de verano de Argentina occidental", "HADT": "hora de verano de Hawái-Aleutianas", "MYT": "hora de Malasia", "HKT": "hora estándar de Hong Kong", "IST": "hora de India", "TMT": "hora estándar de Turkmenistán", "CHAST": "hora estándar de Chatham", "WEZ": "hora estándar de Europa occidental", "BOT": "hora de Bolivia", "ChST": "hora de Chamorro", "GMT": "hora del meridiano de Greenwich", "LHST": "hora estándar de Lord Howe", "UYT": "hora estándar de Uruguay"}, + timezones: map[string]string{"WIT": "hora de Indonesia oriental", "ART": "hora estándar de Argentina", "HADT": "hora de verano de Hawái-Aleutianas", "VET": "hora de Venezuela", "WESZ": "hora de verano de Europa occidental", "NZST": "hora estándar de Nueva Zelanda", "IST": "hora de India", "GYT": "hora de Guyana", "UYST": "hora de verano de Uruguay", "AKST": "hora estándar de Alaska", "MESZ": "hora de verano de Europa central", "HEEG": "hora de verano de Groenlandia oriental", "TMST": "hora de verano de Turkmenistán", "EST": "hora estándar oriental", "HAST": "hora estándar de Hawái-Aleutianas", "HEOG": "hora de verano de Groenlandia occidental", "NZDT": "hora de verano de Nueva Zelanda", "HNEG": "hora estándar de Groenlandia oriental", "CAT": "hora de África central", "COT": "hora estándar de Colombia", "WEZ": "hora estándar de Europa occidental", "HKT": "hora estándar de Hong Kong", "HEPM": "hora de verano de San Pedro y Miquelón", "CDT": "hora de verano central", "AST": "hora estándar del Atlántico", "WIB": "hora de Indonesia occidental", "HNOG": "hora estándar de Groenlandia occidental", "PST": "hora estándar del Pacífico", "ACWDT": "hora de verano de Australia centroccidental", "EAT": "hora de África oriental", "COST": "hora de verano de Colombia", "HNCU": "hora estándar de Cuba", "∅∅∅": "hora de verano de las Azores", "ADT": "hora de verano del Atlántico", "BOT": "hora de Bolivia", "TMT": "hora estándar de Turkmenistán", "ACST": "hora estándar de Australia central", "WART": "hora estándar de Argentina occidental", "HNNOMX": "hora estándar del noroeste de México", "HNPMX": "hora estándar del Pacífico de México", "CLST": "hora de verano de Chile", "JST": "hora estándar de Japón", "AEST": "hora estándar de Australia oriental", "CHAST": "hora estándar de Chatham", "WAST": "hora de verano de África occidental", "ECT": "hora de Ecuador", "WARST": "hora de verano de Argentina occidental", "MST": "Hora estándar de Macao", "BT": "hora de Bután", "ARST": "hora de verano de Argentina", "HENOMX": "hora de verano del noroeste de México", "MEZ": "hora estándar de Europa central", "CLT": "hora estándar de Chile", "UYT": "hora estándar de Uruguay", "AWST": "hora estándar de Australia occidental", "WITA": "hora de Indonesia central", "HEPMX": "hora de verano del Pacífico de México", "CST": "hora estándar central", "AEDT": "hora de verano de Australia oriental", "AKDT": "hora de verano de Alaska", "HAT": "hora de verano de Terranova", "HNPM": "hora estándar de San Pedro y Miquelón", "JDT": "hora de verano de Japón", "HECU": "hora de verano de Cuba", "EDT": "hora de verano oriental", "MYT": "hora de Malasia", "CHADT": "hora de verano de Chatham", "WAT": "hora estándar de África occidental", "OESZ": "hora de verano de Europa oriental", "LHST": "hora estándar de Lord Howe", "SGT": "hora de Singapur", "MDT": "Hora de verano de Macao", "HNT": "hora estándar de Terranova", "HKST": "hora de verano de Hong Kong", "ACDT": "hora de verano de Australia central", "OEZ": "hora estándar de Europa oriental", "GMT": "hora del meridiano de Greenwich", "PDT": "hora de verano del Pacífico", "ACWST": "hora estándar de Australia centroccidental", "SRT": "hora de Surinam", "AWDT": "hora de verano de Australia occidental", "GFT": "hora de la Guayana Francesa", "LHDT": "hora de verano de Lord Howe", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro"}, } } @@ -410,7 +410,12 @@ func (es *es_419) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +431,12 @@ func (es *es_419) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (es *es_419) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_AR/es_AR.go b/es_AR/es_AR.go index 5d079fbb7..70ae0b56b 100644 --- a/es_AR/es_AR.go +++ b/es_AR/es_AR.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: "( ", @@ -66,16 +66,16 @@ func New() locales.Translator { monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}, daysAbbreviated: []string{"dom.", "lun.", "mar.", "mié.", "jue.", "vie.", "sáb."}, - daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, - periodsAbbreviated: []string{"", ""}, - periodsNarrow: []string{"", ""}, - periodsWide: []string{"", ""}, + periodsAbbreviated: []string{"a. m.", "p. m."}, + periodsNarrow: []string{"a. m.", "p. m."}, + periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"CLT": "hora estándar de Chile", "ECT": "hora de Ecuador", "WART": "hora estándar de Argentina occidental", "MDT": "hora de verano de las Montañas", "COT": "hora estándar de Colombia", "VET": "hora de Venezuela", "MEZ": "hora estándar de Europa central", "AEST": "hora estándar de Australia oriental", "NZST": "hora estándar de Nueva Zelanda", "HNT": "hora estándar de Terranova", "AWDT": "hora de verano de Australia occidental", "WEZ": "hora estándar de Europa occidental", "COST": "hora de verano de Colombia", "MST": "hora estándar de las Montañas", "CAT": "hora de África central", "TMST": "hora de verano de Turkmenistán", "∅∅∅": "hora de verano de las Azores", "CLST": "hora de verano de Chile", "HADT": "hora de verano de Hawái-Aleutiano", "WAT": "hora estándar de África occidental", "TMT": "hora estándar de Turkmenistán", "WITA": "hora de Indonesia central", "AWST": "hora estándar de Australia occidental", "OEZ": "hora estándar de Europa oriental", "ACWST": "hora estándar de Australia centroccidental", "PDT": "hora de verano del Pacífico", "CDT": "hora de verano central", "WIT": "hora de Indonesia oriental", "ACST": "hora estándar de Australia central", "AEDT": "hora de verano de Australia oriental", "SAST": "hora de Sudáfrica", "AKDT": "hora de verano de Alaska", "PST": "hora estándar del Pacífico", "UYST": "hora de verano de Uruguay", "HKST": "hora de verano de Hong Kong", "CHAST": "hora estándar de Chatham", "WIB": "hora de Indonesia occidental", "WAST": "hora de verano de África occidental", "EDT": "hora de verano oriental", "UYT": "hora estándar de Uruguay", "IST": "hora estándar de la India", "AKST": "hora estándar de Alaska", "ChST": "hora estándar de Chamorro", "LHST": "hora estándar de Lord Howe", "SRT": "hora de Surinam", "MESZ": "hora de verano de Europa central", "WARST": "hora de verano de Argentina occidental", "EST": "hora estándar oriental", "GYT": "hora de Guyana", "BOT": "hora de Bolivia", "JDT": "hora de verano de Japón", "HAST": "hora estándar de Hawái-Aleutiano", "EAT": "hora de África oriental", "MYT": "hora de Malasia", "CST": "hora estándar central", "BT": "hora de Bután", "GMT": "hora del meridiano de Greenwich", "SGT": "hora de Singapur", "ACWDT": "hora de verano de Australia centroccidental", "CHADT": "hora de verano de Chatham", "AST": "hora estándar del Atlántico", "NZDT": "hora de verano de Nueva Zelanda", "HAT": "hora de verano de Terranova", "LHDT": "hora de verano de Lord Howe", "JST": "hora estándar de Japón", "WESZ": "hora de verano de Europa occidental", "HKT": "hora estándar de Hong Kong", "ARST": "hora de verano de Argentina", "ADT": "hora de verano del Atlántico", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "ACDT": "hora de verano de Australia central", "ART": "hora estándar de Argentina"}, + timezones: map[string]string{"PDT": "hora de verano del Pacífico", "HEPM": "hora de verano de San Pedro y Miquelón", "GFT": "hora de la Guayana Francesa", "OEZ": "hora estándar de Europa oriental", "AKST": "hora estándar de Alaska", "CDT": "hora de verano central", "HEOG": "hora de verano de Groenlandia occidental", "SAST": "hora de Sudáfrica", "HNEG": "hora estándar de Groenlandia oriental", "HNNOMX": "hora estándar del noroeste de México", "AST": "hora estándar del Atlántico", "HAST": "hora estándar de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "HNOG": "hora estándar de Groenlandia occidental", "HKT": "hora estándar de Hong Kong", "WITA": "hora de Indonesia central", "HNPMX": "hora estándar del Pacífico de México", "VET": "hora de Venezuela", "CHADT": "hora de verano de Chatham", "EDT": "hora de verano oriental", "UYST": "hora de verano de Uruguay", "ART": "hora estándar de Argentina", "LHDT": "hora de verano de Lord Howe", "ACST": "hora estándar de Australia central", "OESZ": "hora de verano de Europa oriental", "WARST": "hora de verano de Argentina occidental", "HEPMX": "hora de verano del Pacífico de México", "WIB": "hora de Indonesia occidental", "ARST": "hora de verano de Argentina", "ACWST": "hora estándar de Australia centroccidental", "LHST": "hora estándar de Lord Howe", "JST": "hora estándar de Japón", "BOT": "hora de Bolivia", "ECT": "hora de Ecuador", "CAT": "hora de África central", "MDT": "hora de verano de las Montañas", "COT": "hora estándar de Colombia", "GMT": "hora del meridiano de Greenwich", "AKDT": "hora de verano de Alaska", "CST": "hora estándar central", "WAST": "hora de verano de África occidental", "ACWDT": "hora de verano de Australia centroccidental", "TMT": "hora estándar de Turkmenistán", "BT": "hora de Bután", "HEEG": "hora de verano de Groenlandia oriental", "EST": "hora estándar oriental", "ADT": "hora de verano del Atlántico", "AEDT": "hora de verano de Australia oriental", "WESZ": "hora de verano de Europa occidental", "HNT": "hora estándar de Terranova", "AWDT": "hora de verano de Australia occidental", "SRT": "hora de Surinam", "CHAST": "hora estándar de Chatham", "GYT": "hora de Guyana", "NZDT": "hora de verano de Nueva Zelanda", "AEST": "hora estándar de Australia oriental", "EAT": "hora de África oriental", "HNCU": "hora estándar de Cuba", "HADT": "hora de verano de Hawái-Aleutiano", "JDT": "hora de verano de Japón", "CLST": "hora de verano de Chile", "WAT": "hora estándar de África occidental", "HENOMX": "hora de verano del noroeste de México", "UYT": "hora estándar de Uruguay", "MST": "hora estándar de las Montañas", "HAT": "hora de verano de Terranova", "HNPM": "hora estándar de San Pedro y Miquelón", "∅∅∅": "hora de verano del Amazonas", "ACDT": "hora de verano de Australia central", "COST": "hora de verano de Colombia", "SGT": "hora de Singapur", "HECU": "hora de verano de Cuba", "PST": "hora estándar del Pacífico", "MYT": "hora de Malasia", "HKST": "hora de verano de Hong Kong", "NZST": "hora estándar de Nueva Zelanda", "CLT": "hora estándar de Chile", "ChST": "hora estándar de Chamorro", "WART": "hora estándar de Argentina occidental", "AWST": "hora estándar de Australia occidental", "MEZ": "hora estándar de Europa central", "MESZ": "hora de verano de Europa central", "IST": "hora estándar de la India", "TMST": "hora de verano de Turkmenistán", "WEZ": "hora estándar de Europa occidental"}, } } @@ -430,7 +430,12 @@ func (es *es_AR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (es *es_AR) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (es *es_AR) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_BO/es_BO.go b/es_BO/es_BO.go index c200eb4a9..91a01dad9 100644 --- a/es_BO/es_BO.go +++ b/es_BO/es_BO.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"ACWST": "hora estándar de Australia centroccidental", "TMT": "hora estándar de Turkmenistán", "AWDT": "hora de verano de Australia occidental", "GFT": "hora de la Guayana Francesa", "ACST": "hora estándar de Australia central", "HKST": "hora de verano de Hong Kong", "HAST": "hora estándar de Hawái-Aleutiano", "ART": "hora estándar de Argentina", "WAT": "hora estándar de África occidental", "WITA": "hora de Indonesia central", "TMST": "hora de verano de Turkmenistán", "GMT": "hora del meridiano de Greenwich", "LHDT": "hora de verano de Lord Howe", "ECT": "hora de Ecuador", "AST": "hora estándar del Atlántico", "OESZ": "hora de verano de Europa oriental", "CHAST": "hora estándar de Chatham", "ACWDT": "hora de verano de Australia centroccidental", "IST": "hora estándar de la India", "UYST": "hora de verano de Uruguay", "WESZ": "hora de verano de Europa occidental", "AKDT": "hora de verano de Alaska", "CST": "hora estándar central", "MESZ": "hora de verano de Europa central", "HADT": "hora de verano de Hawái-Aleutiano", "AEDT": "hora de verano de Australia oriental", "AKST": "hora estándar de Alaska", "CAT": "hora de África central", "HNT": "hora estándar de Terranova", "HAT": "hora de verano de Terranova", "SRT": "hora de Surinam", "SGT": "hora de Singapur", "WARST": "hora de verano de Argentina occidental", "PST": "hora estándar del Pacífico", "ADT": "hora de verano del Atlántico", "MST": "hora estándar de las Montañas", "JDT": "hora de verano de Japón", "HKT": "hora estándar de Hong Kong", "ACDT": "hora de verano de Australia central", "SAST": "hora de Sudáfrica", "GYT": "hora de Guyana", "WART": "hora estándar de Argentina occidental", "EDT": "hora de verano oriental", "EAT": "hora de África oriental", "ChST": "hora estándar de Chamorro", "BOT": "hora de Bolivia", "∅∅∅": "hora de verano de Brasilia", "WIB": "hora de Indonesia occidental", "ARST": "hora de verano de Argentina", "MYT": "hora de Malasia", "COT": "hora estándar de Colombia", "COST": "hora de verano de Colombia", "AEST": "hora estándar de Australia oriental", "CDT": "hora de verano central", "BT": "hora de Bután", "JST": "hora estándar de Japón", "CHADT": "hora de verano de Chatham", "EST": "hora estándar oriental", "MDT": "hora de verano de las Montañas", "CLT": "hora estándar de Chile", "WEZ": "hora estándar de Europa occidental", "VET": "hora de Venezuela", "AWST": "hora estándar de Australia occidental", "OEZ": "hora estándar de Europa oriental", "NZST": "hora estándar de Nueva Zelanda", "MEZ": "hora estándar de Europa central", "PDT": "hora de verano del Pacífico", "WAST": "hora de verano de África occidental", "NZDT": "hora de verano de Nueva Zelanda", "CLST": "hora de verano de Chile", "WIT": "hora de Indonesia oriental", "LHST": "hora estándar de Lord Howe", "UYT": "hora estándar de Uruguay"}, + timezones: map[string]string{"HEPMX": "hora de verano del Pacífico de México", "WEZ": "hora estándar de Europa occidental", "HEPM": "hora de verano de San Pedro y Miquelón", "GYT": "hora de Guyana", "HAST": "hora estándar de Hawái-Aleutiano", "BT": "hora de Bután", "ACST": "hora estándar de Australia central", "WAT": "hora estándar de África occidental", "SGT": "hora de Singapur", "MDT": "Hora de verano de Macao", "HNPM": "hora estándar de San Pedro y Miquelón", "HNT": "hora estándar de Terranova", "JDT": "hora de verano de Japón", "HNEG": "hora estándar de Groenlandia oriental", "TMT": "hora estándar de Turkmenistán", "ECT": "hora de Ecuador", "COST": "hora de verano de Colombia", "UYST": "hora de verano de Uruguay", "VET": "hora de Venezuela", "SAST": "hora de Sudáfrica", "GFT": "hora de la Guayana Francesa", "ACDT": "hora de verano de Australia central", "HNNOMX": "hora estándar del noroeste de México", "HENOMX": "hora de verano del noroeste de México", "MESZ": "hora de verano de Europa central", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "NZST": "hora estándar de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "ChST": "hora estándar de Chamorro", "EST": "hora estándar oriental", "AWDT": "hora de verano de Australia occidental", "WIB": "hora de Indonesia occidental", "HADT": "hora de verano de Hawái-Aleutiano", "SRT": "hora de Surinam", "WESZ": "hora de verano de Europa occidental", "TMST": "hora de verano de Turkmenistán", "WAST": "hora de verano de África occidental", "HNCU": "hora estándar de Cuba", "CDT": "hora de verano central", "LHST": "hora estándar de Lord Howe", "CST": "hora estándar central", "UYT": "hora estándar de Uruguay", "WIT": "hora de Indonesia oriental", "ART": "hora estándar de Argentina", "OESZ": "hora de verano de Europa oriental", "WART": "hora estándar de Argentina occidental", "HNPMX": "hora estándar del Pacífico de México", "MST": "Hora estándar de Macao", "MEZ": "hora estándar de Europa central", "HKST": "hora de verano de Hong Kong", "CHADT": "hora de verano de Chatham", "JST": "hora estándar de Japón", "AKST": "hora estándar de Alaska", "ADT": "hora de verano del Atlántico", "HAT": "hora de verano de Terranova", "ACWST": "hora estándar de Australia centroccidental", "WITA": "hora de Indonesia central", "COT": "hora estándar de Colombia", "GMT": "hora del meridiano de Greenwich", "EDT": "hora de verano oriental", "AST": "hora estándar del Atlántico", "AEST": "hora estándar de Australia oriental", "OEZ": "hora estándar de Europa oriental", "HNOG": "hora estándar de Groenlandia occidental", "PST": "hora estándar del Pacífico", "PDT": "hora de verano del Pacífico", "HEEG": "hora de verano de Groenlandia oriental", "AKDT": "hora de verano de Alaska", "MYT": "hora de Malasia", "HKT": "hora estándar de Hong Kong", "AEDT": "hora de verano de Australia oriental", "AWST": "hora estándar de Australia occidental", "NZDT": "hora de verano de Nueva Zelanda", "CAT": "hora de África central", "EAT": "hora de África oriental", "ACWDT": "hora de verano de Australia centroccidental", "HEOG": "hora de verano de Groenlandia occidental", "LHDT": "hora de verano de Lord Howe", "ARST": "hora de verano de Argentina", "IST": "hora estándar de la India", "∅∅∅": "hora de verano del Amazonas", "BOT": "hora de Bolivia", "WARST": "hora de verano de Argentina occidental", "HECU": "hora de verano de Cuba"}, } } @@ -412,8 +412,14 @@ func (es *es_BO) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +435,12 @@ func (es *es_BO) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +458,12 @@ func (es *es_BO) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_BR/es_BR.go b/es_BR/es_BR.go index ec41b7ca2..8d0ea33c9 100644 --- a/es_BR/es_BR.go +++ b/es_BR/es_BR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"WIB": "hora de Indonesia occidental", "HAST": "hora estándar de Hawái-Aleutiano", "PST": "hora estándar del Pacífico", "MST": "hora estándar de las Montañas", "AEDT": "hora de verano de Australia oriental", "WART": "hora estándar de Argentina occidental", "BOT": "hora de Bolivia", "CLST": "hora de verano de Chile", "JDT": "hora de verano de Japón", "WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "ECT": "hora de Ecuador", "ACDT": "hora de verano de Australia central", "HADT": "hora de verano de Hawái-Aleutiano", "WAT": "hora estándar de África occidental", "AWDT": "hora de verano de Australia occidental", "UYST": "hora de verano de Uruguay", "GMT": "hora del meridiano de Greenwich", "LHDT": "hora de verano de Lord Howe", "IST": "hora estándar de la India", "AKDT": "hora de verano de Alaska", "CLT": "hora estándar de Chile", "CST": "hora estándar central", "EST": "hora estándar oriental", "AST": "hora estándar del Atlántico", "LHST": "hora estándar de Lord Howe", "SRT": "hora de Surinam", "ART": "hora estándar de Argentina", "ARST": "hora de verano de Argentina", "SAST": "hora de Sudáfrica", "AWST": "hora estándar de Australia occidental", "HAT": "hora de verano de Terranova", "JST": "hora estándar de Japón", "PDT": "hora de verano del Pacífico", "CAT": "hora de África central", "EAT": "hora de África oriental", "ChST": "hora estándar de Chamorro", "WARST": "hora de verano de Argentina occidental", "NZST": "hora estándar de Nueva Zelanda", "AKST": "hora estándar de Alaska", "MYT": "hora de Malasia", "WIT": "hora de Indonesia oriental", "∅∅∅": "hora de verano de Brasilia", "CHAST": "hora estándar de Chatham", "CHADT": "hora de verano de Chatham", "TMT": "hora estándar de Turkmenistán", "BT": "hora de Bután", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "COT": "hora estándar de Colombia", "UYT": "hora estándar de Uruguay", "SGT": "hora de Singapur", "VET": "hora de Venezuela", "WITA": "hora de Indonesia central", "HNT": "hora estándar de Terranova", "COST": "hora de verano de Colombia", "ACST": "hora estándar de Australia central", "ACWDT": "hora de verano de Australia centroccidental", "MESZ": "hora de verano de Europa central", "EDT": "hora de verano oriental", "ADT": "hora de verano del Atlántico", "GYT": "hora de Guyana", "WAST": "hora de verano de África occidental", "TMST": "hora de verano de Turkmenistán", "CDT": "hora de verano central", "NZDT": "hora de verano de Nueva Zelanda", "HKT": "hora estándar de Hong Kong", "OEZ": "hora estándar de Europa oriental", "MEZ": "hora estándar de Europa central", "AEST": "hora estándar de Australia oriental", "HKST": "hora de verano de Hong Kong", "ACWST": "hora estándar de Australia centroccidental", "MDT": "hora de verano de las Montañas"}, + timezones: map[string]string{"AEDT": "hora de verano de Australia oriental", "WART": "hora estándar de Argentina occidental", "HNPMX": "hora estándar del Pacífico de México", "ACWDT": "hora de verano de Australia centroccidental", "HKT": "hora estándar de Hong Kong", "CHAST": "hora estándar de Chatham", "ChST": "hora estándar de Chamorro", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "HNNOMX": "hora estándar del noroeste de México", "AKST": "hora estándar de Alaska", "WEZ": "hora estándar de Europa occidental", "HNT": "hora estándar de Terranova", "CLT": "hora estándar de Chile", "JST": "hora estándar de Japón", "EDT": "hora de verano oriental", "GMT": "hora del meridiano de Greenwich", "UYST": "hora de verano de Uruguay", "MESZ": "hora de verano de Europa central", "BOT": "hora de Bolivia", "WAT": "hora estándar de África occidental", "COT": "hora estándar de Colombia", "HEPMX": "hora de verano del Pacífico de México", "GYT": "hora de Guyana", "HNOG": "hora estándar de Groenlandia occidental", "HEOG": "hora de verano de Groenlandia occidental", "∅∅∅": "hora de verano del Amazonas", "HENOMX": "hora de verano del noroeste de México", "AWST": "hora estándar de Australia occidental", "LHDT": "hora de verano de Lord Howe", "ACST": "hora estándar de Australia central", "AKDT": "hora de verano de Alaska", "CST": "hora estándar central", "AST": "hora estándar del Atlántico", "SRT": "hora de Surinam", "HAT": "hora de verano de Terranova", "OEZ": "hora estándar de Europa oriental", "COST": "hora de verano de Colombia", "WIT": "hora de Indonesia oriental", "WESZ": "hora de verano de Europa occidental", "NZST": "hora estándar de Nueva Zelanda", "PDT": "hora de verano del Pacífico", "AWDT": "hora de verano de Australia occidental", "HKST": "hora de verano de Hong Kong", "HECU": "hora de verano de Cuba", "MYT": "hora de Malasia", "ACWST": "hora estándar de Australia centroccidental", "HEPM": "hora de verano de San Pedro y Miquelón", "ACDT": "hora de verano de Australia central", "HNCU": "hora estándar de Cuba", "MST": "hora estándar de las Montañas", "MEZ": "hora estándar de Europa central", "ECT": "hora de Ecuador", "CAT": "hora de África central", "EST": "hora estándar oriental", "VET": "hora de Venezuela", "HADT": "hora de verano de Hawái-Aleutiano", "HNPM": "hora estándar de San Pedro y Miquelón", "SAST": "hora de Sudáfrica", "HNEG": "hora estándar de Groenlandia oriental", "CDT": "hora de verano central", "ADT": "hora de verano del Atlántico", "AEST": "hora estándar de Australia oriental", "TMT": "hora estándar de Turkmenistán", "ARST": "hora de verano de Argentina", "PST": "hora estándar del Pacífico", "WITA": "hora de Indonesia central", "MDT": "hora de verano de las Montañas", "BT": "hora de Bután", "JDT": "hora de verano de Japón", "SGT": "hora de Singapur", "CLST": "hora de verano de Chile", "HEEG": "hora de verano de Groenlandia oriental", "WARST": "hora de verano de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "LHST": "hora estándar de Lord Howe", "NZDT": "hora de verano de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "IST": "hora estándar de la India", "WAST": "hora de verano de África occidental", "UYT": "hora estándar de Uruguay", "WIB": "hora de Indonesia occidental", "ART": "hora estándar de Argentina", "TMST": "hora de verano de Turkmenistán", "EAT": "hora de África oriental"}, } } @@ -413,7 +413,12 @@ func (es *es_BR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_BR) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_BR) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_CL/es_CL.go b/es_CL/es_CL.go index 8b5da219d..959a0441d 100644 --- a/es_CL/es_CL.go +++ b/es_CL/es_CL.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"LHST": "hora estándar de Lord Howe", "ART": "hora estándar de Argentina", "AST": "hora estándar del Atlántico", "BT": "hora de Bután", "UYST": "hora de verano de Uruguay", "WIT": "hora de Indonesia oriental", "WEZ": "hora estándar de Europa occidental", "HADT": "hora de verano de Hawái-Aleutiano", "WAT": "hora estándar de África occidental", "CDT": "hora de verano central", "SGT": "hora de Singapur", "EDT": "hora de verano oriental", "CST": "hora estándar central", "CLST": "hora de verano de Chile", "WART": "hora estándar de Argentina occidental", "PST": "hora estándar del Pacífico", "HAT": "hora de verano de Terranova", "∅∅∅": "Hora de verano de Acre", "SRT": "hora de Surinam", "ACST": "hora estándar de Australia central", "COST": "hora de verano de Colombia", "PDT": "hora de verano del Pacífico", "MST": "hora estándar de las Montañas", "GMT": "hora del meridiano de Greenwich", "LHDT": "hora de verano de Lord Howe", "JDT": "hora de verano de Japón", "AEST": "hora estándar de Australia oriental", "EAT": "hora de África oriental", "TMT": "hora estándar de Turkmenistán", "TMST": "hora de verano de Turkmenistán", "COT": "hora estándar de Colombia", "SAST": "hora de Sudáfrica", "GYT": "hora de Guyana", "AWDT": "hora de verano de Australia occidental", "WARST": "hora de verano de Argentina occidental", "ACWDT": "hora de verano de Australia centroccidental", "EST": "hora estándar oriental", "ChST": "hora estándar de Chamorro", "BOT": "hora de Bolivia", "HNT": "hora estándar de Terranova", "WESZ": "hora de verano de Europa occidental", "CHAST": "hora estándar de Chatham", "ACWST": "hora estándar de Australia centroccidental", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "UYT": "hora estándar de Uruguay", "OESZ": "hora de verano de Europa oriental", "HKT": "hora estándar de Hong Kong", "CHADT": "hora de verano de Chatham", "WIB": "hora de Indonesia occidental", "JST": "hora estándar de Japón", "ARST": "hora de verano de Argentina", "AKDT": "hora de verano de Alaska", "WAST": "hora de verano de África occidental", "AWST": "hora estándar de Australia occidental", "OEZ": "hora estándar de Europa oriental", "ECT": "hora de Ecuador", "HAST": "hora estándar de Hawái-Aleutiano", "AKST": "hora estándar de Alaska", "WITA": "hora de Indonesia central", "MDT": "hora de verano de las Montañas", "NZST": "hora estándar de Nueva Zelanda", "CAT": "hora de África central", "VET": "hora de Venezuela", "ACDT": "hora de verano de Australia central", "AEDT": "hora de verano de Australia oriental", "ADT": "hora de verano del Atlántico", "MYT": "hora de Malasia", "NZDT": "hora de verano de Nueva Zelanda", "GFT": "hora de la Guayana Francesa", "HKST": "hora de verano de Hong Kong", "MEZ": "hora estándar de Europa central", "MESZ": "hora de verano de Europa central"}, + timezones: map[string]string{"NZDT": "hora de verano de Nueva Zelanda", "HEEG": "hora de verano de Groenlandia oriental", "OESZ": "hora de verano de Europa oriental", "MDT": "Hora de verano de Macao", "SRT": "hora de Surinam", "MESZ": "hora de verano de Europa central", "LHDT": "hora de verano de Lord Howe", "JST": "hora estándar de Japón", "ACST": "hora estándar de Australia central", "EAT": "hora de África oriental", "SGT": "hora de Singapur", "AKST": "hora estándar de Alaska", "CHAST": "hora estándar de Chatham", "HNT": "hora estándar de Terranova", "HKT": "hora estándar de Hong Kong", "ECT": "hora de Ecuador", "OEZ": "hora estándar de Europa oriental", "GMT": "hora del meridiano de Greenwich", "ADT": "hora de verano del Atlántico", "HADT": "hora de verano de Hawái-Aleutiano", "HNOG": "hora estándar de Groenlandia occidental", "LHST": "hora estándar de Lord Howe", "TMST": "hora de verano de Turkmenistán", "ACDT": "hora de verano de Australia central", "BT": "hora de Bután", "ARST": "hora de verano de Argentina", "AWDT": "hora de verano de Australia occidental", "NZST": "hora estándar de Nueva Zelanda", "TMT": "hora estándar de Turkmenistán", "WARST": "hora de verano de Argentina occidental", "EDT": "hora de verano oriental", "MST": "Hora estándar de Macao", "UYT": "hora estándar de Uruguay", "ART": "hora estándar de Argentina", "HEPMX": "hora de verano del Pacífico de México", "CDT": "hora de verano central", "PDT": "hora de verano del Pacífico", "WESZ": "hora de verano de Europa occidental", "ACWDT": "hora de verano de Australia centroccidental", "HENOMX": "hora de verano del noroeste de México", "GYT": "hora de Guyana", "UYST": "hora de verano de Uruguay", "WEZ": "hora estándar de Europa occidental", "ACWST": "hora estándar de Australia centroccidental", "SAST": "hora de Sudáfrica", "CLST": "hora de verano de Chile", "GFT": "hora de la Guayana Francesa", "WIT": "hora de Indonesia oriental", "JDT": "hora de verano de Japón", "WAT": "hora estándar de África occidental", "AWST": "hora estándar de Australia occidental", "CLT": "hora estándar de Chile", "COT": "hora estándar de Colombia", "MYT": "hora de Malasia", "WIB": "hora de Indonesia occidental", "HEPM": "hora de verano de San Pedro y Miquelón", "HNCU": "hora estándar de Cuba", "HNPMX": "hora estándar del Pacífico de México", "HAST": "hora estándar de Hawái-Aleutiano", "WITA": "hora de Indonesia central", "WAST": "hora de verano de África occidental", "AKDT": "hora de verano de Alaska", "CST": "hora estándar central", "HNNOMX": "hora estándar del noroeste de México", "HECU": "hora de verano de Cuba", "EST": "hora estándar oriental", "VET": "hora de Venezuela", "HAT": "hora de verano de Terranova", "AEDT": "hora de verano de Australia oriental", "HNEG": "hora estándar de Groenlandia oriental", "HEOG": "hora de verano de Groenlandia occidental", "CHADT": "hora de verano de Chatham", "BOT": "hora de Bolivia", "CAT": "hora de África central", "WART": "hora estándar de Argentina occidental", "COST": "hora de verano de Colombia", "AEST": "hora estándar de Australia oriental", "IST": "hora estándar de la India", "MEZ": "hora estándar de Europa central", "∅∅∅": "hora de verano del Amazonas", "ChST": "hora estándar de Chamorro", "AST": "hora estándar del Atlántico", "PST": "hora estándar del Pacífico", "HKST": "hora de verano de Hong Kong", "HNPM": "hora estándar de San Pedro y Miquelón"}, } } @@ -430,7 +430,12 @@ func (es *es_CL) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (es *es_CL) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (es *es_CL) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_CO/es_CO.go b/es_CO/es_CO.go index 94e719a41..920fadf39 100644 --- a/es_CO/es_CO.go +++ b/es_CO/es_CO.go @@ -55,14 +55,14 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "$", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "$", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}, daysAbbreviated: []string{"dom.", "lun.", "mar.", "mié.", "jue.", "vie.", "sáb."}, - daysNarrow: []string{"d", "l", "m", "m", "j", "v", "s"}, + daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"AST": "hora estándar del Atlántico", "WIT": "hora de Indonesia oriental", "OEZ": "hora estándar de Europa oriental", "WESZ": "hora de verano de Europa occidental", "MEZ": "hora estándar de Europa central", "BOT": "hora de Bolivia", "WEZ": "hora estándar de Europa occidental", "CHADT": "hora de verano de Chatham", "WIB": "hora de Indonesia occidental", "WART": "hora estándar de Argentina occidental", "WAST": "hora de verano de África occidental", "ChST": "hora estándar de Chamorro", "BT": "hora de Bután", "UYT": "hora estándar de Uruguay", "CHAST": "hora estándar de Chatham", "GFT": "hora de la Guayana Francesa", "HADT": "hora de verano de Hawái-Aleutiano", "PDT": "hora de verano del Pacífico", "MDT": "hora de verano de las Montañas", "AWST": "hora estándar de Australia occidental", "HNT": "hora estándar de Terranova", "UYST": "hora de verano de Uruguay", "COT": "hora estándar de Colombia", "VET": "hora de Venezuela", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "WITA": "hora de Indonesia central", "CST": "hora estándar central", "CAT": "hora de África central", "HKST": "hora de verano de Hong Kong", "MESZ": "hora de verano de Europa central", "HAST": "hora estándar de Hawái-Aleutiano", "AEDT": "hora de verano de Australia oriental", "SAST": "hora de Sudáfrica", "AKST": "hora estándar de Alaska", "EST": "hora estándar oriental", "MST": "hora estándar de las Montañas", "SGT": "hora de Singapur", "ART": "hora estándar de Argentina", "AWDT": "hora de verano de Australia occidental", "ACDT": "hora de verano de Australia central", "GMT": "hora del meridiano de Greenwich", "HKT": "hora estándar de Hong Kong", "ECT": "hora de Ecuador", "AEST": "hora estándar de Australia oriental", "EAT": "hora de África oriental", "PST": "hora estándar del Pacífico", "WARST": "hora de verano de Argentina occidental", "TMST": "hora de verano de Turkmenistán", "MYT": "hora de Malasia", "∅∅∅": "hora de verano de Perú", "OESZ": "hora de verano de Europa oriental", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "WAT": "hora estándar de África occidental", "EDT": "hora de verano oriental", "TMT": "hora estándar de Turkmenistán", "JST": "hora estándar de Japón", "SRT": "hora de Surinam", "AKDT": "hora de verano de Alaska", "GYT": "hora de Guyana", "LHST": "hora estándar de Lord Howe", "JDT": "hora de verano de Japón", "ADT": "hora de verano del Atlántico", "CDT": "hora de verano central", "NZDT": "hora de verano de Nueva Zelanda", "HAT": "hora de verano de Terranova", "LHDT": "hora de verano de Lord Howe", "ACST": "hora estándar de Australia central", "COST": "hora de verano de Colombia", "ARST": "hora de verano de Argentina", "NZST": "hora estándar de Nueva Zelanda"}, + timezones: map[string]string{"ADT": "hora de verano del Atlántico", "AKDT": "hora de verano de Alaska", "JDT": "hora de verano de Japón", "EST": "hora estándar oriental", "LHDT": "hora de verano de Lord Howe", "HNEG": "hora estándar de Groenlandia oriental", "ACDT": "hora de verano de Australia central", "MST": "Hora estándar de Macao", "HAST": "hora estándar de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "WAST": "hora de verano de África occidental", "CST": "hora estándar central", "GMT": "hora del meridiano de Greenwich", "HECU": "hora de verano de Cuba", "HEPMX": "hora de verano del Pacífico de México", "PDT": "hora de verano del Pacífico", "COST": "hora de verano de Colombia", "AEST": "hora estándar de Australia oriental", "WARST": "hora de verano de Argentina occidental", "AKST": "hora estándar de Alaska", "SRT": "hora de Surinam", "ACWST": "hora estándar de Australia centroccidental", "HNT": "hora estándar de Terranova", "CLST": "hora de verano de Chile", "WART": "hora estándar de Argentina occidental", "CHADT": "hora de verano de Chatham", "CLT": "hora estándar de Chile", "HEEG": "hora de verano de Groenlandia oriental", "HEOG": "hora de verano de Groenlandia occidental", "WIB": "hora de Indonesia occidental", "ART": "hora estándar de Argentina", "HKST": "hora de verano de Hong Kong", "ECT": "hora de Ecuador", "EDT": "hora de verano oriental", "HENOMX": "hora de verano del noroeste de México", "HNCU": "hora estándar de Cuba", "HNPMX": "hora estándar del Pacífico de México", "GYT": "hora de Guyana", "UYST": "hora de verano de Uruguay", "VET": "hora de Venezuela", "HNPM": "hora estándar de San Pedro y Miquelón", "COT": "hora estándar de Colombia", "TMST": "hora de verano de Turkmenistán", "WAT": "hora estándar de África occidental", "JST": "hora estándar de Japón", "MESZ": "hora de verano de Europa central", "NZST": "hora estándar de Nueva Zelanda", "NZDT": "hora de verano de Nueva Zelanda", "IST": "hora estándar de la India", "GFT": "hora de la Guayana Francesa", "SGT": "hora de Singapur", "AST": "hora estándar del Atlántico", "PST": "hora estándar del Pacífico", "EAT": "hora de África oriental", "MDT": "Hora de verano de Macao", "WIT": "hora de Indonesia oriental", "AEDT": "hora de verano de Australia oriental", "LHST": "hora estándar de Lord Howe", "CAT": "hora de África central", "OESZ": "hora de verano de Europa oriental", "UYT": "hora estándar de Uruguay", "CHAST": "hora estándar de Chatham", "BOT": "hora de Bolivia", "MYT": "hora de Malasia", "WESZ": "hora de verano de Europa occidental", "HAT": "hora de verano de Terranova", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro", "ACST": "hora estándar de Australia central", "HADT": "hora de verano de Hawái-Aleutiano", "BT": "hora de Bután", "HNOG": "hora estándar de Groenlandia occidental", "WEZ": "hora estándar de Europa occidental", "HKT": "hora estándar de Hong Kong", "HEPM": "hora de verano de San Pedro y Miquelón", "TMT": "hora estándar de Turkmenistán", "HNNOMX": "hora estándar del noroeste de México", "CDT": "hora de verano central", "ARST": "hora de verano de Argentina", "WITA": "hora de Indonesia central", "MEZ": "hora estándar de Europa central", "OEZ": "hora estándar de Europa oriental", "∅∅∅": "hora de verano de las Azores"}, } } @@ -434,7 +434,12 @@ func (es *es_CO) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +455,12 @@ func (es *es_CO) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (es *es_CO) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_CR/es_CR.go b/es_CR/es_CR.go index 955c7beb6..93042e4e4 100644 --- a/es_CR/es_CR.go +++ b/es_CR/es_CR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "₡", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "₡", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "CHAST": "hora estándar de Chatham", "ACDT": "hora de verano de Australia central", "ARST": "hora de verano de Argentina", "MDT": "hora de verano de las Montañas", "GMT": "hora del meridiano de Greenwich", "ACWDT": "hora de verano de Australia centroccidental", "EDT": "hora de verano oriental", "COT": "hora estándar de Colombia", "MEZ": "hora estándar de Europa central", "COST": "hora de verano de Colombia", "HAT": "hora de verano de Terranova", "HKST": "hora de verano de Hong Kong", "WARST": "hora de verano de Argentina occidental", "AST": "hora estándar del Atlántico", "CLT": "hora estándar de Chile", "MYT": "hora de Malasia", "HNT": "hora estándar de Terranova", "NZST": "hora estándar de Nueva Zelanda", "JDT": "hora de verano de Japón", "HKT": "hora estándar de Hong Kong", "AKST": "hora estándar de Alaska", "PST": "hora estándar del Pacífico", "LHST": "hora estándar de Lord Howe", "UYST": "hora de verano de Uruguay", "VET": "hora de Venezuela", "HAST": "hora estándar de Hawái-Aleutiano", "SAST": "hora de Sudáfrica", "BOT": "hora de Bolivia", "WIT": "hora de Indonesia oriental", "BT": "hora de Bután", "JST": "hora estándar de Japón", "SGT": "hora de Singapur", "AKDT": "hora de verano de Alaska", "WAT": "hora estándar de África occidental", "WITA": "hora de Indonesia central", "ChST": "hora estándar de Chamorro", "LHDT": "hora de verano de Lord Howe", "UYT": "hora estándar de Uruguay", "MESZ": "hora de verano de Europa central", "ADT": "hora de verano del Atlántico", "IST": "hora estándar de la India", "CDT": "hora de verano central", "GYT": "hora de Guyana", "PDT": "hora de verano del Pacífico", "EAT": "hora de África oriental", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "CLST": "hora de verano de Chile", "AWDT": "hora de verano de Australia occidental", "CST": "hora estándar central", "OEZ": "hora estándar de Europa oriental", "ACST": "hora estándar de Australia central", "AEST": "hora estándar de Australia oriental", "WAST": "hora de verano de África occidental", "TMST": "hora de verano de Turkmenistán", "SRT": "hora de Surinam", "HADT": "hora de verano de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "TMT": "hora estándar de Turkmenistán", "∅∅∅": "hora de verano de las Azores", "WART": "hora estándar de Argentina occidental", "ART": "hora estándar de Argentina", "CAT": "hora de África central", "WIB": "hora de Indonesia occidental", "AEDT": "hora de verano de Australia oriental", "MST": "hora estándar de las Montañas", "CHADT": "hora de verano de Chatham", "AWST": "hora estándar de Australia occidental", "ECT": "hora de Ecuador", "EST": "hora estándar oriental", "NZDT": "hora de verano de Nueva Zelanda"}, + timezones: map[string]string{"CHADT": "hora de verano de Chatham", "ACST": "hora estándar de Australia central", "MST": "hora estándar de las Montañas", "HNPM": "hora estándar de San Pedro y Miquelón", "NZDT": "hora de verano de Nueva Zelanda", "CST": "hora estándar central", "ART": "hora estándar de Argentina", "WAT": "hora estándar de África occidental", "HNCU": "hora estándar de Cuba", "LHDT": "hora de verano de Lord Howe", "CLT": "hora estándar de Chile", "COST": "hora de verano de Colombia", "GYT": "hora de Guyana", "WESZ": "hora de verano de Europa occidental", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "EST": "hora estándar oriental", "EDT": "hora de verano oriental", "BT": "hora de Bután", "ARST": "hora de verano de Argentina", "JST": "hora estándar de Japón", "∅∅∅": "hora de verano del Amazonas", "MDT": "hora de verano de las Montañas", "PDT": "hora de verano del Pacífico", "SAST": "hora de Sudáfrica", "AEST": "hora estándar de Australia oriental", "ECT": "hora de Ecuador", "ADT": "hora de verano del Atlántico", "SGT": "hora de Singapur", "PST": "hora estándar del Pacífico", "LHST": "hora estándar de Lord Howe", "GFT": "hora de la Guayana Francesa", "CAT": "hora de África central", "COT": "hora estándar de Colombia", "HADT": "hora de verano de Hawái-Aleutiano", "AEDT": "hora de verano de Australia oriental", "BOT": "hora de Bolivia", "AKDT": "hora de verano de Alaska", "HEEG": "hora de verano de Groenlandia oriental", "TMT": "hora estándar de Turkmenistán", "OESZ": "hora de verano de Europa oriental", "ACDT": "hora de verano de Australia central", "WAST": "hora de verano de África occidental", "HNPMX": "hora estándar del Pacífico de México", "MYT": "hora de Malasia", "AKST": "hora estándar de Alaska", "HAST": "hora estándar de Hawái-Aleutiano", "SRT": "hora de Surinam", "ChST": "hora estándar de Chamorro", "OEZ": "hora estándar de Europa oriental", "WEZ": "hora estándar de Europa occidental", "NZST": "hora estándar de Nueva Zelanda", "JDT": "hora de verano de Japón", "HEPM": "hora de verano de San Pedro y Miquelón", "MEZ": "hora estándar de Europa central", "IST": "hora estándar de la India", "WARST": "hora de verano de Argentina occidental", "HEOG": "hora de verano de Groenlandia occidental", "AWDT": "hora de verano de Australia occidental", "WITA": "hora de Indonesia central", "AST": "hora estándar del Atlántico", "WIB": "hora de Indonesia occidental", "HNT": "hora estándar de Terranova", "WART": "hora estándar de Argentina occidental", "MESZ": "hora de verano de Europa central", "TMST": "hora de verano de Turkmenistán", "GMT": "hora del meridiano de Greenwich", "UYST": "hora de verano de Uruguay", "HNOG": "hora estándar de Groenlandia occidental", "HKT": "hora estándar de Hong Kong", "HKST": "hora de verano de Hong Kong", "CHAST": "hora estándar de Chatham", "EAT": "hora de África oriental", "UYT": "hora estándar de Uruguay", "WIT": "hora de Indonesia oriental", "HAT": "hora de verano de Terranova", "AWST": "hora estándar de Australia occidental", "HNNOMX": "hora estándar del noroeste de México", "HENOMX": "hora de verano del noroeste de México", "HECU": "hora de verano de Cuba", "HEPMX": "hora de verano del Pacífico de México", "CDT": "hora de verano central", "VET": "hora de Venezuela", "CLST": "hora de verano de Chile", "HNEG": "hora estándar de Groenlandia oriental"}, } } @@ -419,7 +419,12 @@ func (es *es_CR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (es *es_CR) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (es *es_CR) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_CU/es_CU.go b/es_CU/es_CU.go index 062ca95f9..5c74cdae0 100644 --- a/es_CU/es_CU.go +++ b/es_CU/es_CU.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "$", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "$", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"UYST": "hora de verano de Uruguay", "SGT": "hora de Singapur", "PST": "hora estándar del Pacífico", "AEST": "hora estándar de Australia oriental", "WIT": "hora de Indonesia oriental", "LHST": "hora estándar de Lord Howe", "JDT": "hora de verano de Japón", "GFT": "hora de la Guayana Francesa", "VET": "hora de Venezuela", "WIB": "hora de Indonesia occidental", "MEZ": "hora estándar de Europa central", "PDT": "hora de verano del Pacífico", "TMST": "hora de verano de Turkmenistán", "WESZ": "hora de verano de Europa occidental", "AEDT": "hora de verano de Australia oriental", "AWDT": "hora de verano de Australia occidental", "HNT": "hora estándar de Terranova", "ACST": "hora estándar de Australia central", "ACWST": "hora estándar de Australia centroccidental", "BT": "hora de Bután", "JST": "hora estándar de Japón", "WAT": "hora estándar de África occidental", "EDT": "hora de verano oriental", "GYT": "hora de Guyana", "MST": "hora estándar de las Montañas", "ECT": "hora de Ecuador", "ACWDT": "hora de verano de Australia centroccidental", "MYT": "hora de Malasia", "HKT": "hora estándar de Hong Kong", "ACDT": "hora de verano de Australia central", "COST": "hora de verano de Colombia", "AKST": "hora estándar de Alaska", "HAT": "hora de verano de Terranova", "GMT": "hora del meridiano de Greenwich", "SRT": "hora de Surinam", "NZDT": "hora de verano de Nueva Zelanda", "HKST": "hora de verano de Hong Kong", "COT": "hora estándar de Colombia", "ARST": "hora de verano de Argentina", "HADT": "hora de verano de Hawái-Aleutiano", "IST": "hora estándar de la India", "TMT": "hora estándar de Turkmenistán", "NZST": "hora estándar de Nueva Zelanda", "WAST": "hora de verano de África occidental", "CLT": "hora estándar de Chile", "∅∅∅": "hora de verano de Brasilia", "WEZ": "hora estándar de Europa occidental", "CHADT": "hora de verano de Chatham", "OESZ": "hora de verano de Europa oriental", "HAST": "hora estándar de Hawái-Aleutiano", "SAST": "hora de Sudáfrica", "ADT": "hora de verano del Atlántico", "CST": "hora estándar central", "UYT": "hora estándar de Uruguay", "AKDT": "hora de verano de Alaska", "ChST": "hora estándar de Chamorro", "CLST": "hora de verano de Chile", "CDT": "hora de verano central", "BOT": "hora de Bolivia", "CAT": "hora de África central", "MESZ": "hora de verano de Europa central", "WARST": "hora de verano de Argentina occidental", "AST": "hora estándar del Atlántico", "EAT": "hora de África oriental", "WITA": "hora de Indonesia central", "CHAST": "hora estándar de Chatham", "OEZ": "hora estándar de Europa oriental", "LHDT": "hora de verano de Lord Howe", "AWST": "hora estándar de Australia occidental", "ART": "hora estándar de Argentina", "WART": "hora estándar de Argentina occidental", "EST": "hora estándar oriental", "MDT": "hora de verano de las Montañas"}, + timezones: map[string]string{"MST": "Hora estándar de Macao", "AST": "hora estándar del Atlántico", "ART": "hora estándar de Argentina", "AEDT": "hora de verano de Australia oriental", "ACST": "hora estándar de Australia central", "WARST": "hora de verano de Argentina occidental", "HNNOMX": "hora estándar del noroeste de México", "VET": "hora de Venezuela", "PDT": "hora de verano del Pacífico", "JDT": "hora de verano de Japón", "COT": "hora estándar de Colombia", "HEPMX": "hora de verano del Pacífico de México", "PST": "hora estándar del Pacífico", "LHDT": "hora de verano de Lord Howe", "ACDT": "hora de verano de Australia central", "OEZ": "hora estándar de Europa oriental", "OESZ": "hora de verano de Europa oriental", "WAST": "hora de verano de África occidental", "EDT": "hora de verano oriental", "UYT": "hora estándar de Uruguay", "HEPM": "hora de verano de San Pedro y Miquelón", "COST": "hora de verano de Colombia", "MDT": "Hora de verano de Macao", "WITA": "hora de Indonesia central", "LHST": "hora estándar de Lord Howe", "NZDT": "hora de verano de Nueva Zelanda", "EAT": "hora de África oriental", "ADT": "hora de verano del Atlántico", "HNOG": "hora estándar de Groenlandia occidental", "AWDT": "hora de verano de Australia occidental", "NZST": "hora estándar de Nueva Zelanda", "HEEG": "hora de verano de Groenlandia oriental", "WAT": "hora estándar de África occidental", "SRT": "hora de Surinam", "BOT": "hora de Bolivia", "ACWST": "hora estándar de Australia centroccidental", "HNPM": "hora estándar de San Pedro y Miquelón", "CHAST": "hora estándar de Chatham", "EST": "hora estándar oriental", "HNPMX": "hora estándar del Pacífico de México", "UYST": "hora de verano de Uruguay", "ARST": "hora de verano de Argentina", "HKST": "hora de verano de Hong Kong", "GYT": "hora de Guyana", "TMST": "hora de verano de Turkmenistán", "GMT": "hora del meridiano de Greenwich", "MYT": "hora de Malasia", "HADT": "hora de verano de Hawái-Aleutiano", "HNT": "hora estándar de Terranova", "AWST": "hora estándar de Australia occidental", "MEZ": "hora estándar de Europa central", "TMT": "hora estándar de Turkmenistán", "CST": "hora estándar central", "WIT": "hora de Indonesia oriental", "HEOG": "hora de verano de Groenlandia occidental", "MESZ": "hora de verano de Europa central", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "GFT": "hora de la Guayana Francesa", "ChST": "hora estándar de Chamorro", "HNEG": "hora estándar de Groenlandia oriental", "CAT": "hora de África central", "HENOMX": "hora de verano del noroeste de México", "HECU": "hora de verano de Cuba", "AKST": "hora estándar de Alaska", "WIB": "hora de Indonesia occidental", "HAT": "hora de verano de Terranova", "WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "ACWDT": "hora de verano de Australia centroccidental", "CHADT": "hora de verano de Chatham", "SAST": "hora de Sudáfrica", "WART": "hora estándar de Argentina occidental", "HNCU": "hora estándar de Cuba", "CDT": "hora de verano central", "AKDT": "hora de verano de Alaska", "BT": "hora de Bután", "HKT": "hora estándar de Hong Kong", "JST": "hora estándar de Japón", "∅∅∅": "hora de verano del Amazonas", "ECT": "hora de Ecuador", "SGT": "hora de Singapur", "HAST": "hora estándar de Hawái-Aleutiano", "AEST": "hora estándar de Australia oriental"}, } } @@ -413,7 +413,12 @@ func (es *es_CU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_CU) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_CU) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_DO/es_DO.go b/es_DO/es_DO.go index 8a3ebad85..1cad34d2b 100644 --- a/es_DO/es_DO.go +++ b/es_DO/es_DO.go @@ -55,14 +55,14 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "RD$", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "RD$", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: ")", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}, daysAbbreviated: []string{"dom.", "lun.", "mar.", "mié.", "jue.", "vie.", "sáb."}, - daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de la Era Común", "Era Común"}, - timezones: map[string]string{"SAST": "hora de Sudáfrica", "LHST": "hora estándar de Lord Howe", "HKT": "hora estándar de Hong Kong", "HKST": "hora de verano de Hong Kong", "AKST": "hora estándar de Alaska", "PST": "hora estándar del Pacífico", "EAT": "hora de África oriental", "SGT": "hora de Singapur", "ECT": "hora de Ecuador", "AKDT": "hora de verano de Alaska", "MDT": "hora de verano de las Montañas", "BOT": "hora de Bolivia", "CLT": "hora estándar de Chile", "WIT": "hora de Indonesia oriental", "OESZ": "hora de verano de Europa oriental", "VET": "hora de Venezuela", "AST": "hora estándar del Atlántico", "UYST": "hora de verano de Uruguay", "WEZ": "hora estándar de Europa occidental", "MEZ": "hora estándar de Europa central", "ACWST": "hora estándar de Australia centroccidental", "HAST": "hora estándar de Hawái-Aleutiano", "∅∅∅": "hora de verano de las Azores", "CHADT": "hora de verano de Chatham", "ACST": "hora estándar de Australia central", "WAST": "hora de verano de África occidental", "MST": "hora estándar de las Montañas", "TMT": "hora estándar de Turkmenistán", "CDT": "hora de verano central", "LHDT": "hora de verano de Lord Howe", "COST": "hora de verano de Colombia", "ACWDT": "hora de verano de Australia centroccidental", "EDT": "hora de verano oriental", "OEZ": "hora estándar de Europa oriental", "JDT": "hora de verano de Japón", "SRT": "hora de Surinam", "MYT": "hora de Malasia", "CAT": "hora de África central", "WART": "hora estándar de Argentina occidental", "HADT": "hora de verano de Hawái-Aleutiano", "IST": "hora estándar de la India", "ADT": "hora de verano del Atlántico", "TMST": "hora de verano de Turkmenistán", "AWST": "hora estándar de Australia occidental", "HNT": "hora estándar de Terranova", "WESZ": "hora de verano de Europa occidental", "AEDT": "hora de verano de Australia oriental", "BT": "hora de Bután", "CLST": "hora de verano de Chile", "UYT": "hora estándar de Uruguay", "GMT": "hora del meridiano de Greenwich", "ARST": "hora de verano de Argentina", "NZST": "hora estándar de Nueva Zelanda", "NZDT": "hora de verano de Nueva Zelanda", "ACDT": "hora de verano de Australia central", "WIB": "hora de Indonesia occidental", "ART": "hora estándar de Argentina", "EST": "hora estándar oriental", "GYT": "hora de Guyana", "MESZ": "hora de verano de Europa central", "PDT": "hora de verano del Pacífico", "WITA": "hora de Indonesia central", "ChST": "hora estándar de Chamorro", "HAT": "hora de verano de Terranova", "GFT": "hora de la Guayana Francesa", "COT": "hora estándar de Colombia", "WAT": "hora estándar de África occidental", "CST": "hora estándar central", "AWDT": "hora de verano de Australia occidental", "JST": "hora estándar de Japón", "CHAST": "hora estándar de Chatham", "AEST": "hora estándar de Australia oriental", "WARST": "hora de verano de Argentina occidental"}, + timezones: map[string]string{"CLST": "hora de verano de Chile", "∅∅∅": "hora de verano del Amazonas", "HNNOMX": "hora estándar del noroeste de México", "EDT": "hora de verano oriental", "AKST": "hora estándar de Alaska", "WITA": "hora de Indonesia central", "AWST": "hora estándar de Australia occidental", "HEPM": "hora de verano de San Pedro y Miquelón", "WAT": "hora estándar de África occidental", "CDT": "hora de verano central", "ADT": "hora de verano del Atlántico", "WESZ": "hora de verano de Europa occidental", "HNOG": "hora estándar de Groenlandia occidental", "CAT": "hora de África central", "WAST": "hora de verano de África occidental", "GMT": "hora del meridiano de Greenwich", "HNPMX": "hora estándar del Pacífico de México", "UYST": "hora de verano de Uruguay", "AKDT": "hora de verano de Alaska", "HAT": "hora de verano de Terranova", "PDT": "hora de verano del Pacífico", "HNPM": "hora estándar de San Pedro y Miquelón", "HNCU": "hora estándar de Cuba", "EST": "hora estándar oriental", "MST": "Hora estándar de Macao", "MDT": "Hora de verano de Macao", "BT": "hora de Bután", "HNT": "hora estándar de Terranova", "WEZ": "hora estándar de Europa occidental", "JDT": "hora de verano de Japón", "WART": "hora estándar de Argentina occidental", "UYT": "hora estándar de Uruguay", "HAST": "hora estándar de Hawái-Aleutiano", "HKST": "hora de verano de Hong Kong", "NZST": "hora estándar de Nueva Zelanda", "SAST": "hora de Sudáfrica", "CLT": "hora estándar de Chile", "EAT": "hora de África oriental", "HEOG": "hora de verano de Groenlandia occidental", "HNEG": "hora estándar de Groenlandia oriental", "ACDT": "hora de verano de Australia central", "GYT": "hora de Guyana", "ChST": "hora estándar de Chamorro", "AEST": "hora estándar de Australia oriental", "CHADT": "hora de verano de Chatham", "HEEG": "hora de verano de Groenlandia oriental", "ECT": "hora de Ecuador", "VET": "hora de Venezuela", "HKT": "hora estándar de Hong Kong", "JST": "hora estándar de Japón", "HEPMX": "hora de verano del Pacífico de México", "HADT": "hora de verano de Hawái-Aleutiano", "LHST": "hora estándar de Lord Howe", "TMST": "hora de verano de Turkmenistán", "OESZ": "hora de verano de Europa oriental", "WARST": "hora de verano de Argentina occidental", "ART": "hora estándar de Argentina", "MEZ": "hora estándar de Europa central", "GFT": "hora de la Guayana Francesa", "COT": "hora estándar de Colombia", "COST": "hora de verano de Colombia", "ACWST": "hora estándar de Australia centroccidental", "MESZ": "hora de verano de Europa central", "LHDT": "hora de verano de Lord Howe", "NZDT": "hora de verano de Nueva Zelanda", "IST": "hora estándar de la India", "ACST": "hora estándar de Australia central", "HENOMX": "hora de verano del noroeste de México", "ARST": "hora de verano de Argentina", "WIB": "hora de Indonesia occidental", "AWDT": "hora de verano de Australia occidental", "PST": "hora estándar del Pacífico", "AEDT": "hora de verano de Australia oriental", "TMT": "hora estándar de Turkmenistán", "BOT": "hora de Bolivia", "OEZ": "hora estándar de Europa oriental", "CST": "hora estándar central", "MYT": "hora de Malasia", "WIT": "hora de Indonesia oriental", "AST": "hora estándar del Atlántico", "ACWDT": "hora de verano de Australia centroccidental", "CHAST": "hora estándar de Chatham", "SGT": "hora de Singapur", "HECU": "hora de verano de Cuba", "SRT": "hora de Surinam"}, } } @@ -419,7 +419,12 @@ func (es *es_DO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (es *es_DO) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (es *es_DO) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_EA/es_EA.go b/es_EA/es_EA.go index c06b14e2c..5a9eca897 100644 --- a/es_EA/es_EA.go +++ b/es_EA/es_EA.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"WITA": "hora de Indonesia central", "MST": "hora estándar de las Montañas", "LHDT": "hora de verano de Lord Howe", "SRT": "hora de Surinam", "HKST": "hora de verano de Hong Kong", "WIB": "hora de Indonesia occidental", "MEZ": "hora estándar de Europa central", "HAST": "hora estándar de Hawái-Aleutiano", "∅∅∅": "hora de verano de Perú", "CDT": "hora de verano central", "HNT": "hora estándar de Terranova", "HAT": "hora de verano de Terranova", "ACDT": "hora de verano de Australia central", "ECT": "hora de Ecuador", "WAT": "hora estándar de África occidental", "MESZ": "hora de verano de Europa central", "AST": "hora estándar del Atlántico", "MYT": "hora de Malasia", "AKDT": "hora de verano de Alaska", "CAT": "hora de África central", "BT": "hora de Bután", "AWST": "hora estándar de Australia occidental", "OEZ": "hora estándar de Europa oriental", "ARST": "hora de verano de Argentina", "EST": "hora estándar oriental", "ADT": "hora de verano del Atlántico", "AKST": "hora estándar de Alaska", "CLST": "hora de verano de Chile", "CHAST": "hora estándar de Chatham", "SGT": "hora de Singapur", "COT": "hora estándar de Colombia", "WAST": "hora de verano de África occidental", "UYT": "hora estándar de Uruguay", "JST": "hora estándar de Japón", "WEZ": "hora estándar de Europa occidental", "CST": "hora estándar central", "ChST": "hora estándar de Chamorro", "BOT": "hora de Bolivia", "ART": "hora estándar de Argentina", "TMST": "hora de verano de Turkmenistán", "NZDT": "hora de verano de Nueva Zelanda", "HADT": "hora de verano de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "AEDT": "hora de verano de Australia oriental", "CHADT": "hora de verano de Chatham", "GYT": "hora de Guyana", "OESZ": "hora de verano de Europa oriental", "WARST": "hora de verano de Argentina occidental", "EAT": "hora de África oriental", "IST": "hora estándar de la India", "NZST": "hora estándar de Nueva Zelanda", "GMT": "hora del meridiano de Greenwich", "CLT": "hora estándar de Chile", "UYST": "hora de verano de Uruguay", "GFT": "hora de la Guayana Francesa", "VET": "hora de Venezuela", "PST": "hora estándar del Pacífico", "SAST": "hora de Sudáfrica", "ACWST": "hora estándar de Australia centroccidental", "TMT": "hora estándar de Turkmenistán", "MDT": "hora de verano de las Montañas", "HKT": "hora estándar de Hong Kong", "WART": "hora estándar de Argentina occidental", "EDT": "hora de verano oriental", "PDT": "hora de verano del Pacífico", "WIT": "hora de Indonesia oriental", "LHST": "hora estándar de Lord Howe", "ACST": "hora estándar de Australia central", "AEST": "hora estándar de Australia oriental", "AWDT": "hora de verano de Australia occidental", "COST": "hora de verano de Colombia", "JDT": "hora de verano de Japón", "WESZ": "hora de verano de Europa occidental"}, + timezones: map[string]string{"ACWDT": "hora de verano de Australia centroccidental", "PDT": "hora de verano del Pacífico", "COT": "hora estándar de Colombia", "AEST": "hora estándar de Australia oriental", "HNPM": "hora estándar de San Pedro y Miquelón", "CHAST": "hora estándar de Chatham", "EAT": "hora de África oriental", "OEZ": "hora estándar de Europa oriental", "WEZ": "hora estándar de Europa occidental", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "COST": "hora de verano de Colombia", "WART": "hora estándar de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "∅∅∅": "hora de verano del Amazonas", "SGT": "hora de Singapur", "BOT": "hora de Bolivia", "HNPMX": "hora estándar del Pacífico de México", "MYT": "hora de Malasia", "WESZ": "hora de verano de Europa occidental", "HKT": "hora estándar de Hong Kong", "NZST": "hora estándar de Nueva Zelanda", "HNEG": "hora estándar de Groenlandia oriental", "HNCU": "hora estándar de Cuba", "HADT": "hora de verano de Hawái-Aleutiano", "HEOG": "hora de verano de Groenlandia occidental", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "TMT": "hora estándar de Turkmenistán", "CAT": "hora de África central", "WIT": "hora de Indonesia oriental", "SRT": "hora de Surinam", "HAT": "hora de verano de Terranova", "HNOG": "hora estándar de Groenlandia occidental", "HKST": "hora de verano de Hong Kong", "EST": "hora estándar oriental", "GMT": "hora del meridiano de Greenwich", "HEPMX": "hora de verano del Pacífico de México", "BT": "hora de Bután", "MEZ": "hora estándar de Europa central", "ChST": "hora estándar de Chamorro", "GFT": "hora de la Guayana Francesa", "MDT": "Hora de verano de Macao", "CDT": "hora de verano central", "ADT": "hora de verano del Atlántico", "WIB": "hora de Indonesia occidental", "ART": "hora estándar de Argentina", "ARST": "hora de verano de Argentina", "JDT": "hora de verano de Japón", "ACST": "hora estándar de Australia central", "UYT": "hora estándar de Uruguay", "PST": "hora estándar del Pacífico", "WITA": "hora de Indonesia central", "NZDT": "hora de verano de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "HECU": "hora de verano de Cuba", "EDT": "hora de verano oriental", "WAST": "hora de verano de África occidental", "MST": "Hora estándar de Macao", "AST": "hora estándar del Atlántico", "ACWST": "hora estándar de Australia centroccidental", "HEEG": "hora de verano de Groenlandia oriental", "WAT": "hora estándar de África occidental", "HENOMX": "hora de verano del noroeste de México", "GYT": "hora de Guyana", "VET": "hora de Venezuela", "LHST": "hora estándar de Lord Howe", "ECT": "hora de Ecuador", "AKDT": "hora de verano de Alaska", "AEDT": "hora de verano de Australia oriental", "SAST": "hora de Sudáfrica", "ACDT": "hora de verano de Australia central", "HEPM": "hora de verano de San Pedro y Miquelón", "MESZ": "hora de verano de Europa central", "JST": "hora estándar de Japón", "OESZ": "hora de verano de Europa oriental", "HNNOMX": "hora estándar del noroeste de México", "WARST": "hora de verano de Argentina occidental", "AKST": "hora estándar de Alaska", "CST": "hora estándar central", "HNT": "hora estándar de Terranova", "LHDT": "hora de verano de Lord Howe", "TMST": "hora de verano de Turkmenistán", "UYST": "hora de verano de Uruguay"}, } } @@ -413,7 +413,12 @@ func (es *es_EA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_EA) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_EA) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_EC/es_EC.go b/es_EC/es_EC.go index 0a0d4d291..c021d3ebf 100644 --- a/es_EC/es_EC.go +++ b/es_EC/es_EC.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"COT": "hora estándar de Colombia", "AEST": "hora estándar de Australia oriental", "ADT": "hora de verano del Atlántico", "WITA": "hora de Indonesia central", "BT": "hora de Bután", "UYST": "hora de verano de Uruguay", "VET": "hora de Venezuela", "AST": "hora estándar del Atlántico", "WESZ": "hora de verano de Europa occidental", "WIB": "hora de Indonesia occidental", "MST": "Hora estándar de Macao", "CHAST": "hora estándar de Chatham", "OESZ": "hora de verano de Europa oriental", "WART": "hora estándar de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "MYT": "hora de Malasia", "HNT": "hora estándar de Terranova", "JDT": "hora de verano de Japón", "ART": "hora estándar de Argentina", "HADT": "hora de verano de Hawái-Aleutiano", "EDT": "hora de verano oriental", "EAT": "hora de África oriental", "GYT": "hora de Guyana", "CST": "hora estándar central", "CLST": "hora de verano de Chile", "WEZ": "hora estándar de Europa occidental", "ACDT": "hora de verano de Australia central", "MEZ": "hora estándar de Europa central", "ACWST": "hora estándar de Australia centroccidental", "ARST": "hora de verano de Argentina", "PST": "hora estándar del Pacífico", "NZST": "hora estándar de Nueva Zelanda", "LHDT": "hora de verano de Lord Howe", "HKT": "hora estándar de Hong Kong", "SRT": "hora de Surinam", "TMT": "hora estándar de Turkmenistán", "BOT": "hora de Bolivia", "CLT": "hora estándar de Chile", "HKST": "hora de verano de Hong Kong", "ECT": "hora de Ecuador", "ACWDT": "hora de verano de Australia centroccidental", "WAT": "hora estándar de África occidental", "IST": "hora estándar de la India", "AWDT": "hora de verano de Australia occidental", "ACST": "hora estándar de Australia central", "CDT": "hora de verano central", "CHADT": "hora de verano de Chatham", "AKST": "hora estándar de Alaska", "EST": "hora estándar oriental", "WIT": "hora de Indonesia oriental", "LHST": "hora estándar de Lord Howe", "OEZ": "hora estándar de Europa oriental", "COST": "hora de verano de Colombia", "JST": "hora estándar de Japón", "AKDT": "hora de verano de Alaska", "NZDT": "hora de verano de Nueva Zelanda", "MDT": "Hora de verano de Macao", "AWST": "hora estándar de Australia occidental", "UYT": "hora estándar de Uruguay", "GFT": "hora de la Guayana Francesa", "AEDT": "hora de verano de Australia oriental", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro", "HAT": "hora de verano de Terranova", "GMT": "hora del meridiano de Greenwich", "SGT": "hora de Singapur", "WARST": "hora de verano de Argentina occidental", "PDT": "hora de verano del Pacífico", "CAT": "hora de África central", "∅∅∅": "hora de verano de Brasilia", "MESZ": "hora de verano de Europa central", "WAST": "hora de verano de África occidental", "TMST": "hora de verano de Turkmenistán"}, + timezones: map[string]string{"LHST": "hora estándar de Lord Howe", "UYT": "hora estándar de Uruguay", "HADT": "hora de verano de Hawái-Aleutiano", "ARST": "hora de verano de Argentina", "CLT": "hora estándar de Chile", "OESZ": "hora de verano de Europa oriental", "MYT": "hora de Malasia", "TMST": "hora de verano de Turkmenistán", "EAT": "hora de África oriental", "ART": "hora estándar de Argentina", "AWST": "hora estándar de Australia occidental", "NZDT": "hora de verano de Nueva Zelanda", "BOT": "hora de Bolivia", "CAT": "hora de África central", "MDT": "Hora de verano de Macao", "ACWST": "hora estándar de Australia centroccidental", "HAT": "hora de verano de Terranova", "WIB": "hora de Indonesia occidental", "HEOG": "hora de verano de Groenlandia occidental", "MEZ": "hora estándar de Europa central", "SAST": "hora de Sudáfrica", "JDT": "hora de verano de Japón", "WART": "hora estándar de Argentina occidental", "COST": "hora de verano de Colombia", "PST": "hora estándar del Pacífico", "WESZ": "hora de verano de Europa occidental", "VET": "hora de Venezuela", "HNNOMX": "hora estándar del noroeste de México", "ACWDT": "hora de verano de Australia centroccidental", "IST": "hora estándar de la India", "ChST": "hora estándar de Chamorro", "HENOMX": "hora de verano del noroeste de México", "AKST": "hora estándar de Alaska", "AKDT": "hora de verano de Alaska", "WIT": "hora de Indonesia oriental", "AEST": "hora estándar de Australia oriental", "JST": "hora estándar de Japón", "HNEG": "hora estándar de Groenlandia oriental", "WAT": "hora estándar de África occidental", "CHAST": "hora estándar de Chatham", "CLST": "hora de verano de Chile", "ADT": "hora de verano del Atlántico", "GYT": "hora de Guyana", "WITA": "hora de Indonesia central", "CDT": "hora de verano central", "HNT": "hora estándar de Terranova", "GMT": "hora del meridiano de Greenwich", "PDT": "hora de verano del Pacífico", "AEDT": "hora de verano de Australia oriental", "MESZ": "hora de verano de Europa central", "CHADT": "hora de verano de Chatham", "∅∅∅": "hora de verano del Amazonas", "OEZ": "hora estándar de Europa oriental", "WARST": "hora de verano de Argentina occidental", "CST": "hora estándar central", "HNPM": "hora estándar de San Pedro y Miquelón", "HEPM": "hora de verano de San Pedro y Miquelón", "AST": "hora estándar del Atlántico", "EST": "hora estándar oriental", "EDT": "hora de verano oriental", "MST": "Hora estándar de Macao", "HAST": "hora estándar de Hawái-Aleutiano", "BT": "hora de Bután", "SRT": "hora de Surinam", "LHDT": "hora de verano de Lord Howe", "HNCU": "hora estándar de Cuba", "HEEG": "hora de verano de Groenlandia oriental", "GFT": "hora de la Guayana Francesa", "TMT": "hora estándar de Turkmenistán", "WAST": "hora de verano de África occidental", "SGT": "hora de Singapur", "UYST": "hora de verano de Uruguay", "HNOG": "hora estándar de Groenlandia occidental", "NZST": "hora estándar de Nueva Zelanda", "ACST": "hora estándar de Australia central", "ACDT": "hora de verano de Australia central", "HECU": "hora de verano de Cuba", "HNPMX": "hora estándar del Pacífico de México", "WEZ": "hora estándar de Europa occidental", "HKST": "hora de verano de Hong Kong", "ECT": "hora de Ecuador", "COT": "hora estándar de Colombia", "HEPMX": "hora de verano del Pacífico de México", "AWDT": "hora de verano de Australia occidental", "HKT": "hora estándar de Hong Kong"}, } } @@ -410,7 +410,12 @@ func (es *es_EC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +431,12 @@ func (es *es_EC) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (es *es_EC) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_ES/es_ES.go b/es_ES/es_ES.go index 27b3533b2..905732c84 100644 --- a/es_ES/es_ES.go +++ b/es_ES/es_ES.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"SRT": "hora de Surinam", "ACST": "hora estándar de Australia central", "WARST": "hora de verano de Argentina occidental", "TMST": "hora de verano de Turkmenistán", "CLST": "hora de verano de Chile", "ECT": "hora de Ecuador", "COT": "hora estándar de Colombia", "WITA": "hora de Indonesia central", "LHDT": "hora de verano de Lord Howe", "JST": "hora estándar de Japón", "ARST": "hora de verano de Argentina", "CAT": "hora de África central", "AWST": "hora estándar de Australia occidental", "HKT": "hora estándar de Hong Kong", "SGT": "hora de Singapur", "GYT": "hora de Guyana", "PDT": "hora de verano del Pacífico", "TMT": "hora estándar de Turkmenistán", "MYT": "hora de Malasia", "HNT": "hora estándar de Terranova", "CHAST": "hora estándar de Chatham", "AKST": "hora estándar de Alaska", "EST": "hora estándar oriental", "LHST": "hora estándar de Lord Howe", "OEZ": "hora estándar de Europa oriental", "VET": "hora de Venezuela", "WAST": "hora de verano de África occidental", "CDT": "hora de verano central", "MEZ": "hora estándar de Europa central", "COST": "hora de verano de Colombia", "ACWDT": "hora de verano de Australia centroccidental", "AKDT": "hora de verano de Alaska", "NZDT": "hora de verano de Nueva Zelanda", "CST": "hora estándar central", "MST": "hora estándar de las Montañas", "BOT": "hora de Bolivia", "CLT": "hora estándar de Chile", "WART": "hora estándar de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "ADT": "hora de verano del Atlántico", "SAST": "hora de Sudáfrica", "WIB": "hora de Indonesia occidental", "ACWST": "hora estándar de Australia centroccidental", "ChST": "hora estándar de Chamorro", "HAT": "hora de verano de Terranova", "HKST": "hora de verano de Hong Kong", "MESZ": "hora de verano de Europa central", "∅∅∅": "hora de verano de las Azores", "WESZ": "hora de verano de Europa occidental", "BT": "hora de Bután", "GMT": "hora del meridiano de Greenwich", "WIT": "hora de Indonesia oriental", "CHADT": "hora de verano de Chatham", "PST": "hora estándar del Pacífico", "WAT": "hora estándar de África occidental", "AEDT": "hora de verano de Australia oriental", "ART": "hora estándar de Argentina", "MDT": "hora de verano de las Montañas", "NZST": "hora estándar de Nueva Zelanda", "UYST": "hora de verano de Uruguay", "JDT": "hora de verano de Japón", "ACDT": "hora de verano de Australia central", "HADT": "hora de verano de Hawái-Aleutiano", "AEST": "hora estándar de Australia oriental", "AWDT": "hora de verano de Australia occidental", "UYT": "hora estándar de Uruguay", "EAT": "hora de África oriental", "IST": "hora estándar de la India", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "WEZ": "hora estándar de Europa occidental", "EDT": "hora de verano oriental", "AST": "hora estándar del Atlántico"}, + timezones: map[string]string{"HNPMX": "hora estándar del Pacífico de México", "ARST": "hora de verano de Argentina", "WESZ": "hora de verano de Europa occidental", "HEOG": "hora de verano de Groenlandia occidental", "CLT": "hora estándar de Chile", "ACDT": "hora de verano de Australia central", "WAST": "hora de verano de África occidental", "OESZ": "hora de verano de Europa oriental", "COST": "hora de verano de Colombia", "MDT": "Hora de verano de Macao", "AEDT": "hora de verano de Australia oriental", "HKST": "hora de verano de Hong Kong", "WITA": "hora de Indonesia central", "HNPM": "hora estándar de San Pedro y Miquelón", "HNEG": "hora estándar de Groenlandia oriental", "GYT": "hora de Guyana", "AWDT": "hora de verano de Australia occidental", "HKT": "hora estándar de Hong Kong", "MEZ": "hora estándar de Europa central", "BT": "hora de Bután", "TMST": "hora de verano de Turkmenistán", "CAT": "hora de África central", "WARST": "hora de verano de Argentina occidental", "EDT": "hora de verano oriental", "CDT": "hora de verano central", "MYT": "hora de Malasia", "JDT": "hora de verano de Japón", "UYT": "hora estándar de Uruguay", "WEZ": "hora estándar de Europa occidental", "HNOG": "hora estándar de Groenlandia occidental", "IST": "hora estándar de la India", "ACST": "hora estándar de Australia central", "UYST": "hora de verano de Uruguay", "SRT": "hora de Surinam", "ACWST": "hora estándar de Australia centroccidental", "CST": "hora estándar central", "LHDT": "hora de verano de Lord Howe", "∅∅∅": "hora de verano del Amazonas", "ChST": "hora estándar de Chamorro", "OEZ": "hora estándar de Europa oriental", "ECT": "hora de Ecuador", "HNNOMX": "hora estándar del noroeste de México", "HECU": "hora de verano de Cuba", "NZST": "hora estándar de Nueva Zelanda", "NZDT": "hora de verano de Nueva Zelanda", "GFT": "hora de la Guayana Francesa", "VET": "hora de Venezuela", "PST": "hora estándar del Pacífico", "CHADT": "hora de verano de Chatham", "WAT": "hora estándar de África occidental", "AKST": "hora estándar de Alaska", "PDT": "hora de verano del Pacífico", "MESZ": "hora de verano de Europa central", "LHST": "hora estándar de Lord Howe", "HNCU": "hora estándar de Cuba", "MST": "Hora estándar de Macao", "ACWDT": "hora de verano de Australia centroccidental", "JST": "hora estándar de Japón", "GMT": "hora del meridiano de Greenwich", "EST": "hora estándar oriental", "ADT": "hora de verano del Atlántico", "HAT": "hora de verano de Terranova", "SAST": "hora de Sudáfrica", "WART": "hora estándar de Argentina occidental", "HEPMX": "hora de verano del Pacífico de México", "HEPM": "hora de verano de San Pedro y Miquelón", "TMT": "hora estándar de Turkmenistán", "COT": "hora estándar de Colombia", "HAST": "hora estándar de Hawái-Aleutiano", "ART": "hora estándar de Argentina", "AEST": "hora estándar de Australia oriental", "CLST": "hora de verano de Chile", "HEEG": "hora de verano de Groenlandia oriental", "EAT": "hora de África oriental", "HADT": "hora de verano de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "CHAST": "hora estándar de Chatham", "AKDT": "hora de verano de Alaska", "AST": "hora estándar del Atlántico", "HNT": "hora estándar de Terranova", "AWST": "hora estándar de Australia occidental", "BOT": "hora de Bolivia", "HENOMX": "hora de verano del noroeste de México", "SGT": "hora de Singapur", "WIB": "hora de Indonesia occidental"}, } } @@ -413,7 +413,12 @@ func (es *es_ES) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_ES) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_ES) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_GQ/es_GQ.go b/es_GQ/es_GQ.go index 9c1726e56..041399bbe 100644 --- a/es_GQ/es_GQ.go +++ b/es_GQ/es_GQ.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"ChST": "hora estándar de Chamorro", "SGT": "hora de Singapur", "PDT": "hora de verano del Pacífico", "WAT": "hora estándar de África occidental", "∅∅∅": "hora de verano del Amazonas", "WART": "hora estándar de Argentina occidental", "MESZ": "hora de verano de Europa central", "PST": "hora estándar del Pacífico", "ADT": "hora de verano del Atlántico", "TMT": "hora estándar de Turkmenistán", "GYT": "hora de Guyana", "WIT": "hora de Indonesia oriental", "OESZ": "hora de verano de Europa oriental", "CHAST": "hora estándar de Chatham", "MDT": "hora de verano de las Montañas", "AWDT": "hora de verano de Australia occidental", "LHST": "hora estándar de Lord Howe", "ARST": "hora de verano de Argentina", "HADT": "hora de verano de Hawái-Aleutiano", "CLST": "hora de verano de Chile", "JST": "hora estándar de Japón", "HAST": "hora estándar de Hawái-Aleutiano", "CHADT": "hora de verano de Chatham", "ACWDT": "hora de verano de Australia centroccidental", "GFT": "hora de la Guayana Francesa", "WESZ": "hora de verano de Europa occidental", "HKST": "hora de verano de Hong Kong", "EST": "hora estándar oriental", "EAT": "hora de África oriental", "TMST": "hora de verano de Turkmenistán", "NZST": "hora estándar de Nueva Zelanda", "OEZ": "hora estándar de Europa oriental", "VET": "hora de Venezuela", "MEZ": "hora estándar de Europa central", "AST": "hora estándar del Atlántico", "WITA": "hora de Indonesia central", "CAT": "hora de África central", "ACST": "hora estándar de Australia central", "EDT": "hora de verano oriental", "HKT": "hora estándar de Hong Kong", "AEST": "hora estándar de Australia oriental", "CLT": "hora estándar de Chile", "JDT": "hora de verano de Japón", "WEZ": "hora estándar de Europa occidental", "UYT": "hora estándar de Uruguay", "UYST": "hora de verano de Uruguay", "SRT": "hora de Surinam", "COT": "hora estándar de Colombia", "ART": "hora estándar de Argentina", "BT": "hora de Bután", "HNT": "hora estándar de Terranova", "LHDT": "hora de verano de Lord Howe", "AKST": "hora estándar de Alaska", "AKDT": "hora de verano de Alaska", "MYT": "hora de Malasia", "WIB": "hora de Indonesia occidental", "COST": "hora de verano de Colombia", "CDT": "hora de verano central", "HAT": "hora de verano de Terranova", "WAST": "hora de verano de África occidental", "NZDT": "hora de verano de Nueva Zelanda", "ACWST": "hora estándar de Australia centroccidental", "AEDT": "hora de verano de Australia oriental", "IST": "hora estándar de la India", "CST": "hora estándar central", "MST": "hora estándar de las Montañas", "AWST": "hora estándar de Australia occidental", "ACDT": "hora de verano de Australia central", "ECT": "hora de Ecuador", "BOT": "hora de Bolivia", "GMT": "hora del meridiano de Greenwich", "WARST": "hora de verano de Argentina occidental", "SAST": "hora de Sudáfrica"}, + timezones: map[string]string{"PDT": "hora de verano del Pacífico", "ART": "hora estándar de Argentina", "HEPM": "hora de verano de San Pedro y Miquelón", "IST": "hora estándar de la India", "HAST": "hora estándar de Hawái-Aleutiano", "PST": "hora estándar del Pacífico", "HADT": "hora de verano de Hawái-Aleutiano", "HEOG": "hora de verano de Groenlandia occidental", "WITA": "hora de Indonesia central", "LHST": "hora estándar de Lord Howe", "EDT": "hora de verano oriental", "HNPMX": "hora estándar del Pacífico de México", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "AWST": "hora estándar de Australia occidental", "HKST": "hora de verano de Hong Kong", "HNPM": "hora estándar de San Pedro y Miquelón", "SRT": "hora de Surinam", "WEZ": "hora estándar de Europa occidental", "MDT": "Hora de verano de Macao", "AEDT": "hora de verano de Australia oriental", "HKT": "hora estándar de Hong Kong", "SAST": "hora de Sudáfrica", "SGT": "hora de Singapur", "HNCU": "hora estándar de Cuba", "ECT": "hora de Ecuador", "HNNOMX": "hora estándar del noroeste de México", "UYST": "hora de verano de Uruguay", "ADT": "hora de verano del Atlántico", "GFT": "hora de la Guayana Francesa", "TMT": "hora estándar de Turkmenistán", "EAT": "hora de África oriental", "OESZ": "hora de verano de Europa oriental", "AKST": "hora estándar de Alaska", "ChST": "hora estándar de Chamorro", "ACST": "hora estándar de Australia central", "CHADT": "hora de verano de Chatham", "AKDT": "hora de verano de Alaska", "NZST": "hora estándar de Nueva Zelanda", "OEZ": "hora estándar de Europa oriental", "WART": "hora estándar de Argentina occidental", "MST": "Hora estándar de Macao", "UYT": "hora estándar de Uruguay", "VET": "hora de Venezuela", "WIT": "hora de Indonesia oriental", "ACDT": "hora de verano de Australia central", "CAT": "hora de África central", "LHDT": "hora de verano de Lord Howe", "BT": "hora de Bután", "HNOG": "hora estándar de Groenlandia occidental", "HENOMX": "hora de verano del noroeste de México", "HEPMX": "hora de verano del Pacífico de México", "AWDT": "hora de verano de Australia occidental", "∅∅∅": "hora de verano del Amazonas", "HEEG": "hora de verano de Groenlandia oriental", "GMT": "hora del meridiano de Greenwich", "WESZ": "hora de verano de Europa occidental", "JST": "hora estándar de Japón", "BOT": "hora de Bolivia", "WAST": "hora de verano de África occidental", "WARST": "hora de verano de Argentina occidental", "HECU": "hora de verano de Cuba", "GYT": "hora de Guyana", "CDT": "hora de verano central", "AST": "hora estándar del Atlántico", "JDT": "hora de verano de Japón", "HNEG": "hora estándar de Groenlandia oriental", "NZDT": "hora de verano de Nueva Zelanda", "WIB": "hora de Indonesia occidental", "MESZ": "hora de verano de Europa central", "MEZ": "hora estándar de Europa central", "COT": "hora estándar de Colombia", "EST": "hora estándar oriental", "WAT": "hora estándar de África occidental", "CST": "hora estándar central", "HNT": "hora estándar de Terranova", "HAT": "hora de verano de Terranova", "CHAST": "hora estándar de Chatham", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "TMST": "hora de verano de Turkmenistán", "AEST": "hora estándar de Australia oriental", "ARST": "hora de verano de Argentina", "COST": "hora de verano de Colombia", "MYT": "hora de Malasia"}, } } @@ -410,7 +410,12 @@ func (es *es_GQ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +431,12 @@ func (es *es_GQ) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (es *es_GQ) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_GT/es_GT.go b/es_GT/es_GT.go index 7e5b58df8..c1a25ebcf 100644 --- a/es_GT/es_GT.go +++ b/es_GT/es_GT.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "Q", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "Q", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: "K", currencyNegativeSuffix: "K", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"COT": "hora estándar de Colombia", "EDT": "hora de verano oriental", "TMST": "hora de verano de Turkmenistán", "CST": "hora estándar central", "CAT": "hora de África central", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "ACST": "hora estándar de Australia central", "WIB": "hora de Indonesia occidental", "ART": "hora estándar de Argentina", "GYT": "hora de Guyana", "CHAST": "hora estándar de Chatham", "SRT": "hora de Surinam", "COST": "hora de verano de Colombia", "ECT": "hora de Ecuador", "WAST": "hora de verano de África occidental", "MDT": "hora de verano de las Montañas", "CLT": "hora estándar de Chile", "WIT": "hora de Indonesia oriental", "GMT": "hora del meridiano de Greenwich", "MESZ": "hora de verano de Europa central", "AEST": "hora estándar de Australia oriental", "WART": "hora estándar de Argentina occidental", "UYT": "hora estándar de Uruguay", "HKT": "hora estándar de Hong Kong", "MEZ": "hora estándar de Europa central", "VET": "hora de Venezuela", "WAT": "hora estándar de África occidental", "WITA": "hora de Indonesia central", "LHDT": "hora de verano de Lord Howe", "ACDT": "hora de verano de Australia central", "AST": "hora estándar del Atlántico", "IST": "hora estándar de la India", "AKDT": "hora de verano de Alaska", "∅∅∅": "hora de verano de Perú", "JDT": "hora de verano de Japón", "EAT": "hora de África oriental", "SAST": "hora de Sudáfrica", "TMT": "hora estándar de Turkmenistán", "NZST": "hora estándar de Nueva Zelanda", "UYST": "hora de verano de Uruguay", "ACWST": "hora estándar de Australia centroccidental", "EST": "hora estándar oriental", "PST": "hora estándar del Pacífico", "PDT": "hora de verano del Pacífico", "LHST": "hora estándar de Lord Howe", "ACWDT": "hora de verano de Australia centroccidental", "ARST": "hora de verano de Argentina", "ChST": "hora estándar de Chamorro", "CLST": "hora de verano de Chile", "HADT": "hora de verano de Hawái-Aleutiano", "MST": "hora estándar de las Montañas", "MYT": "hora de Malasia", "BT": "hora de Bután", "CHADT": "hora de verano de Chatham", "GFT": "hora de la Guayana Francesa", "WARST": "hora de verano de Argentina occidental", "CDT": "hora de verano central", "NZDT": "hora de verano de Nueva Zelanda", "BOT": "hora de Bolivia", "AKST": "hora estándar de Alaska", "HAT": "hora de verano de Terranova", "OEZ": "hora estándar de Europa oriental", "SGT": "hora de Singapur", "AEDT": "hora de verano de Australia oriental", "JST": "hora estándar de Japón", "HKST": "hora de verano de Hong Kong", "OESZ": "hora de verano de Europa oriental", "ADT": "hora de verano del Atlántico", "HNT": "hora estándar de Terranova", "WESZ": "hora de verano de Europa occidental", "HAST": "hora estándar de Hawái-Aleutiano", "WEZ": "hora estándar de Europa occidental"}, + timezones: map[string]string{"JDT": "hora de verano de Japón", "COST": "hora de verano de Colombia", "GYT": "hora de Guyana", "SRT": "hora de Surinam", "HNT": "hora estándar de Terranova", "IST": "hora estándar de la India", "HEPM": "hora de verano de San Pedro y Miquelón", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro", "BOT": "hora de Bolivia", "CAT": "hora de África central", "MST": "hora estándar de las Montañas", "VET": "hora de Venezuela", "HAT": "hora de verano de Terranova", "HNPMX": "hora estándar del Pacífico de México", "ECT": "hora de Ecuador", "HADT": "hora de verano de Hawái-Aleutiano", "∅∅∅": "hora de verano del Amazonas", "OESZ": "hora de verano de Europa oriental", "TMST": "hora de verano de Turkmenistán", "ACST": "hora estándar de Australia central", "CST": "hora estándar central", "MDT": "hora de verano de las Montañas", "WESZ": "hora de verano de Europa occidental", "LHST": "hora estándar de Lord Howe", "WIB": "hora de Indonesia occidental", "AEST": "hora estándar de Australia oriental", "GFT": "hora de la Guayana Francesa", "TMT": "hora estándar de Turkmenistán", "HECU": "hora de verano de Cuba", "MYT": "hora de Malasia", "PST": "hora estándar del Pacífico", "HKST": "hora de verano de Hong Kong", "CLT": "hora estándar de Chile", "HEEG": "hora de verano de Groenlandia oriental", "AKST": "hora estándar de Alaska", "AWST": "hora estándar de Australia occidental", "CHAST": "hora estándar de Chatham", "JST": "hora estándar de Japón", "WARST": "hora de verano de Argentina occidental", "GMT": "hora del meridiano de Greenwich", "HNOG": "hora estándar de Groenlandia occidental", "MEZ": "hora estándar de Europa central", "ACDT": "hora de verano de Australia central", "LHDT": "hora de verano de Lord Howe", "HENOMX": "hora de verano del noroeste de México", "WART": "hora estándar de Argentina occidental", "SGT": "hora de Singapur", "AEDT": "hora de verano de Australia oriental", "NZST": "hora estándar de Nueva Zelanda", "MESZ": "hora de verano de Europa central", "ADT": "hora de verano del Atlántico", "UYST": "hora de verano de Uruguay", "AWDT": "hora de verano de Australia occidental", "WAST": "hora de verano de África occidental", "AST": "hora estándar del Atlántico", "NZDT": "hora de verano de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "OEZ": "hora estándar de Europa oriental", "HNCU": "hora estándar de Cuba", "EST": "hora estándar oriental", "WIT": "hora de Indonesia oriental", "ACWST": "hora estándar de Australia centroccidental", "PDT": "hora de verano del Pacífico", "HAST": "hora estándar de Hawái-Aleutiano", "BT": "hora de Bután", "CDT": "hora de verano central", "COT": "hora estándar de Colombia", "HEPMX": "hora de verano del Pacífico de México", "HEOG": "hora de verano de Groenlandia occidental", "WAT": "hora estándar de África occidental", "HNNOMX": "hora estándar del noroeste de México", "HNEG": "hora estándar de Groenlandia oriental", "EAT": "hora de África oriental", "UYT": "hora estándar de Uruguay", "ARST": "hora de verano de Argentina", "HKT": "hora estándar de Hong Kong", "WITA": "hora de Indonesia central", "EDT": "hora de verano oriental", "AKDT": "hora de verano de Alaska", "ACWDT": "hora de verano de Australia centroccidental", "ART": "hora estándar de Argentina", "HNPM": "hora estándar de San Pedro y Miquelón", "WEZ": "hora estándar de Europa occidental", "CLST": "hora de verano de Chile"}, } } @@ -391,7 +391,12 @@ func (es *es_GT) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +412,12 @@ func (es *es_GT) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -425,7 +435,12 @@ func (es *es_GT) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_HN/es_HN.go b/es_HN/es_HN.go index 027205dff..a82fbc2e6 100644 --- a/es_HN/es_HN.go +++ b/es_HN/es_HN.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "L", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "L", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"PDT": "hora de verano del Pacífico", "CDT": "hora de verano central", "AWDT": "hora de verano de Australia occidental", "GFT": "hora de la Guayana Francesa", "COST": "hora de verano de Colombia", "PST": "hora estándar del Pacífico", "CLST": "hora de verano de Chile", "ACST": "hora estándar de Australia central", "BOT": "hora de Bolivia", "HKST": "hora de verano de Hong Kong", "ACWDT": "hora de verano de Australia centroccidental", "HKT": "hora estándar de Hong Kong", "HAT": "hora de verano de Terranova", "BT": "hora de Bután", "IST": "hora estándar de la India", "CST": "hora estándar central", "SRT": "hora de Surinam", "ACWST": "hora estándar de Australia centroccidental", "LHST": "hora estándar de Lord Howe", "AEST": "hora estándar de Australia oriental", "AEDT": "hora de verano de Australia oriental", "AKST": "hora estándar de Alaska", "MYT": "hora de Malasia", "CLT": "hora estándar de Chile", "COT": "hora estándar de Colombia", "WIB": "hora de Indonesia occidental", "∅∅∅": "hora de verano de las Azores", "GYT": "hora de Guyana", "UYT": "hora estándar de Uruguay", "GMT": "hora del meridiano de Greenwich", "ART": "hora estándar de Argentina", "TMT": "hora estándar de Turkmenistán", "CAT": "hora de África central", "OEZ": "hora estándar de Europa oriental", "SGT": "hora de Singapur", "WAT": "hora estándar de África occidental", "MDT": "hora de verano de las Montañas", "LHDT": "hora de verano de Lord Howe", "WART": "hora estándar de Argentina occidental", "SAST": "hora de Sudáfrica", "CHADT": "hora de verano de Chatham", "WIT": "hora de Indonesia oriental", "TMST": "hora de verano de Turkmenistán", "HNT": "hora estándar de Terranova", "MESZ": "hora de verano de Europa central", "ACDT": "hora de verano de Australia central", "WAST": "hora de verano de África occidental", "ADT": "hora de verano del Atlántico", "JDT": "hora de verano de Japón", "ECT": "hora de Ecuador", "MEZ": "hora estándar de Europa central", "HADT": "hora de verano de Hawái-Aleutiano", "AST": "hora estándar del Atlántico", "WITA": "hora de Indonesia central", "ChST": "hora estándar de Chamorro", "NZDT": "hora de verano de Nueva Zelanda", "AWST": "hora estándar de Australia occidental", "ARST": "hora de verano de Argentina", "WARST": "hora de verano de Argentina occidental", "WEZ": "hora estándar de Europa occidental", "AKDT": "hora de verano de Alaska", "EST": "hora estándar oriental", "MST": "hora estándar de las Montañas", "CHAST": "hora estándar de Chatham", "OESZ": "hora de verano de Europa oriental", "VET": "hora de Venezuela", "HAST": "hora estándar de Hawái-Aleutiano", "EAT": "hora de África oriental", "JST": "hora estándar de Japón", "UYST": "hora de verano de Uruguay", "WESZ": "hora de verano de Europa occidental", "EDT": "hora de verano oriental", "NZST": "hora estándar de Nueva Zelanda"}, + timezones: map[string]string{"SAST": "hora de Sudáfrica", "TMT": "hora estándar de Turkmenistán", "SGT": "hora de Singapur", "ADT": "hora de verano del Atlántico", "HNOG": "hora estándar de Groenlandia occidental", "HEOG": "hora de verano de Groenlandia occidental", "ACWDT": "hora de verano de Australia centroccidental", "ARST": "hora de verano de Argentina", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "HNNOMX": "hora estándar del noroeste de México", "AKDT": "hora de verano de Alaska", "UYST": "hora de verano de Uruguay", "CDT": "hora de verano central", "AST": "hora estándar del Atlántico", "VET": "hora de Venezuela", "HNPM": "hora estándar de San Pedro y Miquelón", "CHAST": "hora estándar de Chatham", "EAT": "hora de África oriental", "OEZ": "hora estándar de Europa oriental", "WESZ": "hora de verano de Europa occidental", "AEST": "hora estándar de Australia oriental", "TMST": "hora de verano de Turkmenistán", "GYT": "hora de Guyana", "EST": "hora estándar oriental", "LHDT": "hora de verano de Lord Howe", "CHADT": "hora de verano de Chatham", "HNEG": "hora estándar de Groenlandia oriental", "COST": "hora de verano de Colombia", "HNT": "hora estándar de Terranova", "ART": "hora estándar de Argentina", "HEPM": "hora de verano de San Pedro y Miquelón", "ACST": "hora estándar de Australia central", "COT": "hora estándar de Colombia", "HECU": "hora de verano de Cuba", "HAST": "hora estándar de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "IST": "hora estándar de la India", "ACDT": "hora de verano de Australia central", "WARST": "hora de verano de Argentina occidental", "UYT": "hora estándar de Uruguay", "MDT": "Hora de verano de Macao", "HNPMX": "hora estándar del Pacífico de México", "WIB": "hora de Indonesia occidental", "WIT": "hora de Indonesia oriental", "NZST": "hora estándar de Nueva Zelanda", "WART": "hora estándar de Argentina occidental", "HENOMX": "hora de verano del noroeste de México", "HNCU": "hora estándar de Cuba", "PDT": "hora de verano del Pacífico", "WEZ": "hora estándar de Europa occidental", "HKST": "hora de verano de Hong Kong", "ECT": "hora de Ecuador", "MYT": "hora de Malasia", "SRT": "hora de Surinam", "GMT": "hora del meridiano de Greenwich", "PST": "hora estándar del Pacífico", "AEDT": "hora de verano de Australia oriental", "MEZ": "hora estándar de Europa central", "GFT": "hora de la Guayana Francesa", "CAT": "hora de África central", "ChST": "hora estándar de Chamorro", "OESZ": "hora de verano de Europa oriental", "MST": "Hora estándar de Macao", "HAT": "hora de verano de Terranova", "CLST": "hora de verano de Chile", "HEPMX": "hora de verano del Pacífico de México", "BT": "hora de Bután", "HKT": "hora estándar de Hong Kong", "WITA": "hora de Indonesia central", "JDT": "hora de verano de Japón", "HADT": "hora de verano de Hawái-Aleutiano", "MESZ": "hora de verano de Europa central", "LHST": "hora estándar de Lord Howe", "WAT": "hora estándar de África occidental", "AKST": "hora estándar de Alaska", "CST": "hora estándar central", "NZDT": "hora de verano de Nueva Zelanda", "∅∅∅": "hora de verano del Amazonas", "BOT": "hora de Bolivia", "EDT": "hora de verano oriental", "CLT": "hora estándar de Chile", "JST": "hora estándar de Japón", "HEEG": "hora de verano de Groenlandia oriental", "WAST": "hora de verano de África occidental"}, } } @@ -413,7 +413,12 @@ func (es *es_HN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +438,12 @@ func (es *es_HN) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +466,12 @@ func (es *es_HN) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_IC/es_IC.go b/es_IC/es_IC.go index 3a03b4754..cbaa58dd1 100644 --- a/es_IC/es_IC.go +++ b/es_IC/es_IC.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"CLST": "hora de verano de Chile", "LHST": "hora estándar de Lord Howe", "OESZ": "hora de verano de Europa oriental", "ACWDT": "hora de verano de Australia centroccidental", "ARST": "hora de verano de Argentina", "ADT": "hora de verano del Atlántico", "TMT": "hora estándar de Turkmenistán", "GYT": "hora de Guyana", "CAT": "hora de África central", "∅∅∅": "hora de verano de Brasilia", "SRT": "hora de Surinam", "HKT": "hora estándar de Hong Kong", "HAST": "hora estándar de Hawái-Aleutiano", "AKST": "hora estándar de Alaska", "WIT": "hora de Indonesia oriental", "UYT": "hora estándar de Uruguay", "UYST": "hora de verano de Uruguay", "OEZ": "hora estándar de Europa oriental", "MEZ": "hora estándar de Europa central", "ACDT": "hora de verano de Australia central", "ChST": "hora estándar de Chamorro", "AWDT": "hora de verano de Australia occidental", "COT": "hora estándar de Colombia", "ECT": "hora de Ecuador", "WITA": "hora de Indonesia central", "BT": "hora de Bután", "JDT": "hora de verano de Japón", "WEZ": "hora estándar de Europa occidental", "CHADT": "hora de verano de Chatham", "WAST": "hora de verano de África occidental", "LHDT": "hora de verano de Lord Howe", "JST": "hora estándar de Japón", "COST": "hora de verano de Colombia", "IST": "hora estándar de la India", "TMST": "hora de verano de Turkmenistán", "MDT": "hora de verano de las Montañas", "HNT": "hora estándar de Terranova", "ACWST": "hora estándar de Australia centroccidental", "AKDT": "hora de verano de Alaska", "PST": "hora estándar del Pacífico", "AST": "hora estándar del Atlántico", "MST": "hora estándar de las Montañas", "EAT": "hora de África oriental", "WESZ": "hora de verano de Europa occidental", "MESZ": "hora de verano de Europa central", "WAT": "hora estándar de África occidental", "CLT": "hora estándar de Chile", "CHAST": "hora estándar de Chatham", "VET": "hora de Venezuela", "AEST": "hora estándar de Australia oriental", "PDT": "hora de verano del Pacífico", "CDT": "hora de verano central", "AWST": "hora estándar de Australia occidental", "HAT": "hora de verano de Terranova", "ACST": "hora estándar de Australia central", "AEDT": "hora de verano de Australia oriental", "ART": "hora estándar de Argentina", "WART": "hora estándar de Argentina occidental", "WARST": "hora de verano de Argentina occidental", "SAST": "hora de Sudáfrica", "EST": "hora estándar oriental", "EDT": "hora de verano oriental", "GFT": "hora de la Guayana Francesa", "WIB": "hora de Indonesia occidental", "NZST": "hora estándar de Nueva Zelanda", "BOT": "hora de Bolivia", "GMT": "hora del meridiano de Greenwich", "HKST": "hora de verano de Hong Kong", "SGT": "hora de Singapur", "HADT": "hora de verano de Hawái-Aleutiano", "CST": "hora estándar central", "MYT": "hora de Malasia", "NZDT": "hora de verano de Nueva Zelanda"}, + timezones: map[string]string{"WIT": "hora de Indonesia oriental", "HEPM": "hora de verano de San Pedro y Miquelón", "COST": "hora de verano de Colombia", "HENOMX": "hora de verano del noroeste de México", "SGT": "hora de Singapur", "AKST": "hora estándar de Alaska", "WEZ": "hora estándar de Europa occidental", "AWST": "hora estándar de Australia occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "LHST": "hora estándar de Lord Howe", "TMT": "hora estándar de Turkmenistán", "ACST": "hora estándar de Australia central", "HEPMX": "hora de verano del Pacífico de México", "UYST": "hora de verano de Uruguay", "HEOG": "hora de verano de Groenlandia occidental", "ACWDT": "hora de verano de Australia centroccidental", "TMST": "hora de verano de Turkmenistán", "CAT": "hora de África central", "WAT": "hora estándar de África occidental", "WART": "hora estándar de Argentina occidental", "ADT": "hora de verano del Atlántico", "HKT": "hora estándar de Hong Kong", "MEZ": "hora estándar de Europa central", "LHDT": "hora de verano de Lord Howe", "JDT": "hora de verano de Japón", "EST": "hora estándar oriental", "CST": "hora estándar central", "CDT": "hora de verano central", "WESZ": "hora de verano de Europa occidental", "ECT": "hora de Ecuador", "MDT": "Hora de verano de Macao", "AKDT": "hora de verano de Alaska", "SRT": "hora de Surinam", "AWDT": "hora de verano de Australia occidental", "CHAST": "hora estándar de Chatham", "GFT": "hora de la Guayana Francesa", "HNNOMX": "hora estándar del noroeste de México", "GYT": "hora de Guyana", "HADT": "hora de verano de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "HAT": "hora de verano de Terranova", "JST": "hora estándar de Japón", "MYT": "hora de Malasia", "VET": "hora de Venezuela", "∅∅∅": "hora de verano del Amazonas", "HNCU": "hora estándar de Cuba", "WIB": "hora de Indonesia occidental", "HNOG": "hora estándar de Groenlandia occidental", "ART": "hora estándar de Argentina", "WAST": "hora de verano de África occidental", "COT": "hora estándar de Colombia", "WITA": "hora de Indonesia central", "BOT": "hora de Bolivia", "EAT": "hora de África oriental", "MST": "Hora estándar de Macao", "AST": "hora estándar del Atlántico", "HNT": "hora estándar de Terranova", "AEST": "hora estándar de Australia oriental", "HKST": "hora de verano de Hong Kong", "HECU": "hora de verano de Cuba", "EDT": "hora de verano oriental", "CHADT": "hora de verano de Chatham", "SAST": "hora de Sudáfrica", "CLT": "hora estándar de Chile", "HEEG": "hora de verano de Groenlandia oriental", "CLST": "hora de verano de Chile", "OEZ": "hora estándar de Europa oriental", "WARST": "hora de verano de Argentina occidental", "UYT": "hora estándar de Uruguay", "HAST": "hora estándar de Hawái-Aleutiano", "BT": "hora de Bután", "ARST": "hora de verano de Argentina", "MESZ": "hora de verano de Europa central", "PST": "hora estándar del Pacífico", "NZDT": "hora de verano de Nueva Zelanda", "IST": "hora estándar de la India", "OESZ": "hora de verano de Europa oriental", "GMT": "hora del meridiano de Greenwich", "NZST": "hora estándar de Nueva Zelanda", "HNEG": "hora estándar de Groenlandia oriental", "HNPMX": "hora estándar del Pacífico de México", "PDT": "hora de verano del Pacífico", "AEDT": "hora de verano de Australia oriental", "ChST": "hora estándar de Chamorro", "ACDT": "hora de verano de Australia central"}, } } @@ -413,7 +413,12 @@ func (es *es_IC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_IC) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_IC) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_MX/es_MX.go b/es_MX/es_MX.go index 395aaede9..412c44a7f 100644 --- a/es_MX/es_MX.go +++ b/es_MX/es_MX.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "Af", "ALK", "ALL", "AMD", "Naf", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$a", "ATS", "AU$", "Afl.", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "Br", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "RD$", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TL", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "Af", "ALK", "ALL", "AMD", "Naf", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$a", "ATS", "AU$", "Afl.", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "Br", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "RD$", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "lei", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TL", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"do", "lu", "ma", "mi", "ju", "vi", "sá"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, - periodsNarrow: []string{"a. m.", "p. m."}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"GMT": "Hora del meridiano de Greenwich", "SGT": "Hora de Singapur", "EAT": "Hora de África Oriental", "OESZ": "Hora de verano de Europa del Este", "WIB": "Hora de Indonesia Occidental", "UYST": "Hora de verano de Uruguay", "CHADT": "Hora de verano de Chatham", "COT": "Hora estándar de Colombia", "AEST": "Hora estándar de Australia Oriental", "WART": "Hora estándar de Argentina Occidental", "LHST": "Hora estándar de Lord Howe", "∅∅∅": "Hora de verano de Brasilia", "HAST": "Hora estándar de Hawái-Aleutiano", "MST": "Hora estándar de la montaña de Norteamérica", "JDT": "Hora de verano de Japón", "OEZ": "Hora estándar de Europa del Este", "COST": "Hora de verano de Colombia", "TMST": "Hora de verano de Turkmenistán", "MDT": "Hora de verano de la montaña de Norteamérica", "NZST": "Hora estándar de Nueva Zelanda", "ACWST": "Hora estándar de Australia Centroccidental", "BT": "Hora de Bután", "CLST": "Hora de verano de Chile", "ACWDT": "Hora de verano de Australia Centroccidental", "GYT": "Hora de Guyana", "BOT": "Hora de Bolivia", "ACST": "Hora estándar de Australia Central", "AWDT": "Hora de verano de Australia Occidental", "WIT": "Hora de Indonesia Oriental", "LHDT": "Hora de verano de Lord Howe", "GFT": "Hora de la Guayana Francesa", "MEZ": "Hora estándar de Europa Central", "MESZ": "Hora de verano de Europa Central", "ECT": "Hora de Ecuador", "HADT": "Hora de verano de Hawái-Aleutiano", "WARST": "Hora de verano de Argentina Occidental", "PST": "Hora estándar del Pacífico de Norteamérica", "ChST": "Hora estándar de Chamorro", "HNT": "Hora estándar de Terranova", "WESZ": "Hora de verano de Europa Occidental", "AEDT": "Hora de verano de Australia Oriental", "AST": "Hora estándar del Atlántico", "AKDT": "Hora de verano de Alaska", "TMT": "Hora estándar de Turkmenistán", "WEZ": "Hora estándar de Europa Occidental", "ARST": "Hora de verano de Argentina", "PDT": "Hora de verano del Pacífico de Norteamérica", "SAST": "Hora de Sudáfrica", "WITA": "Hora de Indonesia Central", "CDT": "Hora de verano del centro de Norteamérica", "ART": "Hora estándar de Argentina", "CST": "Hora estándar del centro de Norteamérica", "HKST": "Hora de verano de Hong Kong", "CHAST": "Hora estándar de Chatham", "NZDT": "Hora de verano de Nueva Zelanda", "AWST": "Hora estándar de Australia Occidental", "JST": "Hora estándar de Japón", "HKT": "Hora estándar de Hong Kong", "ADT": "Hora de verano del Atlántico", "HAT": "Hora de verano de Terranova", "CLT": "Hora estándar de Chile", "UYT": "Hora estándar de Uruguay", "ACDT": "Hora de verano de Australia Central", "VET": "Hora de Venezuela", "WAT": "Hora estándar de África Occidental", "WAST": "Hora de verano de África Occidental", "EST": "Hora estándar del este de Norteamérica", "EDT": "Hora de verano del este de Norteamérica", "MYT": "Hora de Malasia", "SRT": "Hora de Surinam", "IST": "Hora estándar de la India", "AKST": "Hora estándar de Alaska", "CAT": "Hora de África Central"}, + timezones: map[string]string{"EDT": "hora de verano oriental", "MDT": "Hora de verano de Macao", "HAT": "hora de verano de Terranova", "LHST": "Hora estándar de Lord Howe", "GFT": "Hora de la Guayana Francesa", "TMT": "Hora estándar de Turkmenistán", "ECT": "Hora de Ecuador", "HNNOMX": "hora estándar del noroeste de México", "ACWDT": "Hora de verano de Australia Centroccidental", "HEPM": "hora de verano de San Pedro y Miquelón", "HNEG": "hora estándar de Groenlandia oriental", "HKT": "hora estándar de Hong Kong", "SAST": "Hora de Sudáfrica", "CLT": "hora estándar de Chile", "JDT": "hora de verano de Japón", "EAT": "Hora de África Oriental", "HENOMX": "hora de verano del noroeste de México", "HEPMX": "hora de verano del Pacífico de México", "WEZ": "Hora estándar de Europa Occidental", "CHAST": "Hora estándar de Chatham", "CHADT": "Hora de verano de Chatham", "IST": "hora estándar de la India", "CLST": "hora de verano de Chile", "JST": "hora estándar de Japón", "ChST": "Hora estándar de Chamorro", "MYT": "hora de Malasia", "HNOG": "hora estándar de Groenlandia occidental", "HKST": "hora de verano de Hong Kong", "BOT": "hora de Bolivia", "WIB": "hora de Indonesia occidental", "VET": "Hora de Venezuela", "WESZ": "Hora de verano de Europa Occidental", "ACWST": "Hora estándar de Australia Centroccidental", "SGT": "hora de Singapur", "BT": "hora de Bután", "AEDT": "Hora de verano de Australia Oriental", "TMST": "Hora de verano de Turkmenistán", "CAT": "Hora de África Central", "WAT": "Hora estándar de África Occidental", "OESZ": "Hora de verano de Europa del Este", "HNCU": "hora estándar de Cuba", "ADT": "hora de verano del Atlántico", "PDT": "hora de verano del Pacífico", "HNT": "hora estándar de Terranova", "ART": "hora estándar de Argentina", "ARST": "hora de verano de Argentina", "AWST": "Hora estándar de Australia Occidental", "LHDT": "Hora de verano de Lord Howe", "NZDT": "Hora de verano de Nueva Zelanda", "EST": "hora estándar oriental", "CDT": "hora de verano central", "WIT": "hora de Indonesia oriental", "AWDT": "Hora de verano de Australia Occidental", "NZST": "Hora estándar de Nueva Zelanda", "GMT": "Hora del meridiano de Greenwich", "MST": "Hora estándar de Macao", "HNPMX": "hora estándar del Pacífico de México", "SRT": "Hora de Surinam", "HEEG": "hora de verano de Groenlandia oriental", "OEZ": "Hora estándar de Europa del Este", "UYT": "Hora estándar de Uruguay", "UYST": "Hora de verano de Uruguay", "PST": "hora estándar del Pacífico", "MEZ": "Hora estándar de Europa Central", "MESZ": "Hora de verano de Europa Central", "ACST": "Hora estándar de Australia Central", "CST": "hora estándar central", "COT": "Hora estándar de Colombia", "HEOG": "hora de verano de Groenlandia occidental", "ACDT": "Hora de verano de Australia Central", "WARST": "hora de verano de Argentina occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "WAST": "Hora de verano de África Occidental", "WART": "hora estándar de Argentina occidental", "AKST": "hora estándar de Alaska", "AST": "hora estándar del Atlántico", "HADT": "hora de verano de Hawái-Aleutiano", "∅∅∅": "hora de verano del Amazonas", "COST": "Hora de verano de Colombia", "HECU": "hora de verano de Cuba", "AKDT": "hora de verano de Alaska", "GYT": "Hora de Guyana", "HAST": "hora estándar de Hawái-Aleutiano", "AEST": "Hora estándar de Australia Oriental", "WITA": "hora de Indonesia central"}, } } @@ -429,7 +429,12 @@ func (es *es_MX) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (es *es_MX) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +473,12 @@ func (es *es_MX) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_NI/es_NI.go b/es_NI/es_NI.go index 73e023601..015a84fd3 100644 --- a/es_NI/es_NI.go +++ b/es_NI/es_NI.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "C$", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "C$", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"PDT": "hora de verano del Pacífico", "MDT": "hora de verano de las Montañas", "ADT": "hora de verano del Atlántico", "MEZ": "hora estándar de Europa central", "WAT": "hora estándar de África occidental", "MST": "hora estándar de las Montañas", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "VET": "hora de Venezuela", "GYT": "hora de Guyana", "AWDT": "hora de verano de Australia occidental", "CLST": "hora de verano de Chile", "JST": "hora estándar de Japón", "∅∅∅": "Hora de verano de Acre", "COT": "hora estándar de Colombia", "HKT": "hora estándar de Hong Kong", "MESZ": "hora de verano de Europa central", "ACDT": "hora de verano de Australia central", "WITA": "hora de Indonesia central", "LHST": "hora estándar de Lord Howe", "WEZ": "hora estándar de Europa occidental", "WIB": "hora de Indonesia occidental", "AST": "hora estándar del Atlántico", "SAST": "hora de Sudáfrica", "GMT": "hora del meridiano de Greenwich", "JDT": "hora de verano de Japón", "SRT": "hora de Surinam", "EST": "hora estándar oriental", "BOT": "hora de Bolivia", "CAT": "hora de África central", "HAT": "hora de verano de Terranova", "UYT": "hora estándar de Uruguay", "CHAST": "hora estándar de Chatham", "AEDT": "hora de verano de Australia oriental", "EDT": "hora de verano oriental", "CHADT": "hora de verano de Chatham", "WARST": "hora de verano de Argentina occidental", "IST": "hora estándar de la India", "ChST": "hora estándar de Chamorro", "AWST": "hora estándar de Australia occidental", "LHDT": "hora de verano de Lord Howe", "ARST": "hora de verano de Argentina", "SGT": "hora de Singapur", "AKDT": "hora de verano de Alaska", "NZDT": "hora de verano de Nueva Zelanda", "CLT": "hora estándar de Chile", "ACST": "hora estándar de Australia central", "CDT": "hora de verano central", "WIT": "hora de Indonesia oriental", "CST": "hora estándar central", "ACWDT": "hora de verano de Australia centroccidental", "ART": "hora estándar de Argentina", "WART": "hora estándar de Argentina occidental", "WAST": "hora de verano de África occidental", "HNT": "hora estándar de Terranova", "UYST": "hora de verano de Uruguay", "COST": "hora de verano de Colombia", "TMT": "hora estándar de Turkmenistán", "HADT": "hora de verano de Hawái-Aleutiano", "ECT": "hora de Ecuador", "ACWST": "hora estándar de Australia centroccidental", "MYT": "hora de Malasia", "OEZ": "hora estándar de Europa oriental", "HKST": "hora de verano de Hong Kong", "AEST": "hora estándar de Australia oriental", "AKST": "hora estándar de Alaska", "PST": "hora estándar del Pacífico", "TMST": "hora de verano de Turkmenistán", "NZST": "hora estándar de Nueva Zelanda", "BT": "hora de Bután", "WESZ": "hora de verano de Europa occidental", "EAT": "hora de África oriental", "HAST": "hora estándar de Hawái-Aleutiano"}, + timezones: map[string]string{"BT": "hora de Bután", "SRT": "hora de Surinam", "HNOG": "hora estándar de Groenlandia occidental", "ACWDT": "hora de verano de Australia centroccidental", "MEZ": "hora estándar de Europa central", "NZDT": "hora de verano de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "TMST": "hora de verano de Turkmenistán", "GFT": "hora de la Guayana Francesa", "GYT": "hora de Guyana", "UYT": "hora estándar de Uruguay", "HKST": "hora de verano de Hong Kong", "BOT": "hora de Bolivia", "OESZ": "hora de verano de Europa oriental", "COST": "hora de verano de Colombia", "HECU": "hora de verano de Cuba", "PST": "hora estándar del Pacífico", "∅∅∅": "hora de verano del Amazonas", "TMT": "hora estándar de Turkmenistán", "WIB": "hora de Indonesia occidental", "HNT": "hora estándar de Terranova", "HKT": "hora estándar de Hong Kong", "MST": "Hora estándar de Macao", "AKDT": "hora de verano de Alaska", "VET": "hora de Venezuela", "HNPM": "hora estándar de San Pedro y Miquelón", "HAST": "hora estándar de Hawái-Aleutiano", "HEOG": "hora de verano de Groenlandia occidental", "WESZ": "hora de verano de Europa occidental", "ACWST": "hora estándar de Australia centroccidental", "AEST": "hora estándar de Australia oriental", "ACDT": "hora de verano de Australia central", "ECT": "hora de Ecuador", "HENOMX": "hora de verano del noroeste de México", "GMT": "hora del meridiano de Greenwich", "AKST": "hora estándar de Alaska", "CST": "hora estándar central", "CDT": "hora de verano central", "HADT": "hora de verano de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "JST": "hora estándar de Japón", "ChST": "hora estándar de Chamorro", "HEEG": "hora de verano de Groenlandia oriental", "HNPMX": "hora estándar del Pacífico de México", "LHDT": "hora de verano de Lord Howe", "JDT": "hora de verano de Japón", "ACST": "hora estándar de Australia central", "WAST": "hora de verano de África occidental", "ADT": "hora de verano del Atlántico", "ARST": "hora de verano de Argentina", "LHST": "hora estándar de Lord Howe", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "PDT": "hora de verano del Pacífico", "WAT": "hora estándar de África occidental", "SGT": "hora de Singapur", "AST": "hora estándar del Atlántico", "WEZ": "hora estándar de Europa occidental", "MDT": "Hora de verano de Macao", "HEPMX": "hora de verano del Pacífico de México", "UYST": "hora de verano de Uruguay", "HEPM": "hora de verano de San Pedro y Miquelón", "MESZ": "hora de verano de Europa central", "CHADT": "hora de verano de Chatham", "SAST": "hora de Sudáfrica", "CLST": "hora de verano de Chile", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "NZST": "hora estándar de Nueva Zelanda", "OEZ": "hora estándar de Europa oriental", "COT": "hora estándar de Colombia", "EST": "hora estándar oriental", "MYT": "hora de Malasia", "WITA": "hora de Indonesia central", "HNEG": "hora estándar de Groenlandia oriental", "EAT": "hora de África oriental", "ART": "hora estándar de Argentina", "HAT": "hora de verano de Terranova", "AEDT": "hora de verano de Australia oriental", "CAT": "hora de África central", "HNNOMX": "hora estándar del noroeste de México", "HNCU": "hora estándar de Cuba", "WART": "hora estándar de Argentina occidental", "WARST": "hora de verano de Argentina occidental", "EDT": "hora de verano oriental"}, } } @@ -413,7 +413,12 @@ func (es *es_NI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_NI) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_NI) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_PA/es_PA.go b/es_PA/es_PA.go index 9d223c2c2..93cda0c56 100644 --- a/es_PA/es_PA.go +++ b/es_PA/es_PA.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "B/.", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "B/.", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -67,13 +67,13 @@ func New() locales.Translator { daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, - periodsAbbreviated: []string{"", ""}, + periodsAbbreviated: []string{"a. m.", "p. m."}, periodsNarrow: []string{"a. m.", "p. m."}, - periodsWide: []string{"", ""}, + periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"CHAST": "hora estándar de Chatham", "ART": "hora estándar de Argentina", "WAST": "hora de verano de África occidental", "CDT": "hora de verano central", "BOT": "hora de Bolivia", "OESZ": "hora de verano de Europa oriental", "GFT": "hora de la Guayana Francesa", "COT": "hora estándar de Colombia", "COST": "hora de verano de Colombia", "AEDT": "hora de verano de Australia oriental", "WITA": "hora de Indonesia central", "CLST": "hora de verano de Chile", "∅∅∅": "hora de verano de Brasilia", "AKST": "hora estándar de Alaska", "NZST": "hora estándar de Nueva Zelanda", "ARST": "hora de verano de Argentina", "ACDT": "hora de verano de Australia central", "WART": "hora estándar de Argentina occidental", "HAT": "hora de verano de Terranova", "UYT": "hora estándar de Uruguay", "EDT": "hora de verano oriental", "TMST": "hora de verano de Turkmenistán", "CLT": "hora estándar de Chile", "AKDT": "hora de verano de Alaska", "MDT": "hora de verano de las Montañas", "MEZ": "hora estándar de Europa central", "OEZ": "hora estándar de Europa oriental", "SAST": "hora de Sudáfrica", "AWST": "hora estándar de Australia occidental", "UYST": "hora de verano de Uruguay", "SGT": "hora de Singapur", "ACWST": "hora estándar de Australia centroccidental", "AST": "hora estándar del Atlántico", "CST": "hora estándar central", "LHDT": "hora de verano de Lord Howe", "AWDT": "hora de verano de Australia occidental", "AEST": "hora estándar de Australia oriental", "CAT": "hora de África central", "JDT": "hora de verano de Japón", "HKST": "hora de verano de Hong Kong", "ECT": "hora de Ecuador", "GYT": "hora de Guyana", "LHST": "hora estándar de Lord Howe", "VET": "hora de Venezuela", "EST": "hora estándar oriental", "NZDT": "hora de verano de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "MESZ": "hora de verano de Europa central", "WIB": "hora de Indonesia occidental", "HAST": "hora estándar de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "WARST": "hora de verano de Argentina occidental", "GMT": "hora del meridiano de Greenwich", "MYT": "hora de Malasia", "BT": "hora de Bután", "WIT": "hora de Indonesia oriental", "PDT": "hora de verano del Pacífico", "EAT": "hora de África oriental", "PST": "hora estándar del Pacífico", "TMT": "hora estándar de Turkmenistán", "SRT": "hora de Surinam", "ADT": "hora de verano del Atlántico", "IST": "hora estándar de la India", "HNT": "hora estándar de Terranova", "HADT": "hora de verano de Hawái-Aleutiano", "HKT": "hora estándar de Hong Kong", "ACST": "hora estándar de Australia central", "WAT": "hora estándar de África occidental", "MST": "hora estándar de las Montañas", "ChST": "hora estándar de Chamorro", "JST": "hora estándar de Japón"}, + timezones: map[string]string{"LHDT": "hora de verano de Lord Howe", "NZST": "hora estándar de Nueva Zelanda", "SAST": "hora de Sudáfrica", "HNNOMX": "hora estándar del noroeste de México", "HNPMX": "hora estándar del Pacífico de México", "WIB": "hora de Indonesia occidental", "WITA": "hora de Indonesia central", "MDT": "Hora de verano de Macao", "CST": "hora estándar central", "HNOG": "hora estándar de Groenlandia occidental", "CHAST": "hora estándar de Chatham", "TMST": "hora de verano de Turkmenistán", "ACDT": "hora de verano de Australia central", "EAT": "hora de África oriental", "AKST": "hora estándar de Alaska", "ACWDT": "hora de verano de Australia centroccidental", "HNT": "hora estándar de Terranova", "COT": "hora estándar de Colombia", "LHST": "hora estándar de Lord Howe", "MESZ": "hora de verano de Europa central", "WAST": "hora de verano de África occidental", "ADT": "hora de verano del Atlántico", "ACWST": "hora estándar de Australia centroccidental", "PST": "hora estándar del Pacífico", "ARST": "hora de verano de Argentina", "CLT": "hora estándar de Chile", "GYT": "hora de Guyana", "UYT": "hora estándar de Uruguay", "HADT": "hora de verano de Hawái-Aleutiano", "WARST": "hora de verano de Argentina occidental", "WESZ": "hora de verano de Europa occidental", "HAT": "hora de verano de Terranova", "HEEG": "hora de verano de Groenlandia oriental", "AEST": "hora estándar de Australia oriental", "WAT": "hora estándar de África occidental", "CAT": "hora de África central", "EST": "hora estándar oriental", "AST": "hora estándar del Atlántico", "BT": "hora de Bután", "BOT": "hora de Bolivia", "EDT": "hora de verano oriental", "AKDT": "hora de verano de Alaska", "CLST": "hora de verano de Chile", "OEZ": "hora estándar de Europa oriental", "GMT": "hora del meridiano de Greenwich", "UYST": "hora de verano de Uruguay", "CHADT": "hora de verano de Chatham", "TMT": "hora estándar de Turkmenistán", "HNEG": "hora estándar de Groenlandia oriental", "GFT": "hora de la Guayana Francesa", "ECT": "hora de Ecuador", "MST": "Hora estándar de Macao", "ART": "hora estándar de Argentina", "HNPM": "hora estándar de San Pedro y Miquelón", "HEPM": "hora de verano de San Pedro y Miquelón", "SRT": "hora de Surinam", "PDT": "hora de verano del Pacífico", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "HKST": "hora de verano de Hong Kong", "JST": "hora estándar de Japón", "ChST": "hora estándar de Chamorro", "HEPMX": "hora de verano del Pacífico de México", "VET": "hora de Venezuela", "WEZ": "hora estándar de Europa occidental", "ACST": "hora estándar de Australia central", "COST": "hora de verano de Colombia", "HNCU": "hora estándar de Cuba", "CDT": "hora de verano central", "MYT": "hora de Malasia", "HEOG": "hora de verano de Groenlandia occidental", "NZDT": "hora de verano de Nueva Zelanda", "IST": "hora estándar de la India", "∅∅∅": "hora de verano del Amazonas", "HENOMX": "hora de verano del noroeste de México", "WART": "hora estándar de Argentina occidental", "WIT": "hora de Indonesia oriental", "HAST": "hora estándar de Hawái-Aleutiano", "HKT": "hora estándar de Hong Kong", "AEDT": "hora de verano de Australia oriental", "SGT": "hora de Singapur", "HECU": "hora de verano de Cuba", "MEZ": "hora estándar de Europa central", "JDT": "hora de verano de Japón", "OESZ": "hora de verano de Europa oriental"}, } } @@ -433,7 +433,12 @@ func (es *es_PA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,7 +454,12 @@ func (es *es_PA) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,7 +477,12 @@ func (es *es_PA) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_PE/es_PE.go b/es_PE/es_PE.go index 48a4639f5..39e33fdf8 100644 --- a/es_PE/es_PE.go +++ b/es_PE/es_PE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "S/.", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "S/", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"HADT": "hora de verano de Hawái-Aleutiano", "AKDT": "hora de verano de Alaska", "GYT": "hora de Guyana", "SRT": "hora de Surinam", "WAST": "hora de verano de África occidental", "WITA": "hora de Indonesia central", "∅∅∅": "hora de verano de las Azores", "CST": "hora estándar central", "UYT": "hora estándar de Uruguay", "CHAST": "hora estándar de Chatham", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "WARST": "hora de verano de Argentina occidental", "EDT": "hora de verano oriental", "TMST": "hora de verano de Turkmenistán", "LHST": "hora estándar de Lord Howe", "ACST": "hora estándar de Australia central", "ARST": "hora de verano de Argentina", "AST": "hora estándar del Atlántico", "WIT": "hora de Indonesia oriental", "WIB": "hora de Indonesia occidental", "ChST": "hora estándar de Chamorro", "CLT": "hora estándar de Chile", "SAST": "hora de Sudáfrica", "TMT": "hora estándar de Turkmenistán", "MST": "hora estándar de las Montañas", "MYT": "hora de Malasia", "CLST": "hora de verano de Chile", "OEZ": "hora estándar de Europa oriental", "PDT": "hora de verano del Pacífico", "EAT": "hora de África oriental", "SGT": "hora de Singapur", "BOT": "hora de Bolivia", "AWST": "hora estándar de Australia occidental", "WEZ": "hora estándar de Europa occidental", "IST": "hora estándar de la India", "AKST": "hora estándar de Alaska", "PST": "hora estándar del Pacífico", "NZDT": "hora de verano de Nueva Zelanda", "CAT": "hora de África central", "LHDT": "hora de verano de Lord Howe", "HKST": "hora de verano de Hong Kong", "ACWDT": "hora de verano de Australia centroccidental", "EST": "hora estándar oriental", "CHADT": "hora de verano de Chatham", "ACWST": "hora estándar de Australia centroccidental", "HAT": "hora de verano de Terranova", "CDT": "hora de verano central", "HNT": "hora estándar de Terranova", "BT": "hora de Bután", "JST": "hora estándar de Japón", "GMT": "hora del meridiano de Greenwich", "COST": "hora de verano de Colombia", "AEST": "hora estándar de Australia oriental", "ART": "hora estándar de Argentina", "JDT": "hora de verano de Japón", "COT": "hora estándar de Colombia", "WAT": "hora estándar de África occidental", "MESZ": "hora de verano de Europa central", "NZST": "hora estándar de Nueva Zelanda", "ACDT": "hora de verano de Australia central", "AEDT": "hora de verano de Australia oriental", "MDT": "hora de verano de las Montañas", "ADT": "hora de verano del Atlántico", "AWDT": "hora de verano de Australia occidental", "UYST": "hora de verano de Uruguay", "ECT": "hora de Ecuador", "WART": "hora estándar de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "VET": "hora de Venezuela", "MEZ": "hora estándar de Europa central", "HKT": "hora estándar de Hong Kong", "WESZ": "hora de verano de Europa occidental"}, + timezones: map[string]string{"AST": "hora estándar del Atlántico", "SRT": "hora de Surinam", "ART": "hora estándar de Argentina", "CLST": "hora de verano de Chile", "COST": "hora de verano de Colombia", "HNNOMX": "hora estándar del noroeste de México", "WARST": "hora de verano de Argentina occidental", "MYT": "hora de Malasia", "UYST": "hora de verano de Uruguay", "HNOG": "hora estándar de Groenlandia occidental", "CHADT": "hora de verano de Chatham", "ChST": "hora estándar de Chamorro", "EAT": "hora de África oriental", "ECT": "hora de Ecuador", "SGT": "hora de Singapur", "JST": "hora estándar de Japón", "HEEG": "hora de verano de Groenlandia oriental", "WESZ": "hora de verano de Europa occidental", "AWST": "hora estándar de Australia occidental", "WITA": "hora de Indonesia central", "CAT": "hora de África central", "HENOMX": "hora de verano del noroeste de México", "CHAST": "hora estándar de Chatham", "MEZ": "hora estándar de Europa central", "WART": "hora estándar de Argentina occidental", "WEZ": "hora estándar de Europa occidental", "NZDT": "hora de verano de Nueva Zelanda", "HNCU": "hora estándar de Cuba", "CLT": "hora estándar de Chile", "ACST": "hora estándar de Australia central", "CST": "hora estándar central", "LHDT": "hora de verano de Lord Howe", "ARST": "hora de verano de Argentina", "IST": "hora estándar de la India", "CDT": "hora de verano central", "UYT": "hora estándar de Uruguay", "BT": "hora de Bután", "HNT": "hora estándar de Terranova", "AEST": "hora estándar de Australia oriental", "MESZ": "hora de verano de Europa central", "JDT": "hora de verano de Japón", "TMST": "hora de verano de Turkmenistán", "OESZ": "hora de verano de Europa oriental", "AKST": "hora estándar de Alaska", "WIT": "hora de Indonesia oriental", "PST": "hora estándar del Pacífico", "AEDT": "hora de verano de Australia oriental", "LHST": "hora estándar de Lord Howe", "GMT": "hora del meridiano de Greenwich", "HNPMX": "hora estándar del Pacífico de México", "HAST": "hora estándar de Hawái-Aleutiano", "VET": "hora de Venezuela", "ACWST": "hora estándar de Australia centroccidental", "HAT": "hora de verano de Terranova", "AWDT": "hora de verano de Australia occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "WAT": "hora estándar de África occidental", "HECU": "hora de verano de Cuba", "WIB": "hora de Indonesia occidental", "HEPM": "hora de verano de San Pedro y Miquelón", "NZST": "hora estándar de Nueva Zelanda", "HNEG": "hora estándar de Groenlandia oriental", "ACDT": "hora de verano de Australia central", "AKDT": "hora de verano de Alaska", "HADT": "hora de verano de Hawái-Aleutiano", "ADT": "hora de verano del Atlántico", "PDT": "hora de verano del Pacífico", "TMT": "hora estándar de Turkmenistán", "HKST": "hora de verano de Hong Kong", "SAST": "hora de Sudáfrica", "MDT": "Hora de verano de Macao", "EST": "hora estándar oriental", "ACWDT": "hora de verano de Australia centroccidental", "GFT": "hora de la Guayana Francesa", "∅∅∅": "hora de verano de Perú", "MST": "Hora estándar de Macao", "HEOG": "hora de verano de Groenlandia occidental", "HEPMX": "hora de verano del Pacífico de México", "EDT": "hora de verano oriental", "GYT": "hora de Guyana", "HKT": "hora estándar de Hong Kong", "BOT": "hora de Bolivia", "WAST": "hora de verano de África occidental", "OEZ": "hora estándar de Europa oriental", "COT": "hora estándar de Colombia"}, } } @@ -419,7 +419,12 @@ func (es *es_PE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (es *es_PE) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (es *es_PE) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_PH/es_PH.go b/es_PH/es_PH.go index 5de305e75..4dba9822f 100644 --- a/es_PH/es_PH.go +++ b/es_PH/es_PH.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"AKDT": "hora de verano de Alaska", "NZST": "hora estándar de Nueva Zelanda", "ACST": "hora estándar de Australia central", "ARST": "hora de verano de Argentina", "WAT": "hora estándar de África occidental", "TMT": "hora estándar de Turkmenistán", "ChST": "hora estándar de Chamorro", "AWST": "hora estándar de Australia occidental", "AWDT": "hora de verano de Australia occidental", "WESZ": "hora de verano de Europa occidental", "EST": "hora estándar oriental", "GFT": "hora de la Guayana Francesa", "MEZ": "hora estándar de Europa central", "ECT": "hora de Ecuador", "ACWDT": "hora de verano de Australia centroccidental", "PDT": "hora de verano del Pacífico", "BT": "hora de Bután", "UYT": "hora estándar de Uruguay", "WEZ": "hora estándar de Europa occidental", "VET": "hora de Venezuela", "WAST": "hora de verano de África occidental", "WIT": "hora de Indonesia oriental", "HKT": "hora estándar de Hong Kong", "SRT": "hora de Surinam", "HADT": "hora de verano de Hawái-Aleutiano", "PST": "hora estándar del Pacífico", "WIB": "hora de Indonesia occidental", "AEST": "hora estándar de Australia oriental", "WITA": "hora de Indonesia central", "BOT": "hora de Bolivia", "CAT": "hora de África central", "HAT": "hora de verano de Terranova", "GMT": "hora del meridiano de Greenwich", "UYST": "hora de verano de Uruguay", "HAST": "hora estándar de Hawái-Aleutiano", "TMST": "hora de verano de Turkmenistán", "LHDT": "hora de verano de Lord Howe", "CHADT": "hora de verano de Chatham", "ACDT": "hora de verano de Australia central", "WARST": "hora de verano de Argentina occidental", "AST": "hora estándar del Atlántico", "MYT": "hora de Malasia", "HNT": "hora estándar de Terranova", "JST": "hora estándar de Japón", "MESZ": "hora de verano de Europa central", "COST": "hora de verano de Colombia", "ADT": "hora de verano del Atlántico", "EAT": "hora de África oriental", "CLT": "hora estándar de Chile", "LHST": "hora estándar de Lord Howe", "OESZ": "hora de verano de Europa oriental", "SAST": "hora de Sudáfrica", "CLST": "hora de verano de Chile", "OEZ": "hora estándar de Europa oriental", "HKST": "hora de verano de Hong Kong", "ART": "hora estándar de Argentina", "WART": "hora estándar de Argentina occidental", "AKST": "hora estándar de Alaska", "CDT": "hora de verano central", "MDT": "hora de verano de las Montañas", "SGT": "hora de Singapur", "CST": "hora estándar central", "IST": "hora estándar de la India", "MST": "hora estándar de las Montañas", "JDT": "hora de verano de Japón", "COT": "hora estándar de Colombia", "ACWST": "hora estándar de Australia centroccidental", "∅∅∅": "hora de verano de Brasilia", "CHAST": "hora estándar de Chatham", "AEDT": "hora de verano de Australia oriental", "EDT": "hora de verano oriental", "GYT": "hora de Guyana", "NZDT": "hora de verano de Nueva Zelanda"}, + timezones: map[string]string{"ChST": "hora estándar de Chamorro", "GFT": "hora de la Guayana Francesa", "HENOMX": "hora de verano del noroeste de México", "EDT": "hora de verano oriental", "UYT": "hora estándar de Uruguay", "HADT": "hora de verano de Hawái-Aleutiano", "HAT": "hora de verano de Terranova", "CHAST": "hora estándar de Chatham", "HNPMX": "hora estándar del Pacífico de México", "WIT": "hora de Indonesia oriental", "OEZ": "hora estándar de Europa oriental", "WART": "hora estándar de Argentina occidental", "HNOG": "hora estándar de Groenlandia occidental", "MESZ": "hora de verano de Europa central", "LHST": "hora estándar de Lord Howe", "NZST": "hora estándar de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "CLST": "hora de verano de Chile", "TMT": "hora estándar de Turkmenistán", "HEPMX": "hora de verano del Pacífico de México", "HAST": "hora estándar de Hawái-Aleutiano", "HNT": "hora estándar de Terranova", "ART": "hora estándar de Argentina", "AEDT": "hora de verano de Australia oriental", "CDT": "hora de verano central", "SRT": "hora de Surinam", "ACST": "hora estándar de Australia central", "ADT": "hora de verano del Atlántico", "HNEG": "hora estándar de Groenlandia oriental", "EAT": "hora de África oriental", "COST": "hora de verano de Colombia", "NZDT": "hora de verano de Nueva Zelanda", "ACDT": "hora de verano de Australia central", "WAST": "hora de verano de África occidental", "HNCU": "hora estándar de Cuba", "HKT": "hora estándar de Hong Kong", "HECU": "hora de verano de Cuba", "AKST": "hora estándar de Alaska", "CST": "hora estándar central", "VET": "hora de Venezuela", "ACWST": "hora estándar de Australia centroccidental", "ARST": "hora de verano de Argentina", "PST": "hora estándar del Pacífico", "WEZ": "hora estándar de Europa occidental", "ACWDT": "hora de verano de Australia centroccidental", "HKST": "hora de verano de Hong Kong", "PDT": "hora de verano del Pacífico", "AWST": "hora estándar de Australia occidental", "OESZ": "hora de verano de Europa oriental", "EST": "hora estándar oriental", "MST": "Hora estándar de Macao", "MYT": "hora de Malasia", "UYST": "hora de verano de Uruguay", "AKDT": "hora de verano de Alaska", "MEZ": "hora estándar de Europa central", "JDT": "hora de verano de Japón", "HEEG": "hora de verano de Groenlandia oriental", "TMST": "hora de verano de Turkmenistán", "ECT": "hora de Ecuador", "SGT": "hora de Singapur", "AST": "hora estándar del Atlántico", "WIB": "hora de Indonesia occidental", "WESZ": "hora de verano de Europa occidental", "AEST": "hora estándar de Australia oriental", "WARST": "hora de verano de Argentina occidental", "BT": "hora de Bután", "HEPM": "hora de verano de San Pedro y Miquelón", "LHDT": "hora de verano de Lord Howe", "HNNOMX": "hora estándar del noroeste de México", "MDT": "Hora de verano de Macao", "HEOG": "hora de verano de Groenlandia occidental", "WITA": "hora de Indonesia central", "WAT": "hora estándar de África occidental", "CAT": "hora de África central", "AWDT": "hora de verano de Australia occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "SAST": "hora de Sudáfrica", "∅∅∅": "hora de verano del Amazonas", "BOT": "hora de Bolivia", "GMT": "hora del meridiano de Greenwich", "GYT": "hora de Guyana", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "JST": "hora estándar de Japón", "COT": "hora estándar de Colombia"}, } } @@ -413,7 +413,12 @@ func (es *es_PH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_PH) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_PH) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_PR/es_PR.go b/es_PR/es_PR.go index 511287715..2a7b9e780 100644 --- a/es_PR/es_PR.go +++ b/es_PR/es_PR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"EST": "hora estándar oriental", "GYT": "hora de Guyana", "∅∅∅": "hora de verano de las Azores", "JST": "hora estándar de Japón", "MESZ": "hora de verano de Europa central", "ART": "hora estándar de Argentina", "AKDT": "hora de verano de Alaska", "ACDT": "hora de verano de Australia central", "WARST": "hora de verano de Argentina occidental", "AKST": "hora estándar de Alaska", "EDT": "hora de verano oriental", "PDT": "hora de verano del Pacífico", "BT": "hora de Bután", "WESZ": "hora de verano de Europa occidental", "SGT": "hora de Singapur", "COST": "hora de verano de Colombia", "TMT": "hora estándar de Turkmenistán", "MST": "hora estándar de las Montañas", "LHDT": "hora de verano de Lord Howe", "WEZ": "hora estándar de Europa occidental", "MEZ": "hora estándar de Europa central", "ARST": "hora de verano de Argentina", "HAST": "hora estándar de Hawái-Aleutiano", "SAST": "hora de Sudáfrica", "WAST": "hora de verano de África occidental", "ADT": "hora de verano del Atlántico", "WITA": "hora de Indonesia central", "NZST": "hora estándar de Nueva Zelanda", "COT": "hora estándar de Colombia", "AST": "hora estándar del Atlántico", "ChST": "hora estándar de Chamorro", "AWDT": "hora de verano de Australia occidental", "CLST": "hora de verano de Chile", "UYST": "hora de verano de Uruguay", "HKT": "hora estándar de Hong Kong", "SRT": "hora de Surinam", "IST": "hora estándar de la India", "PST": "hora estándar del Pacífico", "NZDT": "hora de verano de Nueva Zelanda", "HADT": "hora de verano de Hawái-Aleutiano", "MDT": "hora de verano de las Montañas", "HNT": "hora estándar de Terranova", "HAT": "hora de verano de Terranova", "JDT": "hora de verano de Japón", "OESZ": "hora de verano de Europa oriental", "WART": "hora estándar de Argentina occidental", "ECT": "hora de Ecuador", "EAT": "hora de África oriental", "TMST": "hora de verano de Turkmenistán", "MYT": "hora de Malasia", "CDT": "hora de verano central", "CLT": "hora estándar de Chile", "WIT": "hora de Indonesia oriental", "ACST": "hora estándar de Australia central", "WIB": "hora de Indonesia occidental", "AEST": "hora estándar de Australia oriental", "AWST": "hora estándar de Australia occidental", "LHST": "hora estándar de Lord Howe", "UYT": "hora estándar de Uruguay", "CHAST": "hora estándar de Chatham", "WAT": "hora estándar de África occidental", "HKST": "hora de verano de Hong Kong", "AEDT": "hora de verano de Australia oriental", "CHADT": "hora de verano de Chatham", "GFT": "hora de la Guayana Francesa", "VET": "hora de Venezuela", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "CST": "hora estándar central", "BOT": "hora de Bolivia", "GMT": "hora del meridiano de Greenwich", "CAT": "hora de África central", "OEZ": "hora estándar de Europa oriental"}, + timezones: map[string]string{"BT": "hora de Bután", "AWST": "hora estándar de Australia occidental", "AEST": "hora estándar de Australia oriental", "HNPM": "hora estándar de San Pedro y Miquelón", "CLT": "hora estándar de Chile", "HEEG": "hora de verano de Groenlandia oriental", "WART": "hora estándar de Argentina occidental", "HNCU": "hora estándar de Cuba", "LHDT": "hora de verano de Lord Howe", "MST": "Hora estándar de Macao", "HEPMX": "hora de verano del Pacífico de México", "AEDT": "hora de verano de Australia oriental", "HEPM": "hora de verano de San Pedro y Miquelón", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro", "CAT": "hora de África central", "WARST": "hora de verano de Argentina occidental", "LHST": "hora estándar de Lord Howe", "NZST": "hora estándar de Nueva Zelanda", "CDT": "hora de verano central", "GYT": "hora de Guyana", "UYT": "hora estándar de Uruguay", "AWDT": "hora de verano de Australia occidental", "BOT": "hora de Bolivia", "WAST": "hora de verano de África occidental", "OEZ": "hora estándar de Europa oriental", "COT": "hora estándar de Colombia", "HKST": "hora de verano de Hong Kong", "WITA": "hora de Indonesia central", "ACWDT": "hora de verano de Australia centroccidental", "GFT": "hora de la Guayana Francesa", "ACDT": "hora de verano de Australia central", "MDT": "Hora de verano de Macao", "AKDT": "hora de verano de Alaska", "HNNOMX": "hora estándar del noroeste de México", "UYST": "hora de verano de Uruguay", "WIT": "hora de Indonesia oriental", "ADT": "hora de verano del Atlántico", "WESZ": "hora de verano de Europa occidental", "ACWST": "hora estándar de Australia centroccidental", "HNT": "hora estándar de Terranova", "∅∅∅": "hora de verano del Amazonas", "OESZ": "hora de verano de Europa oriental", "GMT": "hora del meridiano de Greenwich", "AKST": "hora estándar de Alaska", "PST": "hora estándar del Pacífico", "MEZ": "hora estándar de Europa central", "EST": "hora estándar oriental", "CHADT": "hora de verano de Chatham", "SRT": "hora de Surinam", "HNOG": "hora estándar de Groenlandia occidental", "CHAST": "hora estándar de Chatham", "JDT": "hora de verano de Japón", "COST": "hora de verano de Colombia", "HNPMX": "hora estándar del Pacífico de México", "HAST": "hora estándar de Hawái-Aleutiano", "WEZ": "hora estándar de Europa occidental", "PDT": "hora de verano del Pacífico", "IST": "hora estándar de la India", "EDT": "hora de verano oriental", "VET": "hora de Venezuela", "HADT": "hora de verano de Hawái-Aleutiano", "EAT": "hora de África oriental", "HENOMX": "hora de verano del noroeste de México", "NZDT": "hora de verano de Nueva Zelanda", "HEOG": "hora de verano de Groenlandia occidental", "ARST": "hora de verano de Argentina", "JST": "hora estándar de Japón", "CST": "hora estándar central", "AST": "hora estándar del Atlántico", "WIB": "hora de Indonesia occidental", "ACST": "hora estándar de Australia central", "SGT": "hora de Singapur", "ART": "hora estándar de Argentina", "CLST": "hora de verano de Chile", "HNEG": "hora estándar de Groenlandia oriental", "TMT": "hora estándar de Turkmenistán", "MYT": "hora de Malasia", "HAT": "hora de verano de Terranova", "HKT": "hora estándar de Hong Kong", "MESZ": "hora de verano de Europa central", "TMST": "hora de verano de Turkmenistán", "WAT": "hora estándar de África occidental", "ECT": "hora de Ecuador", "HECU": "hora de verano de Cuba"}, } } @@ -433,7 +433,12 @@ func (es *es_PR) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,7 +454,12 @@ func (es *es_PR) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,7 +477,12 @@ func (es *es_PR) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_PY/es_PY.go b/es_PY/es_PY.go index 743df7aef..6bde1fd19 100644 --- a/es_PY/es_PY.go +++ b/es_PY/es_PY.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "Gs.", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "Gs.", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -68,12 +68,12 @@ func New() locales.Translator { daysShort: []string{"do", "lu", "ma", "mi", "ju", "vi", "sa"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, - periodsNarrow: []string{"", ""}, + periodsNarrow: []string{"a. m.", "p. m."}, periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"CHAST": "hora estándar de Chatham", "GFT": "hora de la Guayana Francesa", "MEZ": "hora estándar de Europa central", "HAT": "hora de verano de Terranova", "OEZ": "hora estándar de Europa oriental", "GYT": "hora de Guyana", "MST": "hora estándar de las Montañas", "NZST": "hora estándar de Nueva Zelanda", "WIB": "hora de Indonesia occidental", "HAST": "hora estándar de Hawái-Aleutiano", "LHDT": "hora de verano de Lord Howe", "UYST": "hora de verano de Uruguay", "HKT": "hora estándar de Hong Kong", "COT": "hora estándar de Colombia", "WAT": "hora estándar de África occidental", "CST": "hora estándar central", "WIT": "hora de Indonesia oriental", "LHST": "hora estándar de Lord Howe", "SGT": "hora de Singapur", "ARST": "hora de verano de Argentina", "MYT": "hora de Malasia", "HNT": "hora estándar de Terranova", "OESZ": "hora de verano de Europa oriental", "WITA": "hora de Indonesia central", "TMST": "hora de verano de Turkmenistán", "CLST": "hora de verano de Chile", "CAT": "hora de África central", "BT": "hora de Bután", "ACWDT": "hora de verano de Australia centroccidental", "EDT": "hora de verano oriental", "ADT": "hora de verano del Atlántico", "WAST": "hora de verano de África occidental", "NZDT": "hora de verano de Nueva Zelanda", "JST": "hora estándar de Japón", "MESZ": "hora de verano de Europa central", "VET": "hora de Venezuela", "ART": "hora estándar de Argentina", "WART": "hora estándar de Argentina occidental", "HADT": "hora de verano de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "GMT": "hora del meridiano de Greenwich", "WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "EAT": "hora de África oriental", "IST": "hora estándar de la India", "CDT": "hora de verano central", "ECT": "hora de Ecuador", "ACDT": "hora de verano de Australia central", "∅∅∅": "hora de verano de las Azores", "COST": "hora de verano de Colombia", "AEST": "hora estándar de Australia oriental", "TMT": "hora estándar de Turkmenistán", "WARST": "hora de verano de Argentina occidental", "AKDT": "hora de verano de Alaska", "SAST": "hora de Sudáfrica", "JDT": "hora de verano de Japón", "MDT": "hora de verano de las Montañas", "CLT": "hora estándar de Chile", "AWST": "hora estándar de Australia occidental", "BOT": "hora de Bolivia", "SRT": "hora de Surinam", "EST": "hora estándar oriental", "PST": "hora estándar del Pacífico", "AKST": "hora estándar de Alaska", "AST": "hora estándar del Atlántico", "AWDT": "hora de verano de Australia occidental", "CHADT": "hora de verano de Chatham", "AEDT": "hora de verano de Australia oriental", "ACST": "hora estándar de Australia central", "PDT": "hora de verano del Pacífico", "ChST": "hora estándar de Chamorro", "UYT": "hora estándar de Uruguay", "HKST": "hora de verano de Hong Kong"}, + timezones: map[string]string{"LHDT": "hora de verano de Lord Howe", "CLT": "hora estándar de Chile", "HEEG": "hora de verano de Groenlandia oriental", "WAST": "hora de verano de África occidental", "WART": "hora estándar de Argentina occidental", "HNCU": "hora estándar de Cuba", "EST": "hora estándar oriental", "SAST": "hora de Sudáfrica", "TMST": "hora de verano de Turkmenistán", "WAT": "hora estándar de África occidental", "HENOMX": "hora de verano del noroeste de México", "AKST": "hora estándar de Alaska", "AWDT": "hora de verano de Australia occidental", "IST": "hora estándar de la India", "ECT": "hora de Ecuador", "HADT": "hora de verano de Hawái-Aleutiano", "GFT": "hora de la Guayana Francesa", "HNEG": "hora estándar de Groenlandia oriental", "CHADT": "hora de verano de Chatham", "PDT": "hora de verano del Pacífico", "HEPM": "hora de verano de San Pedro y Miquelón", "JDT": "hora de verano de Japón", "ChST": "hora estándar de Chamorro", "BT": "hora de Bután", "CDT": "hora de verano central", "HAST": "hora estándar de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "MST": "Hora estándar de Macao", "HEPMX": "hora de verano del Pacífico de México", "MYT": "hora de Malasia", "WEZ": "hora estándar de Europa occidental", "EAT": "hora de África oriental", "COT": "hora estándar de Colombia", "HNPMX": "hora estándar del Pacífico de México", "WESZ": "hora de verano de Europa occidental", "ACWDT": "hora de verano de Australia centroccidental", "HKST": "hora de verano de Hong Kong", "HNPM": "hora estándar de San Pedro y Miquelón", "JST": "hora estándar de Japón", "BOT": "hora de Bolivia", "ACST": "hora estándar de Australia central", "HNT": "hora estándar de Terranova", "ACDT": "hora de verano de Australia central", "WITA": "hora de Indonesia central", "AWST": "hora estándar de Australia occidental", "NZDT": "hora de verano de Nueva Zelanda", "COST": "hora de verano de Colombia", "GMT": "hora del meridiano de Greenwich", "UYST": "hora de verano de Uruguay", "AEST": "hora estándar de Australia oriental", "LHST": "hora estándar de Lord Howe", "CAT": "hora de África central", "SGT": "hora de Singapur", "PST": "hora estándar del Pacífico", "MDT": "Hora de verano de Macao", "WIB": "hora de Indonesia occidental", "HNNOMX": "hora estándar del noroeste de México", "EDT": "hora de verano oriental", "ART": "hora estándar de Argentina", "HKT": "hora estándar de Hong Kong", "MEZ": "hora estándar de Europa central", "MESZ": "hora de verano de Europa central", "CLST": "hora de verano de Chile", "∅∅∅": "hora de verano del Amazonas", "TMT": "hora estándar de Turkmenistán", "ADT": "hora de verano del Atlántico", "OEZ": "hora estándar de Europa oriental", "SRT": "hora de Surinam", "CHAST": "hora estándar de Chatham", "NZST": "hora estándar de Nueva Zelanda", "WARST": "hora de verano de Argentina occidental", "HECU": "hora de verano de Cuba", "VET": "hora de Venezuela", "UYT": "hora estándar de Uruguay", "AKDT": "hora de verano de Alaska", "HAT": "hora de verano de Terranova", "HNOG": "hora estándar de Groenlandia occidental", "HEOG": "hora de verano de Groenlandia occidental", "AEDT": "hora de verano de Australia oriental", "OESZ": "hora de verano de Europa oriental", "GYT": "hora de Guyana", "AST": "hora estándar del Atlántico", "WIT": "hora de Indonesia oriental", "ARST": "hora de verano de Argentina", "CST": "hora estándar central"}, } } @@ -426,7 +426,12 @@ func (es *es_PY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (es *es_PY) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +470,12 @@ func (es *es_PY) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_SV/es_SV.go b/es_SV/es_SV.go index 73880418c..30aa0bbd3 100644 --- a/es_SV/es_SV.go +++ b/es_SV/es_SV.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"MESZ": "hora de verano de Europa central", "AEST": "hora estándar de Australia oriental", "HAST": "hora estándar de Hawái-Aleutiano", "MST": "hora estándar de las Montañas", "NZDT": "hora de verano de Nueva Zelanda", "AWST": "hora estándar de Australia occidental", "COST": "hora de verano de Colombia", "MEZ": "hora estándar de Europa central", "WAT": "hora estándar de África occidental", "JST": "hora estándar de Japón", "HKT": "hora estándar de Hong Kong", "HKST": "hora de verano de Hong Kong", "GFT": "hora de la Guayana Francesa", "OESZ": "hora de verano de Europa oriental", "EST": "hora estándar oriental", "ADT": "hora de verano del Atlántico", "MYT": "hora de Malasia", "UYST": "hora de verano de Uruguay", "∅∅∅": "hora de verano de Brasilia", "WARST": "hora de verano de Argentina occidental", "MDT": "hora de verano de las Montañas", "ChST": "hora estándar de Chamorro", "LHST": "hora estándar de Lord Howe", "COT": "hora estándar de Colombia", "ACST": "hora estándar de Australia central", "WART": "hora estándar de Argentina occidental", "ACWST": "hora estándar de Australia centroccidental", "CST": "hora estándar central", "GYT": "hora de Guyana", "CAT": "hora de África central", "WEZ": "hora estándar de Europa occidental", "BOT": "hora de Bolivia", "HNT": "hora estándar de Terranova", "HAT": "hora de verano de Terranova", "PST": "hora estándar del Pacífico", "TMT": "hora estándar de Turkmenistán", "ART": "hora estándar de Argentina", "AKDT": "hora de verano de Alaska", "WAST": "hora de verano de África occidental", "AWDT": "hora de verano de Australia occidental", "ECT": "hora de Ecuador", "HADT": "hora de verano de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "SAST": "hora de Sudáfrica", "CLST": "hora de verano de Chile", "SGT": "hora de Singapur", "WITA": "hora de Indonesia central", "BT": "hora de Bután", "AEDT": "hora de verano de Australia oriental", "IST": "hora estándar de la India", "CDT": "hora de verano central", "NZST": "hora estándar de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "WIB": "hora de Indonesia occidental", "EDT": "hora de verano oriental", "EAT": "hora de África oriental", "CLT": "hora estándar de Chile", "ARST": "hora de verano de Argentina", "WESZ": "hora de verano de Europa occidental", "ACDT": "hora de verano de Australia central", "UYT": "hora estándar de Uruguay", "JDT": "hora de verano de Japón", "CHADT": "hora de verano de Chatham", "OEZ": "hora estándar de Europa oriental", "VET": "hora de Venezuela", "AKST": "hora estándar de Alaska", "AST": "hora estándar del Atlántico", "TMST": "hora de verano de Turkmenistán", "WIT": "hora de Indonesia oriental", "GMT": "hora del meridiano de Greenwich", "PDT": "hora de verano del Pacífico", "LHDT": "hora de verano de Lord Howe", "SRT": "hora de Surinam"}, + timezones: map[string]string{"SRT": "hora de Surinam", "EAT": "hora de África oriental", "WARST": "hora de verano de Argentina occidental", "ACDT": "hora de verano de Australia central", "MYT": "hora de Malasia", "ECT": "hora de Ecuador", "AKST": "hora estándar de Alaska", "HNOG": "hora estándar de Groenlandia occidental", "HKST": "hora de verano de Hong Kong", "JDT": "hora de verano de Japón", "ACST": "hora estándar de Australia central", "WAT": "hora estándar de África occidental", "HEEG": "hora de verano de Groenlandia oriental", "UYT": "hora estándar de Uruguay", "WIB": "hora de Indonesia occidental", "BT": "hora de Bután", "ACWST": "hora estándar de Australia centroccidental", "HNPM": "hora estándar de San Pedro y Miquelón", "HNEG": "hora estándar de Groenlandia oriental", "WESZ": "hora de verano de Europa occidental", "AEDT": "hora de verano de Australia oriental", "MEZ": "hora estándar de Europa central", "JST": "hora estándar de Japón", "AST": "hora estándar del Atlántico", "CST": "hora estándar central", "HEOG": "hora de verano de Groenlandia occidental", "HKT": "hora estándar de Hong Kong", "CHADT": "hora de verano de Chatham", "OESZ": "hora de verano de Europa oriental", "HNNOMX": "hora estándar del noroeste de México", "MST": "hora estándar de las Montañas", "MDT": "hora de verano de las Montañas", "CHAST": "hora estándar de Chatham", "TMT": "hora estándar de Turkmenistán", "WEZ": "hora estándar de Europa occidental", "SAST": "hora de Sudáfrica", "GFT": "hora de la Guayana Francesa", "CAT": "hora de África central", "SGT": "hora de Singapur", "GYT": "hora de Guyana", "AWDT": "hora de verano de Australia occidental", "NZST": "hora estándar de Nueva Zelanda", "TMST": "hora de verano de Turkmenistán", "WART": "hora estándar de Argentina occidental", "GMT": "hora del meridiano de Greenwich", "HAST": "hora estándar de Hawái-Aleutiano", "ART": "hora estándar de Argentina", "HEPM": "hora de verano de San Pedro y Miquelón", "BOT": "hora de Bolivia", "HNPMX": "hora estándar del Pacífico de México", "MESZ": "hora de verano de Europa central", "NZDT": "hora de verano de Nueva Zelanda", "ChST": "hora estándar de Chamorro", "HNCU": "hora estándar de Cuba", "HECU": "hora de verano de Cuba", "EST": "hora estándar oriental", "EDT": "hora de verano oriental", "HNT": "hora estándar de Terranova", "AEST": "hora estándar de Australia oriental", "LHDT": "hora de verano de Lord Howe", "∅∅∅": "hora de verano del Amazonas", "COT": "hora estándar de Colombia", "OEZ": "hora estándar de Europa oriental", "UYST": "hora de verano de Uruguay", "VET": "hora de Venezuela", "WIT": "hora de Indonesia oriental", "PST": "hora estándar del Pacífico", "HAT": "hora de verano de Terranova", "WITA": "hora de Indonesia central", "CDT": "hora de verano central", "PDT": "hora de verano del Pacífico", "IST": "hora estándar de la India", "CLT": "hora estándar de Chile", "HEPMX": "hora de verano del Pacífico de México", "AKDT": "hora de verano de Alaska", "COST": "hora de verano de Colombia", "HENOMX": "hora de verano del noroeste de México", "ADT": "hora de verano del Atlántico", "HADT": "hora de verano de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "AWST": "hora estándar de Australia occidental", "LHST": "hora estándar de Lord Howe", "CLST": "hora de verano de Chile", "ARST": "hora de verano de Argentina", "WAST": "hora de verano de África occidental"}, } } @@ -413,7 +413,12 @@ func (es *es_SV) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_SV) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_SV) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_US/es_US.go b/es_US/es_US.go index 5184d827d..c04dc0b0a 100644 --- a/es_US/es_US.go +++ b/es_US/es_US.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "lei", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -68,12 +68,12 @@ func New() locales.Translator { daysShort: []string{"DO", "LU", "MA", "MI", "JU", "VI", "SA"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"AM", "PM"}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"LHST": "hora estándar de Lord Howe", "SGT": "hora de Singapur", "HAST": "hora estándar de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "PDT": "hora de verano del Pacífico", "WITA": "hora de Indonesia central", "MYT": "hora de Malasia", "ACST": "hora estándar de Australia central", "COST": "hora de verano de Colombia", "SAST": "hora de Sudáfrica", "AKDT": "hora de verano de Alaska", "NZDT": "hora de verano de Nueva Zelanda", "CLST": "hora de verano de Chile", "JDT": "hora de verano de Japón", "OEZ": "hora estándar de Europa oriental", "WIB": "hora de Indonesia occidental", "ACWST": "hora estándar de Australia centroccidental", "CDT": "hora de verano central", "UYST": "hora de verano de Uruguay", "MESZ": "hora de verano de Europa central", "GYT": "hora de Guyana", "MST": "Hora estándar de Macao", "WESZ": "hora de verano de Europa occidental", "HKT": "hora estándar de Hong Kong", "ACDT": "hora de verano de Australia central", "BOT": "hora de Bolivia", "ECT": "hora de Ecuador", "WART": "hora estándar de Argentina occidental", "ADT": "hora de verano del Atlántico", "AWDT": "hora de verano de Australia occidental", "CLT": "hora estándar de Chile", "UYT": "hora estándar de Uruguay", "HKST": "hora de verano de Hong Kong", "SRT": "hora de Surinam", "AST": "hora estándar del Atlántico", "NZST": "hora estándar de Nueva Zelanda", "WAT": "hora estándar de África occidental", "IST": "hora estándar de la India", "AWST": "hora estándar de Australia occidental", "GMT": "hora del meridiano de Greenwich", "WEZ": "hora estándar de Europa occidental", "CHADT": "hora de verano de Chatham", "CST": "hora estándar central", "AEDT": "hora de verano de Australia oriental", "GFT": "hora de la Guayana Francesa", "PST": "hora estándar del Pacífico", "ChST": "hora estándar de Chamorro", "LHDT": "hora de verano de Lord Howe", "ARST": "hora de verano de Argentina", "WARST": "hora de verano de Argentina occidental", "EAT": "hora de África oriental", "EDT": "hora de verano oriental", "TMST": "hora de verano de Turkmenistán", "MDT": "Hora de verano de Macao", "CAT": "hora de África central", "BT": "hora de Bután", "HNT": "hora estándar de Terranova", "WIT": "hora de Indonesia oriental", "JST": "hora estándar de Japón", "VET": "hora de Venezuela", "ART": "hora estándar de Argentina", "EST": "hora estándar oriental", "∅∅∅": "hora de verano de Brasilia", "COT": "hora estándar de Colombia", "AEST": "hora estándar de Australia oriental", "WAST": "hora de verano de África occidental", "TMT": "hora estándar de Turkmenistán", "OESZ": "hora de verano de Europa oriental", "MEZ": "hora estándar de Europa central", "HADT": "hora de verano de Hawái-Aleutiano", "HAT": "hora de verano de Terranova", "CHAST": "hora estándar de Chatham", "AKST": "hora estándar de Alaska"}, + timezones: map[string]string{"WART": "hora estándar de Argentina occidental", "GMT": "hora del meridiano de Greenwich", "EDT": "hora de verano oriental", "UYT": "hora estándar de Uruguay", "HEPM": "hora de verano de San Pedro y Miquelón", "CHADT": "hora de verano de Chatham", "JDT": "hora de verano de Japón", "HNEG": "hora estándar de Groenlandia oriental", "HADT": "hora de verano de Hawái-Aleutiano", "ACWDT": "hora de verano de Australia centroccidental", "MESZ": "hora de verano de Europa central", "EAT": "hora de África oriental", "EST": "hora estándar oriental", "GYT": "hora de Guyana", "HNT": "hora estándar de Terranova", "AWDT": "hora de verano de Australia occidental", "TMT": "hora estándar de Turkmenistán", "WAST": "hora de verano de África occidental", "ACWST": "hora estándar de Australia centroccidental", "MEZ": "hora estándar de Europa central", "WEZ": "hora estándar de Europa occidental", "AST": "hora estándar del Atlántico", "HNPM": "hora estándar de San Pedro y Miquelón", "ACDT": "hora de verano de Australia central", "HECU": "hora de verano de Cuba", "HEPMX": "hora de verano del Pacífico de México", "WARST": "hora de verano de Argentina occidental", "HAST": "hora estándar de Hawái-Aleutiano", "PST": "hora estándar del Pacífico", "LHST": "hora estándar de Lord Howe", "NZDT": "hora de verano de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "WAT": "hora estándar de África occidental", "JST": "hora estándar de Japón", "AWST": "hora estándar de Australia occidental", "NZST": "hora estándar de Nueva Zelanda", "IST": "hora estándar de la India", "CLST": "hora de verano de Chile", "AEDT": "hora de verano de Australia oriental", "BOT": "hora de Bolivia", "AKDT": "hora de verano de Alaska", "HNOG": "hora estándar de Groenlandia occidental", "WITA": "hora de Indonesia central", "WIB": "hora de Indonesia occidental", "HAT": "hora de verano de Terranova", "ARST": "hora de verano de Argentina", "AEST": "hora estándar de Australia oriental", "LHDT": "hora de verano de Lord Howe", "HEEG": "hora de verano de Groenlandia oriental", "HENOMX": "hora de verano del noroeste de México", "UYST": "hora de verano de Uruguay", "ART": "hora estándar de Argentina", "HEOG": "hora de verano de Groenlandia occidental", "PDT": "hora de verano del Pacífico", "HKT": "hora estándar de Hong Kong", "TMST": "hora de verano de Turkmenistán", "CAT": "hora de África central", "MDT": "Hora de verano de Macao", "CLT": "hora estándar de Chile", "MYT": "hora de Malasia", "OEZ": "hora estándar de Europa oriental", "HNNOMX": "hora estándar del noroeste de México", "HNCU": "hora estándar de Cuba", "CDT": "hora de verano central", "MST": "Hora estándar de Macao", "HNPMX": "hora estándar del Pacífico de México", "AKST": "hora estándar de Alaska", "WESZ": "hora de verano de Europa occidental", "HKST": "hora de verano de Hong Kong", "SAST": "hora de Sudáfrica", "ECT": "hora de Ecuador", "SGT": "hora de Singapur", "WIT": "hora de Indonesia oriental", "SRT": "hora de Surinam", "BT": "hora de Bután", "∅∅∅": "hora de verano del Amazonas", "GFT": "hora de la Guayana Francesa", "COT": "hora estándar de Colombia", "ADT": "hora de verano del Atlántico", "CST": "hora estándar central", "VET": "hora de Venezuela", "ChST": "hora de Chamorro", "ACST": "hora estándar de Australia central", "OESZ": "hora de verano de Europa oriental", "COST": "hora de verano de Colombia"}, } } @@ -413,7 +413,12 @@ func (es *es_US) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (es *es_US) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +457,12 @@ func (es *es_US) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_UY/es_UY.go b/es_UY/es_UY.go index 15aef435c..0062cc0c8 100644 --- a/es_UY/es_UY.go +++ b/es_UY/es_UY.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "$", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "$", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: "( ", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"∅∅∅": "hora de verano de las Azores", "HAT": "hora de verano de Terranova", "ACWDT": "hora de verano de Australia centroccidental", "WAST": "hora de verano de África occidental", "TMT": "hora estándar de Turkmenistán", "CAT": "hora de África central", "GMT": "hora del meridiano de Greenwich", "GFT": "hora de la Guayana Francesa", "MST": "hora estándar de las Montañas", "BOT": "hora de Bolivia", "UYST": "hora de verano de Uruguay", "HKT": "hora estándar de Hong Kong", "ACDT": "hora de verano de Australia central", "AKST": "hora estándar de Alaska", "AKDT": "hora de verano de Alaska", "NZDT": "hora de verano de Nueva Zelanda", "HNT": "hora estándar de Terranova", "SRT": "hora de Surinam", "WIB": "hora de Indonesia occidental", "ADT": "hora de verano del Atlántico", "GYT": "hora de Guyana", "ECT": "hora de Ecuador", "VET": "hora de Venezuela", "MESZ": "hora de verano de Europa central", "ACWST": "hora estándar de Australia centroccidental", "PST": "hora estándar del Pacífico", "CHAST": "hora estándar de Chatham", "WART": "hora estándar de Argentina occidental", "WARST": "hora de verano de Argentina occidental", "AEST": "hora estándar de Australia oriental", "TMST": "hora de verano de Turkmenistán", "UYT": "hora estándar de Uruguay", "COT": "hora estándar de Colombia", "ART": "hora estándar de Argentina", "ARST": "hora de verano de Argentina", "LHDT": "hora de verano de Lord Howe", "JDT": "hora de verano de Japón", "WIT": "hora de Indonesia oriental", "AWST": "hora estándar de Australia occidental", "OESZ": "hora de verano de Europa oriental", "WITA": "hora de Indonesia central", "AWDT": "hora de verano de Australia occidental", "HAST": "hora estándar de Hawái-Aleutiano", "EST": "hora estándar oriental", "ACST": "hora estándar de Australia central", "BT": "hora de Bután", "WEZ": "hora estándar de Europa occidental", "PDT": "hora de verano del Pacífico", "NZST": "hora estándar de Nueva Zelanda", "CDT": "hora de verano central", "CLST": "hora de verano de Chile", "HKST": "hora de verano de Hong Kong", "CHADT": "hora de verano de Chatham", "AST": "hora estándar del Atlántico", "CST": "hora estándar central", "IST": "hora estándar de la India", "MYT": "hora de Malasia", "WESZ": "hora de verano de Europa occidental", "MEZ": "hora estándar de Europa central", "EAT": "hora de África oriental", "SAST": "hora de Sudáfrica", "LHST": "hora estándar de Lord Howe", "OEZ": "hora estándar de Europa oriental", "SGT": "hora de Singapur", "HADT": "hora de verano de Hawái-Aleutiano", "ChST": "hora estándar de Chamorro", "CLT": "hora estándar de Chile", "MDT": "hora de verano de las Montañas", "JST": "hora estándar de Japón", "COST": "hora de verano de Colombia", "EDT": "hora de verano oriental", "WAT": "hora estándar de África occidental", "AEDT": "hora de verano de Australia oriental"}, + timezones: map[string]string{"ART": "hora estándar de Argentina", "HEOG": "hora de verano de Groenlandia occidental", "AWST": "hora estándar de Australia occidental", "MEZ": "hora estándar de Europa central", "COST": "hora de verano de Colombia", "UYST": "hora de verano de Uruguay", "COT": "hora estándar de Colombia", "MYT": "hora de Malasia", "AKDT": "hora de verano de Alaska", "AWDT": "hora de verano de Australia occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "HNNOMX": "hora estándar del noroeste de México", "EDT": "hora de verano oriental", "AEDT": "hora de verano de Australia oriental", "HKT": "hora estándar de Hong Kong", "MESZ": "hora de verano de Europa central", "HEEG": "hora de verano de Groenlandia oriental", "GFT": "hora de la Guayana Francesa", "EAT": "hora de África oriental", "OEZ": "hora estándar de Europa oriental", "WART": "hora estándar de Argentina occidental", "EST": "hora estándar oriental", "AST": "hora estándar del Atlántico", "ADT": "hora de verano del Atlántico", "HNEG": "hora estándar de Groenlandia oriental", "WAST": "hora de verano de África occidental", "SGT": "hora de Singapur", "WEZ": "hora estándar de Europa occidental", "WESZ": "hora de verano de Europa occidental", "ACWST": "hora estándar de Australia centroccidental", "TMT": "hora estándar de Turkmenistán", "ACDT": "hora de verano de Australia central", "ECT": "hora de Ecuador", "HECU": "hora de verano de Cuba", "CDT": "hora de verano central", "HKST": "hora de verano de Hong Kong", "JST": "hora estándar de Japón", "WARST": "hora de verano de Argentina occidental", "HNCU": "hora estándar de Cuba", "HEPMX": "hora de verano del Pacífico de México", "CST": "hora estándar central", "SRT": "hora de Surinam", "CLST": "hora de verano de Chile", "CAT": "hora de África central", "WIB": "hora de Indonesia occidental", "PST": "hora estándar del Pacífico", "ACWDT": "hora de verano de Australia centroccidental", "HAT": "hora de verano de Terranova", "LHST": "hora estándar de Lord Howe", "CHAST": "hora estándar de Chatham", "CHADT": "hora de verano de Chatham", "JDT": "hora de verano de Japón", "CLT": "hora estándar de Chile", "ACST": "hora estándar de Australia central", "HNPMX": "hora estándar del Pacífico de México", "AKST": "hora estándar de Alaska", "HAST": "hora estándar de Hawái-Aleutiano", "NZDT": "hora de verano de Nueva Zelanda", "BOT": "hora de Bolivia", "NZST": "hora estándar de Nueva Zelanda", "WAT": "hora estándar de África occidental", "GMT": "hora del meridiano de Greenwich", "GYT": "hora de Guyana", "WIT": "hora de Indonesia oriental", "AEST": "hora estándar de Australia oriental", "WITA": "hora de Indonesia central", "LHDT": "hora de verano de Lord Howe", "∅∅∅": "hora de verano del Amazonas", "MST": "Hora estándar de Macao", "HEPM": "hora de verano de San Pedro y Miquelón", "TMST": "hora de verano de Turkmenistán", "OESZ": "hora de verano de Europa oriental", "ARST": "hora de verano de Argentina", "HNOG": "hora estándar de Groenlandia occidental", "HNT": "hora estándar de Terranova", "SAST": "hora de Sudáfrica", "HENOMX": "hora de verano del noroeste de México", "UYT": "hora estándar de Uruguay", "VET": "hora de Venezuela", "BT": "hora de Bután", "PDT": "hora de verano del Pacífico", "IST": "hora estándar de la India", "ChST": "hora estándar de Chamorro", "MDT": "Hora de verano de Macao", "HADT": "hora de verano de Hawái-Aleutiano"}, } } @@ -430,7 +430,12 @@ func (es *es_UY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +451,12 @@ func (es *es_UY) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (es *es_UY) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/es_VE/es_VE.go b/es_VE/es_VE.go index ac3cdf987..4a01d0919 100644 --- a/es_VE/es_VE.go +++ b/es_VE/es_VE.go @@ -54,7 +54,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "Bs.", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "Bs.", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sept.", "oct.", "nov.", "dic."}, monthsNarrow: []string{"", "E", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -64,12 +64,12 @@ func New() locales.Translator { daysShort: []string{"Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"}, daysWide: []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}, periodsAbbreviated: []string{"a. m.", "p. m."}, - periodsNarrow: []string{"", ""}, + periodsNarrow: []string{"a. m.", "p. m."}, periodsWide: []string{"a. m.", "p. m."}, erasAbbreviated: []string{"a. C.", "d. C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "después de Cristo"}, - timezones: map[string]string{"AEST": "hora estándar de Australia oriental", "WAST": "hora de verano de África occidental", "AWST": "hora estándar de Australia occidental", "HADT": "hora de verano de Hawái-Aleutiano", "WARST": "hora de verano de Argentina occidental", "GYT": "hora de Guyana", "MYT": "hora de Malasia", "GMT": "hora del meridiano de Greenwich", "JDT": "hora de verano de Japón", "WESZ": "hora de verano de Europa occidental", "SAST": "hora de Sudáfrica", "PST": "hora estándar del Pacífico", "∅∅∅": "hora de verano de Perú", "HAT": "hora de verano de Terranova", "HKT": "hora estándar de Hong Kong", "CHADT": "hora de verano de Chatham", "NZST": "hora estándar de Nueva Zelanda", "HNT": "hora estándar de Terranova", "LHDT": "hora de verano de Lord Howe", "UYT": "hora estándar de Uruguay", "WEZ": "hora estándar de Europa occidental", "ECT": "hora de Ecuador", "WIB": "hora de Indonesia occidental", "HKST": "hora de verano de Hong Kong", "SRT": "hora de Surinam", "MESZ": "hora de verano de Europa central", "ADT": "hora de verano del Atlántico", "PDT": "hora de verano del Pacífico", "WITA": "hora de Indonesia central", "WIT": "hora de Indonesia oriental", "GFT": "hora de la Guayana Francesa", "COT": "hora estándar de Colombia", "NZDT": "hora de verano de Nueva Zelanda", "UYST": "hora de verano de Uruguay", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "AKDT": "hora de verano de Alaska", "EDT": "hora de verano oriental", "BOT": "hora de Bolivia", "AKST": "hora estándar de Alaska", "TMT": "hora estándar de Turkmenistán", "CDT": "hora de verano central", "ACDT": "hora de verano de Australia central", "COST": "hora de verano de Colombia", "WART": "hora estándar de Argentina occidental", "TMST": "hora de verano de Turkmenistán", "WAT": "hora estándar de África occidental", "MDT": "hora de verano de las Montañas", "CAT": "hora de África central", "ACST": "hora estándar de Australia central", "SGT": "hora de Singapur", "VET": "hora de Venezuela", "AST": "hora estándar del Atlántico", "OEZ": "hora estándar de Europa oriental", "LHST": "hora estándar de Lord Howe", "OESZ": "hora de verano de Europa oriental", "AWDT": "hora de verano de Australia occidental", "MEZ": "hora estándar de Europa central", "AEDT": "hora de verano de Australia oriental", "ART": "hora estándar de Argentina", "EAT": "hora de África oriental", "IST": "hora estándar de la India", "CST": "hora estándar central", "BT": "hora de Bután", "CLT": "hora estándar de Chile", "CHAST": "hora estándar de Chatham", "EST": "hora estándar oriental", "MST": "hora estándar de las Montañas", "ChST": "hora estándar de Chamorro", "CLST": "hora de verano de Chile", "HAST": "hora estándar de Hawái-Aleutiano", "ARST": "hora de verano de Argentina", "JST": "hora estándar de Japón"}, + timezones: map[string]string{"WESZ": "hora de verano de Europa occidental", "TMST": "hora de verano de Turkmenistán", "ECT": "hora de Ecuador", "HNNOMX": "hora estándar del noroeste de México", "HNCU": "hora estándar de Cuba", "HNT": "hora estándar de Terranova", "AEST": "hora estándar de Australia oriental", "AEDT": "hora de verano de Australia oriental", "WAT": "hora estándar de África occidental", "COT": "hora estándar de Colombia", "HAST": "hora estándar de Hawái-Aleutiano", "ACWST": "hora estándar de Australia centroccidental", "ACWDT": "hora de verano de Australia centroccidental", "UYT": "hora estándar de Uruguay", "ARST": "hora de verano de Argentina", "HNOG": "hora estándar de Groenlandia occidental", "JDT": "hora de verano de Japón", "WART": "hora estándar de Argentina occidental", "COST": "hora de verano de Colombia", "CDT": "hora de verano central", "AWDT": "hora de verano de Australia occidental", "HNPM": "hora estándar de San Pedro y Miquelón", "∅∅∅": "hora de verano del Amazonas", "HECU": "hora de verano de Cuba", "GYT": "hora de Guyana", "CST": "hora estándar central", "HEOG": "hora de verano de Groenlandia occidental", "OESZ": "hora de verano de Europa oriental", "EDT": "hora de verano oriental", "HNPMX": "hora estándar del Pacífico de México", "ADT": "hora de verano del Atlántico", "AKDT": "hora de verano de Alaska", "HAT": "hora de verano de Terranova", "WITA": "hora de Indonesia central", "MESZ": "hora de verano de Europa central", "JST": "hora estándar de Japón", "GMT": "hora del meridiano de Greenwich", "AST": "hora estándar del Atlántico", "PST": "hora estándar del Pacífico", "HEPM": "hora de verano de San Pedro y Miquelón", "LHDT": "hora de verano de Lord Howe", "NZST": "hora estándar de Nueva Zelanda", "CHAST": "hora estándar de Chatham", "EST": "hora estándar oriental", "WIB": "hora de Indonesia occidental", "HADT": "hora de verano de Hawái-Aleutiano", "WIT": "hora de Indonesia oriental", "WEZ": "hora estándar de Europa occidental", "BOT": "hora de Bolivia", "HNEG": "hora estándar de Groenlandia oriental", "CAT": "hora de África central", "HENOMX": "hora de verano del noroeste de México", "MYT": "hora de Malasia", "UYST": "hora de verano de Uruguay", "LHST": "hora estándar de Lord Howe", "CLT": "hora estándar de Chile", "CLST": "hora de verano de Chile", "TMT": "hora estándar de Turkmenistán", "ACST": "hora estándar de Australia central", "ACDT": "hora de verano de Australia central", "AKST": "hora estándar de Alaska", "VET": "hora de Venezuela", "HKT": "hora estándar de Hong Kong", "NZDT": "hora de verano de Nueva Zelanda", "CHADT": "hora de verano de Chatham", "IST": "hora estándar de la India", "BT": "hora de Bután", "HEEG": "hora de verano de Groenlandia oriental", "WAST": "hora de verano de África occidental", "WARST": "hora de verano de Argentina occidental", "SGT": "hora de Singapur", "MDT": "Hora de verano de Macao", "PDT": "hora de verano del Pacífico", "AWST": "hora estándar de Australia occidental", "SAST": "hora de Sudáfrica", "ChST": "hora estándar de Chamorro", "GFT": "hora de la Guayana Francesa", "EAT": "hora de África oriental", "ART": "hora estándar de Argentina", "MEZ": "hora estándar de Europa central", "OEZ": "hora estándar de Europa oriental", "HKST": "hora de verano de Hong Kong", "MST": "Hora estándar de Macao", "HEPMX": "hora de verano del Pacífico de México", "SRT": "hora de Surinam"}, } } @@ -410,7 +410,12 @@ func (es *es_VE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, es.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +431,12 @@ func (es *es_VE) FmtDateLong(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (es *es_VE) FmtDateFull(t time.Time) string { b = append(b, es.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/et/et.go b/et/et.go index 0029195d1..d183b7dee 100644 --- a/et/et.go +++ b/et/et.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "kr", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "kr", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -68,12 +68,12 @@ func New() locales.Translator { daysShort: []string{"P", "E", "T", "K", "N", "R", "L"}, daysWide: []string{"pühapäev", "esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"eKr", "pKr"}, erasNarrow: []string{"eKr", "pKr"}, erasWide: []string{"enne Kristust", "pärast Kristust"}, - timezones: map[string]string{"AWDT": "Lääne-Austraalia suveaeg", "GMT": "Greenwichi aeg", "ACDT": "Kesk-Austraalia suveaeg", "BOT": "Boliivia aeg", "HAT": "Newfoundlandi suveaeg", "WESZ": "Lääne-Euroopa suveaeg", "CHADT": "Chathami suveaeg", "AEDT": "Ida-Austraalia suveaeg", "AKDT": "Alaska suveaeg", "CST": "Kesk-Ameerika standardaeg", "MYT": "Malaisia \u200b\u200baeg", "MDT": "MDT", "BT": "Bhutani aeg", "AWST": "Lääne-Austraalia standardaeg", "UYT": "Uruguay standardaeg", "WEZ": "Lääne-Euroopa standardaeg", "EAT": "Ida-Aafrika aeg", "AKST": "Alaska standardaeg", "PDT": "Vaikse ookeani suveaeg", "HKST": "Hongkongi suveaeg", "CHAST": "Chathami standardaeg", "WAST": "Lääne-Aafrika suveaeg", "HNT": "Newfoundlandi standardaeg", "CLT": "Tšiili standardaeg", "SRT": "Suriname aeg", "MESZ": "Kesk-Euroopa suveaeg", "ECT": "Ecuadori aeg", "NZST": "Uus-Meremaa standardaeg", "WIT": "Ida-Indoneesia aeg", "OEZ": "Ida-Euroopa standardaeg", "OESZ": "Ida-Euroopa suveaeg", "ARST": "Argentina suveaeg", "HAST": "Hawaii-Aleuudi standardaeg", "ART": "Argentina standardaeg", "COT": "Colombia standardaeg", "MST": "MST", "CLST": "Tšiili suveaeg", "LHST": "Lord Howe standardaeg", "JST": "Jaapani standardaeg", "CDT": "Kesk-Ameerika suveaeg", "SGT": "Singapuri standardaeg", "WARST": "Lääne-Argentina suveaeg", "WAT": "Lääne-Aafrika standardaeg", "IST": "India aeg", "EST": "Idaranniku standardaeg", "NZDT": "Uus-Meremaa suveaeg", "HKT": "Hongkongi standardaeg", "GFT": "Prantsuse Guajaana aeg", "AST": "Atlandi standardaeg", "UYST": "Uruguay suveaeg", "JDT": "Jaapani suveaeg", "ACST": "Kesk-Austraalia standardaeg", "HADT": "Hawaii-Aleuudi suveaeg", "ADT": "Atlandi suveaeg", "WITA": "Kesk-Indoneesia aeg", "TMST": "Türkmenistani suveaeg", "ACWDT": "Kesk-Lääne Austraalia suveaeg", "SAST": "Lõuna-Aafrika standardaeg", "EDT": "Idaranniku suveaeg", "CAT": "Kesk-Aafrika aeg", "MEZ": "Kesk-Euroopa standardaeg", "WIB": "Lääne-Indoneesia aeg", "ACWST": "Kesk-Lääne Austraalia standardaeg", "WART": "Lääne-Argentina standardaeg", "TMT": "Türkmenistani standardaeg", "LHDT": "Lord Howe suveaeg", "∅∅∅": "Brasiilia suveaeg", "ChST": "Tšamorro standardaeg", "COST": "Colombia suveaeg", "VET": "Venezuela aeg", "AEST": "Ida-Austraalia standardaeg", "PST": "Vaikse ookeani standardaeg", "GYT": "Guyana aeg"}, + timezones: map[string]string{"TMST": "Türkmenistani suveaeg", "COT": "Colombia standardaeg", "HENOMX": "Loode-Mehhiko suveaeg", "WITA": "Kesk-Indoneesia aeg", "JDT": "Jaapani suveaeg", "EAT": "Ida-Aafrika aeg", "WART": "Lääne-Argentina standardaeg", "WARST": "Lääne-Argentina suveaeg", "NZST": "Uus-Meremaa standardaeg", "∅∅∅": "Amazonase suveaeg", "ACDT": "Kesk-Austraalia suveaeg", "ECT": "Ecuadori aeg", "CHADT": "Chathami suveaeg", "VET": "Venezuela aeg", "ART": "Argentina standardaeg", "AWST": "Lääne-Austraalia standardaeg", "AWDT": "Lääne-Austraalia suveaeg", "MEZ": "Kesk-Euroopa standardaeg", "EDT": "Idaranniku suveaeg", "UYST": "Uruguay suveaeg", "WESZ": "Lääne-Euroopa suveaeg", "MESZ": "Kesk-Euroopa suveaeg", "COST": "Colombia suveaeg", "MST": "Mäestikuvööndi standardaeg", "ACWST": "Kesk-Lääne Austraalia standardaeg", "CLT": "Tšiili standardaeg", "HEEG": "Ida-Gröönimaa suveaeg", "UYT": "Uruguay standardaeg", "ACWDT": "Kesk-Lääne Austraalia suveaeg", "CHAST": "Chathami standardaeg", "SGT": "Singapuri standardaeg", "HADT": "Hawaii-Aleuudi suveaeg", "WIB": "Lääne-Indoneesia aeg", "HAST": "Hawaii-Aleuudi standardaeg", "HEOG": "Lääne-Gröönimaa suveaeg", "PST": "Vaikse ookeani standardaeg", "IST": "India aeg", "GMT": "Greenwichi aeg", "AKDT": "Alaska suveaeg", "LHDT": "Lord Howe’i suveaeg", "JST": "Jaapani standardaeg", "BOT": "Boliivia aeg", "WAT": "Lääne-Aafrika standardaeg", "OESZ": "Ida-Euroopa suveaeg", "HNCU": "Kuuba standardaeg", "CST": "Kesk-Ameerika standardaeg", "AKST": "Alaska standardaeg", "CDT": "Kesk-Ameerika suveaeg", "HNOG": "Lääne-Gröönimaa standardaeg", "LHST": "Lord Howe’i standardaeg", "SAST": "Lõuna-Aafrika standardaeg", "AST": "Atlandi standardaeg", "MYT": "Malaisia \u200b\u200baeg", "WIT": "Ida-Indoneesia aeg", "HAT": "Newfoundlandi suveaeg", "HKST": "Hongkongi suveaeg", "CLST": "Tšiili suveaeg", "TMT": "Türkmenistani standardaeg", "CAT": "Kesk-Aafrika aeg", "GYT": "Guyana aeg", "HECU": "Kuuba suveaeg", "EST": "Idaranniku standardaeg", "WAST": "Lääne-Aafrika suveaeg", "SRT": "Suriname aeg", "PDT": "Vaikse ookeani suveaeg", "WEZ": "Lääne-Euroopa standardaeg", "GFT": "Prantsuse Guajaana aeg", "HNPMX": "Mehhiko Vaikse ookeani standardaeg", "ADT": "Atlandi suveaeg", "HNNOMX": "Loode-Mehhiko standardaeg", "HNT": "Newfoundlandi standardaeg", "HNPM": "Saint-Pierre’i ja Miqueloni standardaeg", "NZDT": "Uus-Meremaa suveaeg", "ARST": "Argentina suveaeg", "AEST": "Ida-Austraalia standardaeg", "AEDT": "Ida-Austraalia suveaeg", "HKT": "Hongkongi standardaeg", "HEPM": "Saint-Pierre’i ja Miqueloni suveaeg", "BT": "Bhutani aeg", "ChST": "Tšamorro standardaeg", "HNEG": "Ida-Gröönimaa standardaeg", "ACST": "Kesk-Austraalia standardaeg", "OEZ": "Ida-Euroopa standardaeg", "HEPMX": "Mehhiko Vaikse ookeani suveaeg", "MDT": "Mäestikuvööndi suveaeg"}, } } @@ -434,7 +434,12 @@ func (et *et) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +453,12 @@ func (et *et) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (et *et) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,6 +489,10 @@ func (et *et) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -491,6 +510,10 @@ func (et *et) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -499,7 +522,7 @@ func (et *et) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -515,6 +538,10 @@ func (et *et) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -523,7 +550,7 @@ func (et *et) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -543,6 +570,10 @@ func (et *et) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -551,7 +582,7 @@ func (et *et) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/et_EE/et_EE.go b/et_EE/et_EE.go index bc8566796..40ae0a87d 100644 --- a/et_EE/et_EE.go +++ b/et_EE/et_EE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -68,12 +68,12 @@ func New() locales.Translator { daysShort: []string{"P", "E", "T", "K", "N", "R", "L"}, daysWide: []string{"pühapäev", "esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"eKr", "pKr"}, erasNarrow: []string{"eKr", "pKr"}, erasWide: []string{"enne Kristust", "pärast Kristust"}, - timezones: map[string]string{"SGT": "Singapuri standardaeg", "PST": "Vaikse ookeani standardaeg", "CHADT": "Chathami suveaeg", "WIT": "Ida-Indoneesia aeg", "ACST": "Kesk-Austraalia standardaeg", "PDT": "Vaikse ookeani suveaeg", "TMST": "Türkmenistani suveaeg", "GYT": "Guyana aeg", "CST": "Kesk-Ameerika standardaeg", "CLT": "Tšiili standardaeg", "CLST": "Tšiili suveaeg", "UYST": "Uruguay suveaeg", "HKT": "Hongkongi standardaeg", "WART": "Lääne-Argentina standardaeg", "HNT": "Newfoundlandi standardaeg", "JDT": "Jaapani suveaeg", "GMT": "Greenwichi aeg", "HAST": "Hawaii-Aleuudi standardaeg", "IST": "India aeg", "TMT": "Türkmenistani standardaeg", "CDT": "Kesk-Ameerika suveaeg", "AWST": "Lääne-Austraalia standardaeg", "GFT": "Prantsuse Guajaana aeg", "ECT": "Ecuadori aeg", "SAST": "Lõuna-Aafrika standardaeg", "MDT": "Mäestikuvööndi suveaeg", "JST": "Jaapani standardaeg", "WESZ": "Lääne-Euroopa suveaeg", "COT": "Colombia standardaeg", "WIB": "Lääne-Indoneesia aeg", "MEZ": "Kesk-Euroopa standardaeg", "AEST": "Ida-Austraalia standardaeg", "EST": "Idaranniku standardaeg", "BOT": "Boliivia aeg", "MST": "Mäestikuvööndi standardaeg", "WEZ": "Lääne-Euroopa standardaeg", "ACWDT": "Kesk-Lääne Austraalia suveaeg", "ARST": "Argentina suveaeg", "WAST": "Lääne-Aafrika suveaeg", "AKST": "Alaska standardaeg", "EDT": "Idaranniku suveaeg", "EAT": "Ida-Aafrika aeg", "MESZ": "Kesk-Euroopa suveaeg", "AST": "Atlandi standardaeg", "HKST": "Hongkongi suveaeg", "OEZ": "Ida-Euroopa standardaeg", "COST": "Colombia suveaeg", "ADT": "Atlandi suveaeg", "NZST": "Uus-Meremaa standardaeg", "ChST": "Tšamorro standardaeg", "CAT": "Kesk-Aafrika aeg", "∅∅∅": "Brasiilia suveaeg", "WAT": "Lääne-Aafrika standardaeg", "AKDT": "Alaska suveaeg", "AWDT": "Lääne-Austraalia suveaeg", "LHST": "Lord Howe standardaeg", "CHAST": "Chathami standardaeg", "SRT": "Suriname aeg", "ACDT": "Kesk-Austraalia suveaeg", "MYT": "Malaisia \u200b\u200baeg", "OESZ": "Ida-Euroopa suveaeg", "WARST": "Lääne-Argentina suveaeg", "BT": "Bhutani aeg", "HAT": "Newfoundlandi suveaeg", "LHDT": "Lord Howe suveaeg", "UYT": "Uruguay standardaeg", "VET": "Venezuela aeg", "ACWST": "Kesk-Lääne Austraalia standardaeg", "WITA": "Kesk-Indoneesia aeg", "NZDT": "Uus-Meremaa suveaeg", "AEDT": "Ida-Austraalia suveaeg", "ART": "Argentina standardaeg", "HADT": "Hawaii-Aleuudi suveaeg"}, + timezones: map[string]string{"MYT": "Malaisia \u200b\u200baeg", "AWST": "Lääne-Austraalia standardaeg", "TMST": "Türkmenistani suveaeg", "ADT": "Atlandi suveaeg", "ACST": "Kesk-Austraalia standardaeg", "ACDT": "Kesk-Austraalia suveaeg", "WAT": "Lääne-Aafrika standardaeg", "ECT": "Ecuadori aeg", "HENOMX": "Loode-Mehhiko suveaeg", "HNOG": "Lääne-Gröönimaa standardaeg", "HKT": "Hongkongi standardaeg", "JDT": "Jaapani suveaeg", "SGT": "Singapuri standardaeg", "HECU": "Kuuba suveaeg", "GYT": "Guyana aeg", "MEZ": "Kesk-Euroopa standardaeg", "∅∅∅": "Amazonase suveaeg", "OEZ": "Ida-Euroopa standardaeg", "WIT": "Ida-Indoneesia aeg", "BT": "Bhutani aeg", "CHADT": "Chathami suveaeg", "GFT": "Prantsuse Guajaana aeg", "EDT": "Idaranniku suveaeg", "ARST": "Argentina suveaeg", "WITA": "Kesk-Indoneesia aeg", "LHDT": "Lord Howe’i suveaeg", "CLST": "Tšiili suveaeg", "HNNOMX": "Loode-Mehhiko standardaeg", "UYT": "Uruguay standardaeg", "SRT": "Suriname aeg", "ACWDT": "Kesk-Lääne Austraalia suveaeg", "AEST": "Ida-Austraalia standardaeg", "HEPMX": "Mehhiko Vaikse ookeani suveaeg", "WESZ": "Lääne-Euroopa suveaeg", "HAT": "Newfoundlandi suveaeg", "HEEG": "Ida-Gröönimaa suveaeg", "HEPM": "Saint-Pierre’i ja Miqueloni suveaeg", "ChST": "Tšamorro standardaeg", "GMT": "Greenwichi aeg", "MDT": "MDT", "UYST": "Uruguay suveaeg", "WIB": "Lääne-Indoneesia aeg", "IST": "India aeg", "EAT": "Ida-Aafrika aeg", "COST": "Colombia suveaeg", "AKDT": "Alaska suveaeg", "CDT": "Kesk-Ameerika suveaeg", "HNPM": "Saint-Pierre’i ja Miqueloni standardaeg", "WAST": "Lääne-Aafrika suveaeg", "EST": "Idaranniku standardaeg", "PST": "Vaikse ookeani standardaeg", "AKST": "Alaska standardaeg", "CST": "Kesk-Ameerika standardaeg", "PDT": "Vaikse ookeani suveaeg", "HKST": "Hongkongi suveaeg", "CHAST": "Chathami standardaeg", "MESZ": "Kesk-Euroopa suveaeg", "WART": "Lääne-Argentina standardaeg", "HADT": "Hawaii-Aleuudi suveaeg", "HNT": "Newfoundlandi standardaeg", "ART": "Argentina standardaeg", "HNCU": "Kuuba standardaeg", "VET": "Venezuela aeg", "HEOG": "Lääne-Gröönimaa suveaeg", "AWDT": "Lääne-Austraalia suveaeg", "HNPMX": "Mehhiko Vaikse ookeani standardaeg", "NZST": "Uus-Meremaa standardaeg", "SAST": "Lõuna-Aafrika standardaeg", "TMT": "Türkmenistani standardaeg", "COT": "Colombia standardaeg", "MST": "MST", "AST": "Atlandi standardaeg", "WEZ": "Lääne-Euroopa standardaeg", "LHST": "Lord Howe’i standardaeg", "CAT": "Kesk-Aafrika aeg", "HNEG": "Ida-Gröönimaa standardaeg", "OESZ": "Ida-Euroopa suveaeg", "HAST": "Hawaii-Aleuudi standardaeg", "AEDT": "Ida-Austraalia suveaeg", "JST": "Jaapani standardaeg", "BOT": "Boliivia aeg", "WARST": "Lääne-Argentina suveaeg", "ACWST": "Kesk-Lääne Austraalia standardaeg", "NZDT": "Uus-Meremaa suveaeg", "CLT": "Tšiili standardaeg"}, } } @@ -434,7 +434,12 @@ func (et *et_EE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +453,12 @@ func (et *et_EE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (et *et_EE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, et.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,6 +489,10 @@ func (et *et_EE) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -491,6 +510,10 @@ func (et *et_EE) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -499,7 +522,7 @@ func (et *et_EE) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -515,6 +538,10 @@ func (et *et_EE) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -523,7 +550,7 @@ func (et *et_EE) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -543,6 +570,10 @@ func (et *et_EE) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, et.timeSeparator...) @@ -551,7 +582,7 @@ func (et *et_EE) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, et.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/eu/eu.go b/eu/eu.go index a06663234..558a82478 100644 --- a/eu/eu.go +++ b/eu/eu.go @@ -57,14 +57,14 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentPrefix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", monthsAbbreviated: []string{"", "urt.", "ots.", "mar.", "api.", "mai.", "eka.", "uzt.", "abu.", "ira.", "urr.", "aza.", "abe."}, monthsNarrow: []string{"", "U", "O", "M", "A", "M", "E", "U", "A", "I", "U", "A", "A"}, - monthsWide: []string{"", "urtarrilak", "otsailak", "martxoak", "apirilak", "maiatzak", "ekainak", "uztailak", "abuztuak", "irailak", "urriak", "azaroak", "abenduak"}, + monthsWide: []string{"", "urtarrila", "otsaila", "martxoa", "apirila", "maiatza", "ekaina", "uztaila", "abuztua", "iraila", "urria", "azaroa", "abendua"}, daysAbbreviated: []string{"ig.", "al.", "ar.", "az.", "og.", "or.", "lr."}, daysNarrow: []string{"I", "A", "A", "A", "O", "O", "L"}, daysShort: []string{"ig.", "al.", "ar.", "az.", "og.", "or.", "lr."}, @@ -74,8 +74,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"K.a.", "K.o."}, erasNarrow: []string{"", ""}, - erasWide: []string{"K.a.", "K.o."}, - timezones: map[string]string{"GYT": "Guyanako ordua", "SRT": "Surinamgo ordua", "WESZ": "Europa mendebaldeko udako ordua", "COT": "Kolonbiako ordu estandarra", "AEDT": "Australia ekialdeko udako ordua", "WARST": "Argentina mendebaldeko udako ordua", "EDT": "Ipar Amerikako ekialdeko udako ordua", "HKT": "Hong Kongo ordu estandarra", "ACDT": "Australia erdialdeko udako ordua", "LHST": "Lord Howeko ordu estandarra", "LHDT": "Lord Howeko udako ordua", "OESZ": "Europa ekialdeko udako ordua", "COST": "Kolonbiako udako ordua", "PDT": "Ipar Amerikako Pazifikoko udako ordua", "CLST": "Txileko udako ordua", "JST": "Japoniako ordu estandarra", "UYST": "Uruguayko udako ordua", "HKST": "Hong Kongo udako ordua", "WIB": "Indonesia mendebaldeko ordua", "AST": "Atlantikoko ordu estandarra", "IST": "Indiako ordua", "MST": "Ipar Amerikako mendialdeko ordu estandarra", "CDT": "Ipar Amerikako erdialdeko udako ordua", "CLT": "Txileko ordu estandarra", "WEZ": "Europa mendebaldeko ordu estandarra", "ARST": "Argentinako udako ordua", "WAST": "Afrika mendebaldeko udako ordua", "TMST": "Turkmenistango udako ordua", "WAT": "Afrika mendebaldeko ordu estandarra", "JDT": "Japoniako udako ordua", "ACST": "Australia erdialdeko ordu estandarra", "HAST": "Hawaii-Aleutiar uharteetako ordu estandarra", "AEST": "Australia ekialdeko ordu estandarra", "EAT": "Afrika ekialdeko ordua", "AWDT": "Australia mendebaldeko udako ordua", "OEZ": "Europa ekialdeko ordu estandarra", "ADT": "Atlantikoko udako ordua", "AKDT": "Alaskako udako ordua", "MYT": "Malaysiako ordua", "ACWST": "Australia erdi-mendebaldeko ordu estandarra", "NZDT": "Zeelanda Berriko udako ordua", "GFT": "Guyana Frantseseko ordua", "UYT": "Uruguayko ordu estandarra", "SGT": "Singapurreko ordu estandarra", "WART": "Argentina mendebaldeko ordu estandarra", "MDT": "Ipar Amerikako mendialdeko udako ordua", "BOT": "Boliviako ordua", "GMT": "Greenwich meridianoko ordua", "VET": "Venezuelako ordua", "HADT": "Hawaii-Aleutiar uharteetako udako ordua", "AKST": "Alaskako ordu estandarra", "NZST": "Zeelanda Berriko ordu estandarra", "BT": "Bhutango ordua", "SAST": "Afrika hegoaldeko ordua", "TMT": "Turkmenistango ordu estandarra", "CAT": "Afrika erdialdeko ordua", "ECT": "Ekuadorreko ordua", "EST": "Ipar Amerikako ekialdeko ordu estandarra", "CST": "Ipar Amerikako erdialdeko ordu estandarra", "HAT": "Ternuako udako ordua", "CHAST": "Chathamgo ordu estandarra", "CHADT": "Chathamgo udako ordua", "ART": "Argentinako ordu estandarra", "∅∅∅": "Peruko udako ordua", "AWST": "Australia mendebaldeko ordu estandarra", "WITA": "Indonesia erdialdeko ordua", "WIT": "Indonesia ekialdeko ordua", "HNT": "Ternuako ordu estandarra", "ACWDT": "Australia erdi-mendebaldeko udako ordua", "ChST": "Chamorroko ordu estandarra", "MESZ": "Europa erdialdeko udako ordua", "PST": "Ipar Amerikako Pazifikoko ordu estandarra", "MEZ": "Europa erdialdeko ordu estandarra"}, + erasWide: []string{"K.a.", "Kristo ondoren"}, + timezones: map[string]string{"HADT": "Hawaii-Aleutiar uharteetako udako ordutegia", "TMST": "Turkmenistango udako ordua", "OESZ": "Europa ekialdeko udako ordua", "HENOMX": "Mexikoko ipar-ekialdeko udako ordutegia", "AKDT": "Alaskako udako ordutegia", "ChST": "Chamorroko ordu estandarra", "HNEG": "Groenlandia ekialdeko ordutegi estandarra", "GYT": "Guyanako ordua", "TMT": "Turkmenistango ordu estandarra", "UYT": "Uruguayko ordu estandarra", "PST": "Ipar Amerikako Pazifikoko ordutegi estandarra", "UYST": "Uruguayko udako ordua", "LHDT": "Lord Howeko udako ordua", "CHADT": "Chathamgo udako ordua", "ECT": "Ekuadorreko ordua", "WARST": "Argentina mendebaldeko udako ordutegia", "ACWDT": "Australia erdi-mendebaldeko udako ordua", "HNT": "Ternuako ordutegi estandarra", "CLT": "Txileko ordu estandarra", "WIB": "Indonesia mendebaldeko ordua", "WIT": "Indonesia ekialdeko ordua", "PDT": "Ipar Amerikako Pazifikoko udako ordutegia", "MDT": "MDT", "ADT": "Atlantikoko udako ordutegia", "HAST": "Hawaii-Aleutiar uharteetako ordutegi estandarra", "BT": "Bhutango ordua", "LHST": "Lord Howeko ordu estandarra", "NZDT": "Zeelanda Berriko udako ordua", "CLST": "Txileko udako ordua", "WART": "Argentina mendebaldeko ordutegia estandarra", "HECU": "Kubako udako ordutegia", "AST": "Atlantikoko ordutegi estandarra", "HEOG": "Groenlandia mendebaldeko udako ordutegia", "MESZ": "Europa erdialdeko udako ordua", "CAT": "Afrika erdialdeko ordua", "WAT": "Afrika mendebaldeko ordu estandarra", "WAST": "Afrika mendebaldeko udako ordua", "EST": "Ipar Amerikako ekialdeko ordutegi estandarra", "CDT": "Ipar Amerikako erdialdeko udako ordutegia", "AEDT": "Australia ekialdeko udako ordua", "HEPMX": "Mexikoko Pazifikoko udako ordutegia", "HAT": "Ternuako udako ordutegia", "CHAST": "Chathamgo ordu estandarra", "JDT": "Japoniako udako ordua", "OEZ": "Europa ekialdeko ordu estandarra", "MST": "MST", "COT": "Kolonbiako ordu estandarra", "EDT": "Ipar Amerikako ekialdeko udako ordutegia", "ARST": "Argentinako udako ordutegia", "GMT": "Greenwich meridianoko ordua", "AWST": "Australia mendebaldeko ordu estandarra", "HNPM": "Saint-Pierre eta Mikeluneko ordutegi estandarra", "NZST": "Zeelanda Berriko ordu estandarra", "ACST": "Australia erdialdeko ordu estandarra", "EAT": "Afrika ekialdeko ordua", "MYT": "Malaysiako ordua", "VET": "Venezuelako ordua", "WEZ": "Europa mendebaldeko ordu estandarra", "HKT": "Hong Kongo ordu estandarra", "SRT": "Surinamgo ordua", "WESZ": "Europa mendebaldeko udako ordua", "HNOG": "Groenlandia mendebaldeko ordutegi estandarra", "AWDT": "Australia mendebaldeko udako ordua", "MEZ": "Europa erdialdeko ordu estandarra", "IST": "Indiako ordua", "∅∅∅": "Amazoniako udako ordutegia", "AKST": "Alaskako ordutegi estandarra", "ACWST": "Australia erdi-mendebaldeko ordu estandarra", "ART": "Argentinako ordutegi estandarra", "AEST": "Australia ekialdeko ordu estandarra", "HKST": "Hong Kongo udako ordua", "SAST": "Afrika hegoaldeko ordua", "SGT": "Singapurreko ordu estandarra", "HNPMX": "Mexikoko Pazifikoko ordutegi estandarra", "CST": "Ipar Amerikako erdialdeko ordu estandarra", "WITA": "Indonesia erdialdeko ordua", "COST": "Kolonbiako udako ordua", "HEPM": "Saint-Pierre eta Mikeluneko udako ordutegia", "BOT": "Boliviako ordutegia", "HEEG": "Groenlandia ekialdeko udako ordutegia", "ACDT": "Australia erdialdeko udako ordua", "JST": "Japoniako ordu estandarra", "GFT": "Guyana Frantseseko ordua", "HNNOMX": "Mexikoko ipar-ekialdeko ordutegi estandarra", "HNCU": "Kubako ordutegi estandarra"}, } } @@ -407,21 +407,15 @@ func (eu *eu) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x2f}...) - - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) @@ -432,7 +426,12 @@ func (eu *eu) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, eu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -446,7 +445,12 @@ func (eu *eu) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x28, 0x65}...) b = append(b, []byte{0x29, 0x6b, 0x6f}...) b = append(b, []byte{0x20}...) @@ -462,7 +466,12 @@ func (eu *eu) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x28, 0x65}...) b = append(b, []byte{0x29, 0x6b, 0x6f}...) b = append(b, []byte{0x20}...) diff --git a/eu_ES/eu_ES.go b/eu_ES/eu_ES.go index af7572119..94cd95047 100644 --- a/eu_ES/eu_ES.go +++ b/eu_ES/eu_ES.go @@ -57,14 +57,14 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentPrefix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", monthsAbbreviated: []string{"", "urt.", "ots.", "mar.", "api.", "mai.", "eka.", "uzt.", "abu.", "ira.", "urr.", "aza.", "abe."}, monthsNarrow: []string{"", "U", "O", "M", "A", "M", "E", "U", "A", "I", "U", "A", "A"}, - monthsWide: []string{"", "urtarrilak", "otsailak", "martxoak", "apirilak", "maiatzak", "ekainak", "uztailak", "abuztuak", "irailak", "urriak", "azaroak", "abenduak"}, + monthsWide: []string{"", "urtarrila", "otsaila", "martxoa", "apirila", "maiatza", "ekaina", "uztaila", "abuztua", "iraila", "urria", "azaroa", "abendua"}, daysAbbreviated: []string{"ig.", "al.", "ar.", "az.", "og.", "or.", "lr."}, daysNarrow: []string{"I", "A", "A", "A", "O", "O", "L"}, daysShort: []string{"ig.", "al.", "ar.", "az.", "og.", "or.", "lr."}, @@ -74,8 +74,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"K.a.", "K.o."}, erasNarrow: []string{"", ""}, - erasWide: []string{"K.a.", "K.o."}, - timezones: map[string]string{"ECT": "Ekuadorreko ordua", "WARST": "Argentina mendebaldeko udako ordua", "AKDT": "Alaskako udako ordua", "MYT": "Malaysiako ordua", "LHST": "Lord Howeko ordu estandarra", "JDT": "Japoniako udako ordua", "CLT": "Txileko ordu estandarra", "LHDT": "Lord Howeko udako ordua", "AKST": "Alaskako ordu estandarra", "MST": "Ipar Amerikako mendialdeko ordu estandarra", "VET": "Venezuelako ordua", "COT": "Kolonbiako ordu estandarra", "COST": "Kolonbiako udako ordua", "EDT": "Ipar Amerikako ekialdeko udako ordua", "IST": "Indiako ordua", "AWST": "Australia mendebaldeko ordu estandarra", "HKST": "Hong Kongo udako ordua", "EAT": "Afrika ekialdeko ordua", "SGT": "Singapurreko ordu estandarra", "HADT": "Hawaii-Aleutiar uharteetako udako ordua", "HNT": "Ternuako ordu estandarra", "TMT": "Turkmenistango ordu estandarra", "WESZ": "Europa mendebaldeko udako ordua", "CHADT": "Chathamgo udako ordua", "WART": "Argentina mendebaldeko ordu estandarra", "ACWST": "Australia erdi-mendebaldeko ordu estandarra", "WAT": "Afrika mendebaldeko ordu estandarra", "CDT": "Ipar Amerikako erdialdeko udako ordua", "GFT": "Guyana Frantseseko ordua", "ACWDT": "Australia erdi-mendebaldeko udako ordua", "AEST": "Australia ekialdeko ordu estandarra", "ART": "Argentinako ordu estandarra", "EST": "Ipar Amerikako ekialdeko ordu estandarra", "TMST": "Turkmenistango udako ordua", "CLST": "Txileko udako ordua", "AWDT": "Australia mendebaldeko udako ordua", "PDT": "Ipar Amerikako Pazifikoko udako ordua", "CAT": "Afrika erdialdeko ordua", "WEZ": "Europa mendebaldeko ordu estandarra", "MEZ": "Europa erdialdeko ordu estandarra", "ADT": "Atlantikoko udako ordua", "∅∅∅": "Azoreetako udako ordua", "NZST": "Zeelanda Berriko ordu estandarra", "UYT": "Uruguayko ordu estandarra", "JST": "Japoniako ordu estandarra", "ACST": "Australia erdialdeko ordu estandarra", "CST": "Ipar Amerikako erdialdeko ordu estandarra", "NZDT": "Zeelanda Berriko udako ordua", "UYST": "Uruguayko udako ordua", "ACDT": "Australia erdialdeko udako ordua", "PST": "Ipar Amerikako Pazifikoko ordu estandarra", "AST": "Atlantikoko ordu estandarra", "BOT": "Boliviako ordua", "GMT": "Greenwich meridianoko ordua", "WIT": "Indonesia ekialdeko ordua", "AEDT": "Australia ekialdeko udako ordua", "WAST": "Afrika mendebaldeko udako ordua", "GYT": "Guyanako ordua", "ChST": "Chamorroko ordu estandarra", "SAST": "Afrika hegoaldeko ordua", "HAT": "Ternuako udako ordua", "OESZ": "Europa ekialdeko udako ordua", "HKT": "Hong Kongo ordu estandarra", "CHAST": "Chathamgo ordu estandarra", "WIB": "Indonesia mendebaldeko ordua", "WITA": "Indonesia erdialdeko ordua", "BT": "Bhutango ordua", "SRT": "Surinamgo ordua", "MESZ": "Europa erdialdeko udako ordua", "HAST": "Hawaii-Aleutiar uharteetako ordu estandarra", "ARST": "Argentinako udako ordua", "MDT": "Ipar Amerikako mendialdeko udako ordua", "OEZ": "Europa ekialdeko ordu estandarra"}, + erasWide: []string{"K.a.", "Kristo ondoren"}, + timezones: map[string]string{"CAT": "Afrika erdialdeko ordua", "WIB": "Indonesia mendebaldeko ordua", "BT": "Bhutango ordua", "HEPM": "Saint-Pierre eta Mikeluneko udako ordutegia", "LHST": "Lord Howeko ordu estandarra", "LHDT": "Lord Howeko udako ordua", "ECT": "Ekuadorreko ordua", "WAST": "Afrika mendebaldeko udako ordua", "WEZ": "Europa mendebaldeko ordu estandarra", "CHAST": "Chathamgo ordu estandarra", "MEZ": "Europa erdialdeko ordu estandarra", "JST": "Japoniako ordu estandarra", "WAT": "Afrika mendebaldeko ordu estandarra", "PST": "Ipar Amerikako Pazifikoko ordutegi estandarra", "PDT": "Ipar Amerikako Pazifikoko udako ordutegia", "AKDT": "Alaskako udako ordutegia", "UYST": "Uruguayko udako ordua", "WESZ": "Europa mendebaldeko udako ordua", "ACWDT": "Australia erdi-mendebaldeko udako ordua", "AKST": "Alaskako ordutegi estandarra", "MESZ": "Europa erdialdeko udako ordua", "TMST": "Turkmenistango udako ordua", "HEPMX": "Mexikoko Pazifikoko udako ordutegia", "EDT": "Ipar Amerikako ekialdeko udako ordutegia", "OESZ": "Europa ekialdeko udako ordua", "CST": "Ipar Amerikako erdialdeko ordu estandarra", "HKT": "Hong Kongo ordu estandarra", "HNPM": "Saint-Pierre eta Mikeluneko ordutegi estandarra", "NZDT": "Zeelanda Berriko udako ordua", "SAST": "Afrika hegoaldeko ordua", "ACST": "Australia erdialdeko ordu estandarra", "HKST": "Hong Kongo udako ordua", "EAT": "Afrika ekialdeko ordua", "WARST": "Argentina mendebaldeko udako ordutegia", "AST": "Atlantikoko ordutegi estandarra", "HNT": "Ternuako ordutegi estandarra", "WIT": "Indonesia ekialdeko ordua", "AWDT": "Australia mendebaldeko udako ordua", "COT": "Kolonbiako ordu estandarra", "ACWST": "Australia erdi-mendebaldeko ordu estandarra", "AEDT": "Australia ekialdeko udako ordua", "ChST": "Chamorroko ordu estandarra", "CDT": "Ipar Amerikako erdialdeko udako ordutegia", "HNOG": "Groenlandia mendebaldeko ordutegi estandarra", "CLST": "Txileko udako ordua", "AEST": "Australia ekialdeko ordu estandarra", "HADT": "Hawaii-Aleutiar uharteetako udako ordutegia", "WITA": "Indonesia erdialdeko ordua", "GMT": "Greenwich meridianoko ordua", "MST": "MST", "HNPMX": "Mexikoko Pazifikoko ordutegi estandarra", "UYT": "Uruguayko ordu estandarra", "HAST": "Hawaii-Aleutiar uharteetako ordutegi estandarra", "HAT": "Ternuako udako ordutegia", "IST": "Indiako ordua", "GFT": "Guyana Frantseseko ordua", "HENOMX": "Mexikoko ipar-ekialdeko udako ordutegia", "VET": "Venezuelako ordua", "MYT": "Malaysiako ordua", "HEOG": "Groenlandia mendebaldeko udako ordutegia", "NZST": "Zeelanda Berriko ordu estandarra", "CLT": "Txileko ordu estandarra", "EST": "Ipar Amerikako ekialdeko ordutegi estandarra", "GYT": "Guyanako ordua", "SRT": "Surinamgo ordua", "ARST": "Argentinako udako ordutegia", "BOT": "Boliviako ordutegia", "COST": "Kolonbiako udako ordua", "HECU": "Kubako udako ordutegia", "ADT": "Atlantikoko udako ordutegia", "SGT": "Singapurreko ordu estandarra", "HNCU": "Kubako ordutegi estandarra", "MDT": "MDT", "ART": "Argentinako ordutegi estandarra", "TMT": "Turkmenistango ordu estandarra", "ACDT": "Australia erdialdeko udako ordua", "OEZ": "Europa ekialdeko ordu estandarra", "HNNOMX": "Mexikoko ipar-ekialdeko ordutegi estandarra", "HEEG": "Groenlandia ekialdeko udako ordutegia", "WART": "Argentina mendebaldeko ordutegia estandarra", "AWST": "Australia mendebaldeko ordu estandarra", "CHADT": "Chathamgo udako ordua", "∅∅∅": "Amazoniako udako ordutegia", "JDT": "Japoniako udako ordua", "HNEG": "Groenlandia ekialdeko ordutegi estandarra"}, } } @@ -407,21 +407,15 @@ func (eu *eu_ES) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x2f}...) - - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) @@ -432,7 +426,12 @@ func (eu *eu_ES) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, eu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -446,7 +445,12 @@ func (eu *eu_ES) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x28, 0x65}...) b = append(b, []byte{0x29, 0x6b, 0x6f}...) b = append(b, []byte{0x20}...) @@ -462,7 +466,12 @@ func (eu *eu_ES) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x28, 0x65}...) b = append(b, []byte{0x29, 0x6b, 0x6f}...) b = append(b, []byte{0x20}...) diff --git a/ewo/ewo.go b/ewo/ewo.go index 0413dca57..66bec8f13 100644 --- a/ewo/ewo.go +++ b/ewo/ewo.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ngo", "ngb", "ngl", "ngn", "ngt", "ngs", "ngz", "ngm", "nge", "nga", "ngad", "ngab"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"oyk", "ayk"}, erasNarrow: []string{"", ""}, erasWide: []string{"osúsúa Yésus kiri", "ámvus Yésus Kirís"}, - timezones: map[string]string{"UYST": "UYST", "HKT": "HKT", "MEZ": "MEZ", "SAST": "SAST", "CDT": "CDT", "MESZ": "MESZ", "ACST": "ACST", "CLT": "CLT", "TMT": "TMT", "HNT": "HNT", "AKST": "AKST", "CST": "CST", "GFT": "GFT", "COST": "COST", "AKDT": "AKDT", "TMST": "TMST", "SRT": "SRT", "AEDT": "AEDT", "SGT": "SGT", "ART": "ART", "WAST": "WAST", "WITA": "WITA", "LHST": "LHST", "LHDT": "LHDT", "OESZ": "OESZ", "CHADT": "CHADT", "ACDT": "ACDT", "COT": "COT", "CLST": "CLST", "EDT": "EDT", "PST": "PST", "BOT": "BOT", "AWDT": "AWDT", "HAT": "HAT", "JST": "JST", "VET": "VET", "WARST": "WARST", "EST": "EST", "GYT": "GYT", "AWST": "AWST", "∅∅∅": "∅∅∅", "ECT": "ECT", "AEST": "AEST", "IST": "IST", "MST": "MST", "MDT": "MDT", "BT": "BT", "WESZ": "WESZ", "ChST": "ChST", "UYT": "UYT", "CHAST": "CHAST", "HADT": "HADT", "EAT": "EAT", "PDT": "PDT", "NZST": "NZST", "NZDT": "NZDT", "JDT": "JDT", "MYT": "MYT", "WIT": "WIT", "GMT": "GMT", "OEZ": "OEZ", "WEZ": "WEZ", "ACWDT": "ACWDT", "WAT": "WAT", "ADT": "ADT", "CAT": "CAT", "HKST": "HKST", "WIB": "WIB", "HAST": "HAST", "ACWST": "ACWST", "ARST": "ARST", "WART": "WART", "AST": "AST"}, + timezones: map[string]string{"AKST": "AKST", "HNOG": "HNOG", "WITA": "WITA", "CAT": "CAT", "HNPMX": "HNPMX", "ACWST": "ACWST", "CHADT": "CHADT", "HEPM": "HEPM", "MEZ": "MEZ", "MESZ": "MESZ", "HEEG": "HEEG", "TMST": "TMST", "MDT": "MDT", "UYT": "UYT", "PST": "PST", "WAST": "WAST", "EDT": "EDT", "HKT": "HKT", "HNEG": "HNEG", "NZST": "NZST", "CHAST": "CHAST", "WART": "WART", "ADT": "ADT", "HADT": "HADT", "VET": "VET", "WAT": "WAT", "ACWDT": "ACWDT", "HAT": "HAT", "CLT": "CLT", "LHDT": "LHDT", "JST": "JST", "ACDT": "ACDT", "EAT": "EAT", "COST": "COST", "MST": "MST", "AKDT": "AKDT", "WIT": "WIT", "WARST": "WARST", "EST": "EST", "WEZ": "WEZ", "JDT": "JDT", "LHST": "LHST", "BOT": "BOT", "GFT": "GFT", "TMT": "TMT", "OEZ": "OEZ", "HNCU": "HNCU", "AEST": "AEST", "AWDT": "AWDT", "COT": "COT", "HNNOMX": "HNNOMX", "GYT": "GYT", "WESZ": "WESZ", "ChST": "ChST", "WIB": "WIB", "CLST": "CLST", "HENOMX": "HENOMX", "IST": "IST", "HAST": "HAST", "PDT": "PDT", "HKST": "HKST", "HEOG": "HEOG", "HNT": "HNT", "ARST": "ARST", "AEDT": "AEDT", "HNPM": "HNPM", "HECU": "HECU", "BT": "BT", "SRT": "SRT", "NZDT": "NZDT", "SAST": "SAST", "ACST": "ACST", "OESZ": "OESZ", "ECT": "ECT", "GMT": "GMT", "HEPMX": "HEPMX", "AST": "AST", "SGT": "SGT", "∅∅∅": "∅∅∅", "MYT": "MYT", "ART": "ART", "AWST": "AWST", "UYST": "UYST", "CST": "CST", "CDT": "CDT"}, } } @@ -383,7 +383,12 @@ func (ewo *ewo) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -397,7 +402,12 @@ func (ewo *ewo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -411,7 +421,12 @@ func (ewo *ewo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -427,7 +442,12 @@ func (ewo *ewo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ewo_CM/ewo_CM.go b/ewo_CM/ewo_CM.go index 4ce3f33ad..2213149f7 100644 --- a/ewo_CM/ewo_CM.go +++ b/ewo_CM/ewo_CM.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ngo", "ngb", "ngl", "ngn", "ngt", "ngs", "ngz", "ngm", "nge", "nga", "ngad", "ngab"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"oyk", "ayk"}, erasNarrow: []string{"", ""}, erasWide: []string{"osúsúa Yésus kiri", "ámvus Yésus Kirís"}, - timezones: map[string]string{"MDT": "MDT", "HNT": "HNT", "LHST": "LHST", "GFT": "GFT", "VET": "VET", "ART": "ART", "EAT": "EAT", "CST": "CST", "WITA": "WITA", "NZST": "NZST", "CHAST": "CHAST", "CHADT": "CHADT", "ACST": "ACST", "ACWST": "ACWST", "ACWDT": "ACWDT", "ARST": "ARST", "WIB": "WIB", "MESZ": "MESZ", "HADT": "HADT", "PDT": "PDT", "CLST": "CLST", "MYT": "MYT", "NZDT": "NZDT", "BOT": "BOT", "BT": "BT", "AWST": "AWST", "AEST": "AEST", "WART": "WART", "AST": "AST", "GMT": "GMT", "SGT": "SGT", "AKDT": "AKDT", "HAT": "HAT", "JST": "JST", "COST": "COST", "MST": "MST", "HKT": "HKT", "COT": "COT", "WAT": "WAT", "UYT": "UYT", "AWDT": "AWDT", "WEZ": "WEZ", "WESZ": "WESZ", "HKST": "HKST", "EST": "EST", "CDT": "CDT", "CAT": "CAT", "SRT": "SRT", "ECT": "ECT", "WARST": "WARST", "EDT": "EDT", "PST": "PST", "∅∅∅": "∅∅∅", "ChST": "ChST", "WIT": "WIT", "LHDT": "LHDT", "UYST": "UYST", "SAST": "SAST", "IST": "IST", "TMT": "TMT", "OEZ": "OEZ", "OESZ": "OESZ", "WAST": "WAST", "AKST": "AKST", "AEDT": "AEDT", "ADT": "ADT", "MEZ": "MEZ", "TMST": "TMST", "GYT": "GYT", "ACDT": "ACDT", "HAST": "HAST", "CLT": "CLT", "JDT": "JDT"}, + timezones: map[string]string{"WARST": "WARST", "WESZ": "WESZ", "AWST": "AWST", "HKT": "HKT", "HEPM": "HEPM", "NZST": "NZST", "CLT": "CLT", "TMST": "TMST", "CHAST": "CHAST", "WART": "WART", "UYT": "UYT", "UYST": "UYST", "ACWDT": "ACWDT", "ACST": "ACST", "HENOMX": "HENOMX", "HAT": "HAT", "MEZ": "MEZ", "HEEG": "HEEG", "SRT": "SRT", "WAT": "WAT", "AKDT": "AKDT", "HAST": "HAST", "PST": "PST", "TMT": "TMT", "EAT": "EAT", "AKST": "AKST", "ADT": "ADT", "AWDT": "AWDT", "WITA": "WITA", "HNCU": "HNCU", "HECU": "HECU", "WIB": "WIB", "ART": "ART", "IST": "IST", "SAST": "SAST", "EST": "EST", "GYT": "GYT", "HNT": "HNT", "LHST": "LHST", "OEZ": "OEZ", "HNPMX": "HNPMX", "∅∅∅": "∅∅∅", "CHADT": "CHADT", "BOT": "BOT", "AST": "AST", "BT": "BT", "WEZ": "WEZ", "HNOG": "HNOG", "HEOG": "HEOG", "PDT": "PDT", "HKST": "HKST", "CLST": "CLST", "HADT": "HADT", "HNPM": "HNPM", "MESZ": "MESZ", "MYT": "MYT", "AEST": "AEST", "JST": "JST", "CDT": "CDT", "MST": "MST", "ARST": "ARST", "LHDT": "LHDT", "GFT": "GFT", "WAST": "WAST", "CAT": "CAT", "COST": "COST", "HEPMX": "HEPMX", "EDT": "EDT", "VET": "VET", "ChST": "ChST", "ACDT": "ACDT", "SGT": "SGT", "GMT": "GMT", "CST": "CST", "WIT": "WIT", "AEDT": "AEDT", "OESZ": "OESZ", "COT": "COT", "HNNOMX": "HNNOMX", "ACWST": "ACWST", "JDT": "JDT", "ECT": "ECT", "NZDT": "NZDT", "HNEG": "HNEG", "MDT": "MDT"}, } } @@ -383,7 +383,12 @@ func (ewo *ewo_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -397,7 +402,12 @@ func (ewo *ewo_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -411,7 +421,12 @@ func (ewo *ewo_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -427,7 +442,12 @@ func (ewo *ewo_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ewo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fa/fa.go b/fa/fa.go index 91bfb19c2..951a3b18f 100644 --- a/fa/fa.go +++ b/fa/fa.go @@ -51,11 +51,11 @@ func New() locales.Translator { decimal: "٫", group: "٬", minus: "‎−", - percent: "٪", + percent: "‎٪", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥CN", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "ریال", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$EC", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥CN", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "ریال", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "$EC", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: "‎", currencyNegativePrefix: "‎", monthsAbbreviated: []string{"", "ژانویهٔ", "فوریهٔ", "مارس", "آوریل", "مهٔ", "ژوئن", "ژوئیهٔ", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ق.م.", "م."}, erasNarrow: []string{"ق", "م"}, erasWide: []string{"قبل از میلاد", "میلادی"}, - timezones: map[string]string{"CLT": "وقت عادی شیلی", "CAT": "وقت مرکز افریقا", "HADT": "وقت تابستانی هاوایی‐الوشن", "AST": "وقت عادی آتلانتیک", "WAT": "وقت عادی غرب افریقا", "MST": "وقت عادی کوهستانی امریکا", "NZST": "وقت عادی زلاند نو", "LHDT": "وقت تابستانی لردهو", "ECT": "وقت اکوادور", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا", "WITA": "وقت مرکز اندونزی", "CDT": "وقت تابستانی مرکز امریکا", "HAT": "وقت تابستانی نیوفاندلند", "HKT": "وقت عادی هنگ\u200cکنگ", "∅∅∅": "وقت تابستانی آزور", "WEZ": "وقت عادی غرب اروپا", "ACWST": "وقت عادی مرکز-غرب استرالیا", "GFT": "وقت گویان فرانسه", "AEDT": "وقت تابستانی شرق استرالیا", "EDT": "وقت تابستانی شرق امریکا", "TMT": "وقت عادی ترکمنستان", "ChST": "وقت عادی چامورو", "AWST": "وقت عادی غرب استرالیا", "EAT": "وقت شرق افریقا", "TMST": "وقت تابستانی ترکمنستان", "HKST": "وقت تابستانی هنگ\u200cکنگ", "ADT": "وقت تابستانی آتلانتیک", "AWDT": "وقت تابستانی غرب استرالیا", "SGT": "وقت سنگاپور", "IST": "وقت هند", "OESZ": "وقت تابستانی شرق اروپا", "ACDT": "وقت تابستانی مرکز استرالیا", "AEST": "وقت عادی شرق استرالیا", "PDT": "وقت تابستانی غرب امریکا", "CLST": "وقت تابستانی شیلی", "BT": "وقت بوتان", "OEZ": "وقت عادی شرق اروپا", "CHADT": "وقت تابستانی چت\u200cهام", "VET": "وقت ونزوئلا", "COT": "وقت عادی کلمبیا", "EST": "وقت عادی شرق امریکا", "CST": "وقت عادی مرکز امریکا", "MDT": "وقت تابستانی کوهستانی امریکا", "LHST": "وقت عادی لردهو", "WART": "وقت عادی غرب آرژانتین", "GYT": "وقت گویان", "UYT": "وقت عادی اروگوئه", "WIB": "وقت غرب اندونزی", "MESZ": "وقت تابستانی مرکز اروپا", "ARST": "وقت تابستانی آرژانتین", "WAST": "وقت تابستانی غرب افریقا", "GMT": "وقت گرینویچ", "WESZ": "وقت تابستانی غرب اروپا", "WARST": "وقت تابستانی غرب آرژانتین", "JDT": "وقت تابستانی ژاپن", "CHAST": "وقت عادی چت\u200cهام", "MEZ": "وقت عادی مرکز اروپا", "PST": "وقت عادی غرب امریکا", "NZDT": "وقت تابستانی زلاند نو", "WIT": "وقت شرق اندونزی", "UYST": "وقت تابستانی اروگوئه", "SRT": "وقت سورینام", "AKST": "وقت عادی آلاسکا", "MYT": "وقت مالزی", "BOT": "وقت بولیوی", "HNT": "وقت عادی نیوفاندلند", "AKDT": "وقت تابستانی آلاسکا", "COST": "وقت تابستانی کلمبیا", "HAST": "وقت عادی هاوایی‐الوشن", "ART": "وقت عادی آرژانتین", "SAST": "وقت عادی جنوب افریقا", "JST": "وقت عادی ژاپن", "ACST": "وقت عادی مرکز استرالیا"}, + timezones: map[string]string{"HADT": "وقت تابستانی هاوایی‐الوشن", "OESZ": "وقت تابستانی شرق اروپا", "ECT": "وقت اکوادور", "HNNOMX": "وقت عادی شمال غرب مکزیک", "HENOMX": "وقت تابستانی شمال غرب مکزیک", "HNPMX": "وقت عادی شرق مکزیک", "MDT": "وقت تابستانی کوهستانی امریکا", "ACWST": "وقت عادی مرکز-غرب استرالیا", "HNOG": "وقت عادی غرب گرینلند", "WITA": "وقت مرکز اندونزی", "NZDT": "وقت تابستانی زلاند نو", "IST": "وقت هند", "WARST": "وقت تابستانی غرب آرژانتین", "BT": "وقت بوتان", "PDT": "وقت تابستانی غرب امریکا", "HEOG": "وقت تابستانی غرب گرینلند", "MESZ": "وقت تابستانی مرکز اروپا", "HEEG": "وقت تابستانی شرق گرینلند", "ACST": "وقت عادی مرکز استرالیا", "PST": "وقت عادی غرب امریکا", "AWDT": "وقت تابستانی غرب استرالیا", "JST": "وقت عادی ژاپن", "WAST": "وقت تابستانی غرب افریقا", "COT": "وقت عادی کلمبیا", "EDT": "وقت تابستانی شرق امریکا", "GFT": "وقت گویان فرانسه", "EAT": "وقت شرق افریقا", "OEZ": "وقت عادی شرق اروپا", "AKST": "وقت عادی آلاسکا", "SRT": "وقت سورینام", "SGT": "وقت سنگاپور", "UYST": "وقت تابستانی اروگوئه", "HAST": "وقت عادی هاوایی‐الوشن", "HNPM": "وقت عادی سنت\u200cپیر و میکلون", "JDT": "وقت تابستانی ژاپن", "TMT": "وقت عادی ترکمنستان", "MYT": "وقت مالزی", "CLST": "وقت تابستانی شیلی", "∅∅∅": "وقت تابستانی آمازون", "HAT": "وقت تابستانی نیوفاندلند", "EST": "وقت عادی شرق امریکا", "UYT": "وقت عادی اروگوئه", "CDT": "وقت تابستانی مرکز امریکا", "AST": "وقت عادی آتلانتیک", "CST": "وقت عادی مرکز امریکا", "WIB": "وقت غرب اندونزی", "HNT": "وقت عادی نیوفاندلند", "ARST": "وقت تابستانی آرژانتین", "HKT": "وقت عادی هنگ\u200cکنگ", "SAST": "وقت عادی جنوب افریقا", "ChST": "وقت عادی چامورو", "HNCU": "وقت عادی کوبا", "LHDT": "وقت تابستانی لردهو", "ADT": "وقت تابستانی آتلانتیک", "WEZ": "وقت عادی غرب اروپا", "MEZ": "وقت عادی مرکز اروپا", "TMST": "وقت تابستانی ترکمنستان", "GMT": "وقت گرینویچ", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا", "CAT": "وقت مرکز افریقا", "WAT": "وقت عادی غرب افریقا", "WART": "وقت عادی غرب آرژانتین", "COST": "وقت تابستانی کلمبیا", "HEPMX": "وقت تابستانی شرق مکزیک", "MST": "وقت عادی کوهستانی امریکا", "VET": "وقت ونزوئلا", "ART": "وقت عادی آرژانتین", "HEPM": "وقت تابستانی سنت\u200cپیر و میکلون", "LHST": "وقت عادی لردهو", "NZST": "وقت عادی زلاند نو", "HECU": "وقت تابستانی کوبا", "AKDT": "وقت تابستانی آلاسکا", "ACDT": "وقت تابستانی مرکز استرالیا", "WESZ": "وقت تابستانی غرب اروپا", "AEDT": "وقت تابستانی شرق استرالیا", "CHAST": "وقت عادی چت\u200cهام", "CHADT": "وقت تابستانی چت\u200cهام", "CLT": "وقت عادی شیلی", "BOT": "وقت بولیوی", "HNEG": "وقت عادی شرق گرینلند", "WIT": "وقت شرق اندونزی", "AEST": "وقت عادی شرق استرالیا", "AWST": "وقت عادی غرب استرالیا", "HKST": "وقت تابستانی هنگ\u200cکنگ", "GYT": "وقت گویان"}, } } @@ -239,7 +239,7 @@ func (fa *fa) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (fa *fa) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 10 + l := len(s) + 13 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -422,7 +422,12 @@ func (fa *fa) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -440,7 +445,12 @@ func (fa *fa) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +464,12 @@ func (fa *fa) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +485,12 @@ func (fa *fa) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fa_AF/fa_AF.go b/fa_AF/fa_AF.go index 47f08b64e..b76b3f0f0 100644 --- a/fa_AF/fa_AF.go +++ b/fa_AF/fa_AF.go @@ -51,13 +51,13 @@ func New() locales.Translator { decimal: "٫", group: "٬", minus: "‎−", - percent: "٪", + percent: "‎٪", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: "‎", - currencyNegativePrefix: "‎", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositivePrefix: " ", + currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "جنو", "فبروری", "مارچ", "اپریل", "می", "جون", "جول", "اگست", "سپتمبر", "اکتوبر", "نومبر", "دسم"}, monthsNarrow: []string{"", "ج", "ف", "م", "ا", "م", "ج", "ج", "ا", "س", "ا", "ن", "د"}, monthsWide: []string{"", "جنوری", "فبروری", "مارچ", "اپریل", "می", "جون", "جولای", "اگست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"ی", "د", "س", "چ", "پ", "ج", "ش"}, daysShort: []string{"۱ش", "۲ش", "۳ش", "۴ش", "۵ش", "ج", "ش"}, daysWide: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, - periodsAbbreviated: []string{"ق.ظ.", "ب.ظ."}, - periodsNarrow: []string{"ق", "ب"}, - periodsWide: []string{"قبل\u200cازظهر", "بعدازظهر"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"", ""}, erasAbbreviated: []string{"ق.م.", "م."}, erasNarrow: []string{"ق", "م"}, erasWide: []string{"قبل از میلاد", "میلادی"}, - timezones: map[string]string{"MYT": "وقت مالزی", "MDT": "وقت تابستانی کوهستانی امریکا", "COST": "وقت تابستانی کلمبیا", "AWDT": "وقت تابستانی غرب استرالیا", "COT": "وقت عادی کلمبیا", "WARST": "وقت تابستانی غرب آرژانتین", "AKST": "وقت عادی آلاسکا", "EAT": "وقت شرق افریقا", "WITA": "وقت مرکز اندونزی", "MST": "وقت عادی کوهستانی امریکا", "TMST": "وقت تابستانی ترکمنستان", "CST": "وقت عادی مرکز امریکا", "CLST": "وقت تابستانی شیلی", "HKST": "وقت تابستانی هنگ\u200cکنگ", "LHST": "وقت عادی لردهو", "SRT": "وقت سورینام", "VET": "وقت ونزوئلا", "ARST": "وقت تابستانی آرژانتین", "PST": "وقت عادی غرب امریکا", "WAST": "وقت تابستانی غرب افریقا", "AWST": "وقت عادی غرب استرالیا", "GMT": "وقت گرینویچ", "ACST": "وقت عادی مرکز استرالیا", "WART": "وقت عادی غرب آرژانتین", "AKDT": "وقت تابستانی آلاسکا", "EDT": "وقت تابستانی شرق امریکا", "WIB": "وقت غرب اندونزی", "ACDT": "وقت تابستانی مرکز استرالیا", "WAT": "وقت عادی غرب افریقا", "CLT": "وقت عادی شیلی", "WIT": "وقت شرق اندونزی", "WESZ": "وقت تابستانی غرب اروپا", "MESZ": "وقت تابستانی مرکز اروپا", "IST": "وقت هند", "EST": "وقت عادی شرق امریکا", "HNT": "وقت عادی نیوفاندلند", "MEZ": "وقت عادی مرکز اروپا", "ECT": "وقت اکوادور", "ADT": "وقت تابستانی آتلانتیک", "SAST": "وقت عادی جنوب افریقا", "NZST": "وقت عادی زلاند نو", "NZDT": "وقت تابستانی زلاند نو", "JDT": "وقت تابستانی ژاپن", "TMT": "وقت عادی ترکمنستان", "OEZ": "وقت عادی شرق اروپا", "WEZ": "وقت عادی غرب اروپا", "HKT": "وقت عادی هنگ\u200cکنگ", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا", "AST": "وقت عادی آتلانتیک", "UYT": "وقت عادی اروگوئه", "CHAST": "وقت عادی چت\u200cهام", "OESZ": "وقت تابستانی شرق اروپا", "CHADT": "وقت تابستانی چت\u200cهام", "GFT": "وقت گویان فرانسه", "HAST": "وقت عادی هاوایی‐الوشن", "BOT": "وقت بولیوی", "HAT": "وقت تابستانی نیوفاندلند", "BT": "وقت بوتان", "LHDT": "وقت تابستانی لردهو", "AEST": "وقت عادی شرق استرالیا", "AEDT": "وقت تابستانی شرق استرالیا", "JST": "وقت عادی ژاپن", "SGT": "وقت سنگاپور", "PDT": "وقت تابستانی غرب امریکا", "GYT": "وقت گویان", "CAT": "وقت مرکز افریقا", "UYST": "وقت تابستانی اروگوئه", "ACWST": "وقت عادی مرکز-غرب استرالیا", "CDT": "وقت تابستانی مرکز امریکا", "ART": "وقت عادی آرژانتین", "HADT": "وقت تابستانی هاوایی‐الوشن", "∅∅∅": "وقت تابستانی آزور", "ChST": "وقت عادی چامورو"}, + timezones: map[string]string{"ARST": "وقت تابستانی آرژانتین", "LHST": "وقت عادی لردهو", "CHADT": "وقت تابستانی چت\u200cهام", "SGT": "وقت سنگاپور", "∅∅∅": "وقت تابستانی آمازون", "ACDT": "وقت تابستانی مرکز استرالیا", "AWDT": "وقت تابستانی غرب استرالیا", "HKST": "وقت تابستانی هنگ\u200cکنگ", "AST": "وقت عادی آتلانتیک", "GYT": "وقت گویان", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا", "WITA": "وقت مرکز اندونزی", "MST": "وقت عادی ماکائو", "HADT": "وقت تابستانی هاوایی‐الوشن", "ACWST": "وقت عادی مرکز-غرب استرالیا", "ART": "وقت عادی آرژانتین", "CLST": "وقت تابستانی شیلی", "OESZ": "وقت تابستانی شرق اروپا", "CST": "وقت عادی مرکز امریکا", "WIB": "وقت غرب اندونزی", "PDT": "وقت تابستانی غرب امریکا", "HECU": "وقت تابستانی کوبا", "NZST": "وقت عادی زلاند نو", "VET": "وقت ونزوئلا", "IST": "وقت هند", "JDT": "وقت تابستانی ژاپن", "BT": "وقت بوتان", "SRT": "وقت سورینام", "WEZ": "وقت عادی غرب اروپا", "AWST": "وقت عادی غرب استرالیا", "HEPM": "وقت تابستانی سنت\u200cپیر و میکلون", "MEZ": "وقت عادی مرکز اروپا", "TMST": "وقت تابستانی ترکمنستان", "HNNOMX": "وقت عادی شمال غرب مکزیک", "HENOMX": "وقت تابستانی شمال غرب مکزیک", "EDT": "وقت تابستانی شرق امریکا", "LHDT": "وقت تابستانی لردهو", "WAT": "وقت عادی غرب افریقا", "MDT": "وقت تابستانی ماکائو", "ADT": "وقت تابستانی آتلانتیک", "HAST": "وقت عادی هاوایی‐الوشن", "MESZ": "وقت تابستانی مرکز اروپا", "GFT": "وقت گویان فرانسه", "ACST": "وقت عادی مرکز استرالیا", "ECT": "وقت اکوادور", "WESZ": "وقت تابستانی غرب اروپا", "HAT": "وقت تابستانی نیوفاندلند", "HEOG": "وقت تابستانی غرب گرینلند", "AEDT": "وقت تابستانی شرق استرالیا", "JST": "وقت عادی ژاپن", "ChST": "وقت عادی چامورو", "CAT": "وقت مرکز افریقا", "COT": "وقت عادی کلمبیا", "HNPMX": "وقت عادی شرق مکزیک", "HEPMX": "وقت تابستانی شرق مکزیک", "MYT": "وقت مالزی", "NZDT": "وقت تابستانی زلاند نو", "HEEG": "وقت تابستانی شرق گرینلند", "WARST": "وقت تابستانی غرب آرژانتین", "COST": "وقت تابستانی کلمبیا", "HNCU": "وقت عادی کوبا", "EST": "وقت عادی شرق امریکا", "UYT": "وقت عادی اروگوئه", "UYST": "وقت تابستانی اروگوئه", "CDT": "وقت تابستانی مرکز امریکا", "WIT": "وقت شرق اندونزی", "PST": "وقت عادی غرب امریکا", "HKT": "وقت عادی هنگ\u200cکنگ", "CLT": "وقت عادی شیلی", "HNEG": "وقت عادی شرق گرینلند", "TMT": "وقت عادی ترکمنستان", "AKST": "وقت عادی آلاسکا", "HNT": "وقت عادی نیوفاندلند", "HNOG": "وقت عادی غرب گرینلند", "CHAST": "وقت عادی چت\u200cهام", "SAST": "وقت عادی جنوب افریقا", "WART": "وقت عادی غرب آرژانتین", "AKDT": "وقت تابستانی آلاسکا", "GMT": "وقت گرینویچ", "AEST": "وقت عادی شرق استرالیا", "HNPM": "وقت عادی سنت\u200cپیر و میکلون", "BOT": "وقت بولیوی", "EAT": "وقت شرق افریقا", "WAST": "وقت تابستانی غرب افریقا", "OEZ": "وقت عادی شرق اروپا"}, } } @@ -239,7 +239,7 @@ func (fa *fa_AF) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (fa *fa_AF) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 10 + l := len(s) + 13 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -275,7 +275,7 @@ func (fa *fa_AF) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := fa.currencies[currency] - l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 10 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -343,7 +343,7 @@ func (fa *fa_AF) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := fa.currencies[currency] - l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 10 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -422,7 +422,12 @@ func (fa *fa_AF) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -440,7 +445,12 @@ func (fa *fa_AF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +464,12 @@ func (fa *fa_AF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +485,12 @@ func (fa *fa_AF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fa_IR/fa_IR.go b/fa_IR/fa_IR.go index 3a23acde8..5d1b1d84c 100644 --- a/fa_IR/fa_IR.go +++ b/fa_IR/fa_IR.go @@ -51,11 +51,11 @@ func New() locales.Translator { decimal: "٫", group: "٬", minus: "‎−", - percent: "٪", + percent: "‎٪", perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: "‎", currencyNegativePrefix: "‎", monthsAbbreviated: []string{"", "ژانویهٔ", "فوریهٔ", "مارس", "آوریل", "مهٔ", "ژوئن", "ژوئیهٔ", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ق.م.", "م."}, erasNarrow: []string{"ق", "م"}, erasWide: []string{"قبل از میلاد", "میلادی"}, - timezones: map[string]string{"BT": "وقت بوتان", "ARST": "وقت تابستانی آرژانتین", "WART": "وقت عادی غرب آرژانتین", "WARST": "وقت تابستانی غرب آرژانتین", "WITA": "وقت مرکز اندونزی", "GYT": "وقت گویان", "CHADT": "وقت تابستانی چت\u200cهام", "COT": "وقت عادی کلمبیا", "SAST": "وقت عادی جنوب افریقا", "BOT": "وقت بولیوی", "AWST": "وقت عادی غرب استرالیا", "MEZ": "وقت عادی مرکز اروپا", "MESZ": "وقت تابستانی مرکز اروپا", "AEST": "وقت عادی شرق استرالیا", "VET": "وقت ونزوئلا", "SGT": "وقت سنگاپور", "AEDT": "وقت تابستانی شرق استرالیا", "ADT": "وقت تابستانی آتلانتیک", "MST": "وقت عادی کوهستانی امریکا", "AWDT": "وقت تابستانی غرب استرالیا", "GMT": "وقت گرینویچ", "WIB": "وقت غرب اندونزی", "HAST": "وقت عادی هاوایی‐الوشن", "AKDT": "وقت تابستانی آلاسکا", "PST": "وقت عادی غرب امریکا", "CHAST": "وقت عادی چت\u200cهام", "IST": "وقت هند", "WAST": "وقت تابستانی غرب افریقا", "CST": "وقت عادی مرکز امریکا", "WIT": "وقت شرق اندونزی", "ART": "وقت عادی آرژانتین", "WAT": "وقت عادی غرب افریقا", "MDT": "وقت تابستانی کوهستانی امریکا", "NZST": "وقت عادی زلاند نو", "CAT": "وقت مرکز افریقا", "JDT": "وقت تابستانی ژاپن", "LHST": "وقت عادی لردهو", "WESZ": "وقت تابستانی غرب اروپا", "TMT": "وقت عادی ترکمنستان", "CDT": "وقت تابستانی مرکز امریکا", "EAT": "وقت شرق افریقا", "MYT": "وقت مالزی", "ChST": "وقت عادی چامورو", "LHDT": "وقت تابستانی لردهو", "HKT": "وقت عادی هنگ\u200cکنگ", "ECT": "وقت اکوادور", "ACST": "وقت عادی مرکز استرالیا", "PDT": "وقت تابستانی غرب امریکا", "HAT": "وقت تابستانی نیوفاندلند", "CLT": "وقت عادی شیلی", "AKST": "وقت عادی آلاسکا", "TMST": "وقت تابستانی ترکمنستان", "OEZ": "وقت عادی شرق اروپا", "EST": "وقت عادی شرق امریکا", "HNT": "وقت عادی نیوفاندلند", "∅∅∅": "وقت تابستانی برازیلیا", "SRT": "وقت سورینام", "COST": "وقت تابستانی کلمبیا", "ACDT": "وقت تابستانی مرکز استرالیا", "NZDT": "وقت تابستانی زلاند نو", "UYST": "وقت تابستانی اروگوئه", "HADT": "وقت تابستانی هاوایی‐الوشن", "GFT": "وقت گویان فرانسه", "EDT": "وقت تابستانی شرق امریکا", "CLST": "وقت تابستانی شیلی", "UYT": "وقت عادی اروگوئه", "WEZ": "وقت عادی غرب اروپا", "HKST": "وقت تابستانی هنگ\u200cکنگ", "ACWST": "وقت عادی مرکز-غرب استرالیا", "AST": "وقت عادی آتلانتیک", "JST": "وقت عادی ژاپن", "OESZ": "وقت تابستانی شرق اروپا", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا"}, + timezones: map[string]string{"HNPM": "وقت عادی سنت\u200cپیر و میکلون", "CHADT": "وقت تابستانی چت\u200cهام", "IST": "وقت هند", "TMT": "وقت عادی ترکمنستان", "EAT": "وقت شرق افریقا", "ART": "وقت عادی آرژانتین", "AWST": "وقت عادی غرب استرالیا", "WARST": "وقت تابستانی غرب آرژانتین", "MYT": "وقت مالزی", "HKST": "وقت تابستانی هنگ\u200cکنگ", "JST": "وقت عادی ژاپن", "HNNOMX": "وقت عادی شمال غرب مکزیک", "AKDT": "وقت تابستانی آلاسکا", "MESZ": "وقت تابستانی مرکز اروپا", "WIB": "وقت غرب اندونزی", "ACST": "وقت عادی مرکز استرالیا", "ACDT": "وقت تابستانی مرکز استرالیا", "OEZ": "وقت عادی شرق اروپا", "HNCU": "وقت عادی کوبا", "HAST": "وقت عادی هاوایی‐الوشن", "ARST": "وقت تابستانی آرژانتین", "AEST": "وقت عادی شرق استرالیا", "SRT": "وقت سورینام", "WITA": "وقت مرکز اندونزی", "HEPM": "وقت تابستانی سنت\u200cپیر و میکلون", "CHAST": "وقت عادی چت\u200cهام", "∅∅∅": "وقت تابستانی آمازون", "TMST": "وقت تابستانی ترکمنستان", "ECT": "وقت اکوادور", "HECU": "وقت تابستانی کوبا", "LHDT": "وقت تابستانی لردهو", "WAST": "وقت تابستانی غرب افریقا", "UYT": "وقت عادی اروگوئه", "CST": "وقت عادی مرکز امریکا", "CDT": "وقت تابستانی مرکز امریکا", "WESZ": "وقت تابستانی غرب اروپا", "ACWST": "وقت عادی مرکز-غرب استرالیا", "HAT": "وقت تابستانی نیوفاندلند", "NZDT": "وقت تابستانی زلاند نو", "CLT": "وقت عادی شیلی", "GFT": "وقت گویان فرانسه", "HNPMX": "وقت عادی شرق مکزیک", "ADT": "وقت تابستانی آتلانتیک", "HADT": "وقت تابستانی هاوایی‐الوشن", "VET": "وقت ونزوئلا", "PST": "وقت عادی غرب امریکا", "HNT": "وقت عادی نیوفاندلند", "AEDT": "وقت تابستانی شرق استرالیا", "HKT": "وقت عادی هنگ\u200cکنگ", "SAST": "وقت عادی جنوب افریقا", "CLST": "وقت تابستانی شیلی", "SGT": "وقت سنگاپور", "AST": "وقت عادی آتلانتیک", "GYT": "وقت گویان", "UYST": "وقت تابستانی اروگوئه", "AKST": "وقت عادی آلاسکا", "WIT": "وقت شرق اندونزی", "BOT": "وقت بولیوی", "WAT": "وقت عادی غرب افریقا", "OESZ": "وقت تابستانی شرق اروپا", "COT": "وقت عادی کلمبیا", "COST": "وقت تابستانی کلمبیا", "ACWDT": "وقت تابستانی مرکز-غرب استرالیا", "LHST": "وقت عادی لردهو", "HNEG": "وقت عادی شرق گرینلند", "WART": "وقت عادی غرب آرژانتین", "GMT": "وقت گرینویچ", "EST": "وقت عادی شرق امریکا", "HEPMX": "وقت تابستانی شرق مکزیک", "BT": "وقت بوتان", "MEZ": "وقت عادی مرکز اروپا", "NZST": "وقت عادی زلاند نو", "JDT": "وقت تابستانی ژاپن", "HENOMX": "وقت تابستانی شمال غرب مکزیک", "MDT": "وقت تابستانی ماکائو", "PDT": "وقت تابستانی غرب امریکا", "WEZ": "وقت عادی غرب اروپا", "AWDT": "وقت تابستانی غرب استرالیا", "HEEG": "وقت تابستانی شرق گرینلند", "CAT": "وقت مرکز افریقا", "EDT": "وقت تابستانی شرق امریکا", "HNOG": "وقت عادی غرب گرینلند", "ChST": "وقت عادی چامورو", "MST": "وقت عادی ماکائو", "HEOG": "وقت تابستانی غرب گرینلند"}, } } @@ -239,7 +239,7 @@ func (fa *fa_IR) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (fa *fa_IR) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 10 + l := len(s) + 13 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -422,7 +422,12 @@ func (fa *fa_IR) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -440,7 +445,12 @@ func (fa *fa_IR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +464,12 @@ func (fa *fa_IR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +485,12 @@ func (fa *fa_IR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ff/ff.go b/ff/ff.go index 9753a5db3..8af14a0a0 100644 --- a/ff/ff.go +++ b/ff/ff.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"H-I", "C-I"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hade Iisa", "Caggal Iisa"}, - timezones: map[string]string{"EAT": "EAT", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "CHADT": "CHADT", "ACWST": "ACWST", "ARST": "ARST", "ADT": "ADT", "BOT": "BOT", "HKT": "HKT", "HKST": "HKST", "CHAST": "CHAST", "SGT": "SGT", "ECT": "ECT", "HADT": "HADT", "IST": "IST", "EST": "EST", "PST": "PST", "MST": "MST", "GMT": "GMT", "UYST": "UYST", "WAST": "WAST", "PDT": "PDT", "WIT": "WIT", "GFT": "GFT", "ACDT": "ACDT", "EDT": "EDT", "CLST": "CLST", "VET": "VET", "WARST": "WARST", "AKST": "AKST", "GYT": "GYT", "CAT": "CAT", "LHST": "LHST", "COST": "COST", "WIB": "WIB", "AST": "AST", "NZST": "NZST", "NZDT": "NZDT", "COT": "COT", "ART": "ART", "SAST": "SAST", "TMST": "TMST", "MDT": "MDT", "AEST": "AEST", "WAT": "WAT", "AWST": "AWST", "MEZ": "MEZ", "CDT": "CDT", "ChST": "ChST", "LHDT": "LHDT", "BT": "BT", "AWDT": "AWDT", "HAT": "HAT", "CLT": "CLT", "WEZ": "WEZ", "WART": "WART", "WITA": "WITA", "TMT": "TMT", "OEZ": "OEZ", "SRT": "SRT", "AEDT": "AEDT", "AKDT": "AKDT", "CST": "CST", "JDT": "JDT", "ACST": "ACST", "MYT": "MYT", "JST": "JST", "HAST": "HAST", "ACWDT": "ACWDT", "HNT": "HNT", "UYT": "UYT", "OESZ": "OESZ", "MESZ": "MESZ"}, + timezones: map[string]string{"TMT": "TMT", "WARST": "WARST", "HNT": "HNT", "CLT": "CLT", "CLST": "CLST", "AKDT": "AKDT", "MESZ": "MESZ", "HNPM": "HNPM", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "COST": "COST", "AEST": "AEST", "CAT": "CAT", "SRT": "SRT", "JDT": "JDT", "TMST": "TMST", "ChST": "ChST", "BOT": "BOT", "CST": "CST", "UYST": "UYST", "WIT": "WIT", "WESZ": "WESZ", "GMT": "GMT", "SGT": "SGT", "EST": "EST", "AKST": "AKST", "HEPM": "HEPM", "HEOG": "HEOG", "HKT": "HKT", "∅∅∅": "∅∅∅", "EDT": "EDT", "AST": "AST", "UYT": "UYT", "WAST": "WAST", "CHADT": "CHADT", "MEZ": "MEZ", "ACST": "ACST", "HENOMX": "HENOMX", "ACWDT": "ACWDT", "HAT": "HAT", "WEZ": "WEZ", "NZST": "NZST", "HEEG": "HEEG", "EAT": "EAT", "HAST": "HAST", "ARST": "ARST", "WIB": "WIB", "ACWST": "ACWST", "WITA": "WITA", "AEDT": "AEDT", "GFT": "GFT", "ECT": "ECT", "HEPMX": "HEPMX", "ADT": "ADT", "LHST": "LHST", "GYT": "GYT", "VET": "VET", "HKST": "HKST", "LHDT": "LHDT", "HNCU": "HNCU", "MST": "MST", "MYT": "MYT", "AWST": "AWST", "HNOG": "HNOG", "NZDT": "NZDT", "JST": "JST", "HNEG": "HNEG", "OEZ": "OEZ", "HNPMX": "HNPMX", "ART": "ART", "PDT": "PDT", "CHAST": "CHAST", "SAST": "SAST", "IST": "IST", "WART": "WART", "BT": "BT", "AWDT": "AWDT", "WAT": "WAT", "COT": "COT", "CDT": "CDT", "PST": "PST", "OESZ": "OESZ", "HECU": "HECU", "MDT": "MDT", "HADT": "HADT"}, } } @@ -329,7 +329,12 @@ func (ff *ff) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (ff *ff) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (ff *ff) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (ff *ff) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ff_CM/ff_CM.go b/ff_CM/ff_CM.go index 29634f92b..7252f1490 100644 --- a/ff_CM/ff_CM.go +++ b/ff_CM/ff_CM.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"H-I", "C-I"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hade Iisa", "Caggal Iisa"}, - timezones: map[string]string{"PDT": "PDT", "WAT": "WAT", "MYT": "MYT", "NZST": "NZST", "AEST": "AEST", "EDT": "EDT", "ChST": "ChST", "UYT": "UYT", "HKST": "HKST", "EST": "EST", "MST": "MST", "AWST": "AWST", "SRT": "SRT", "OESZ": "OESZ", "WART": "WART", "AST": "AST", "BT": "BT", "GMT": "GMT", "HKT": "HKT", "∅∅∅": "∅∅∅", "CDT": "CDT", "ART": "ART", "AWDT": "AWDT", "CHADT": "CHADT", "SGT": "SGT", "AEDT": "AEDT", "TMT": "TMT", "AKST": "AKST", "PST": "PST", "WIB": "WIB", "WARST": "WARST", "WIT": "WIT", "HAT": "HAT", "CHAST": "CHAST", "ADT": "ADT", "TMST": "TMST", "CAT": "CAT", "LHDT": "LHDT", "WEZ": "WEZ", "ACWST": "ACWST", "GYT": "GYT", "COST": "COST", "HAST": "HAST", "MEZ": "MEZ", "COT": "COT", "CLST": "CLST", "JST": "JST", "ECT": "ECT", "ACDT": "ACDT", "EAT": "EAT", "CST": "CST", "MDT": "MDT", "UYST": "UYST", "GFT": "GFT", "MESZ": "MESZ", "ACST": "ACST", "JDT": "JDT", "SAST": "SAST", "WITA": "WITA", "HNT": "HNT", "VET": "VET", "ARST": "ARST", "NZDT": "NZDT", "CLT": "CLT", "LHST": "LHST", "OEZ": "OEZ", "AKDT": "AKDT", "WAST": "WAST", "IST": "IST", "BOT": "BOT", "WESZ": "WESZ", "HADT": "HADT", "ACWDT": "ACWDT"}, + timezones: map[string]string{"GYT": "GYT", "HADT": "HADT", "PST": "PST", "ACWST": "ACWST", "EAT": "EAT", "HECU": "HECU", "HEPMX": "HEPMX", "HAST": "HAST", "ACWDT": "ACWDT", "JST": "JST", "CAT": "CAT", "WAT": "WAT", "BOT": "BOT", "GFT": "GFT", "WAST": "WAST", "MST": "MST", "WITA": "WITA", "NZST": "NZST", "CHADT": "CHADT", "CLST": "CLST", "UYT": "UYT", "SRT": "SRT", "WIT": "WIT", "HNOG": "HNOG", "AEST": "AEST", "AWDT": "AWDT", "EST": "EST", "ARST": "ARST", "∅∅∅": "∅∅∅", "SGT": "SGT", "MDT": "MDT", "COST": "COST", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HEOG": "HEOG", "MEZ": "MEZ", "NZDT": "NZDT", "JDT": "JDT", "CHAST": "CHAST", "SAST": "SAST", "GMT": "GMT", "BT": "BT", "HNT": "HNT", "ART": "ART", "MESZ": "MESZ", "LHDT": "LHDT", "HKT": "HKT", "HKST": "HKST", "EDT": "EDT", "WART": "WART", "AWST": "AWST", "HEPM": "HEPM", "CLT": "CLT", "HNEG": "HNEG", "TMST": "TMST", "OESZ": "OESZ", "UYST": "UYST", "ADT": "ADT", "WESZ": "WESZ", "HAT": "HAT", "AEDT": "AEDT", "ChST": "ChST", "HNPM": "HNPM", "IST": "IST", "COT": "COT", "CST": "CST", "HNPMX": "HNPMX", "AKDT": "AKDT", "PDT": "PDT", "LHST": "LHST", "ACST": "ACST", "ACDT": "ACDT", "MYT": "MYT", "CDT": "CDT", "WIB": "WIB", "VET": "VET", "WEZ": "WEZ", "HEEG": "HEEG", "OEZ": "OEZ", "ECT": "ECT", "AST": "AST", "TMT": "TMT", "WARST": "WARST", "HENOMX": "HENOMX", "AKST": "AKST"}, } } @@ -329,7 +329,12 @@ func (ff *ff_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (ff *ff_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (ff *ff_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (ff *ff_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ff_GN/ff_GN.go b/ff_GN/ff_GN.go index 077b45305..87b5ba013 100644 --- a/ff_GN/ff_GN.go +++ b/ff_GN/ff_GN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "FG", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "FG", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"H-I", "C-I"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hade Iisa", "Caggal Iisa"}, - timezones: map[string]string{"AWST": "AWST", "JDT": "JDT", "VET": "VET", "WAST": "WAST", "OEZ": "OEZ", "WARST": "WARST", "HAST": "HAST", "EST": "EST", "MYT": "MYT", "HKST": "HKST", "TMT": "TMT", "WART": "WART", "ACWST": "ACWST", "CDT": "CDT", "ART": "ART", "SAST": "SAST", "MDT": "MDT", "MESZ": "MESZ", "AEST": "AEST", "PST": "PST", "AKST": "AKST", "ADT": "ADT", "NZST": "NZST", "WIT": "WIT", "GMT": "GMT", "UYST": "UYST", "COST": "COST", "WIB": "WIB", "CHADT": "CHADT", "WESZ": "WESZ", "SGT": "SGT", "EDT": "EDT", "EAT": "EAT", "TMST": "TMST", "NZDT": "NZDT", "ChST": "ChST", "AWDT": "AWDT", "UYT": "UYT", "GFT": "GFT", "ECT": "ECT", "ARST": "ARST", "CLST": "CLST", "BT": "BT", "AEDT": "AEDT", "PDT": "PDT", "WITA": "WITA", "CST": "CST", "HNT": "HNT", "CHAST": "CHAST", "IST": "IST", "AST": "AST", "WAT": "WAT", "OESZ": "OESZ", "MEZ": "MEZ", "ACDT": "ACDT", "CAT": "CAT", "∅∅∅": "∅∅∅", "AKDT": "AKDT", "LHST": "LHST", "HKT": "HKT", "JST": "JST", "LHDT": "LHDT", "COT": "COT", "GYT": "GYT", "HADT": "HADT", "ACWDT": "ACWDT", "MST": "MST", "HAT": "HAT", "CLT": "CLT", "SRT": "SRT", "WEZ": "WEZ", "ACST": "ACST", "BOT": "BOT"}, + timezones: map[string]string{"EAT": "EAT", "HNNOMX": "HNNOMX", "ACWDT": "ACWDT", "HNOG": "HNOG", "WITA": "WITA", "NZDT": "NZDT", "IST": "IST", "JST": "JST", "GYT": "GYT", "WEZ": "WEZ", "ACWST": "ACWST", "SAST": "SAST", "CST": "CST", "HNT": "HNT", "JDT": "JDT", "ACST": "ACST", "WART": "WART", "CDT": "CDT", "AST": "AST", "AEST": "AEST", "HEPM": "HEPM", "LHDT": "LHDT", "CLT": "CLT", "GFT": "GFT", "CAT": "CAT", "MDT": "MDT", "AKDT": "AKDT", "PST": "PST", "WESZ": "WESZ", "MEZ": "MEZ", "NZST": "NZST", "TMT": "TMT", "SGT": "SGT", "VET": "VET", "WIT": "WIT", "OESZ": "OESZ", "HENOMX": "HENOMX", "HNCU": "HNCU", "EDT": "EDT", "MST": "MST", "SRT": "SRT", "AEDT": "AEDT", "CHADT": "CHADT", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "HNPM": "HNPM", "LHST": "LHST", "ECT": "ECT", "WARST": "WARST", "COST": "COST", "GMT": "GMT", "ChST": "ChST", "HNEG": "HNEG", "HAST": "HAST", "ART": "ART", "EST": "EST", "AWDT": "AWDT", "HKST": "HKST", "∅∅∅": "∅∅∅", "UYT": "UYT", "HADT": "HADT", "HEOG": "HEOG", "AWST": "AWST", "HKT": "HKT", "WAT": "WAT", "HECU": "HECU", "AKST": "AKST", "PDT": "PDT", "ARST": "ARST", "BOT": "BOT", "TMST": "TMST", "WAST": "WAST", "OEZ": "OEZ", "CHAST": "CHAST", "HEEG": "HEEG", "MYT": "MYT", "UYST": "UYST", "ADT": "ADT", "BT": "BT", "HAT": "HAT", "MESZ": "MESZ", "CLST": "CLST", "ACDT": "ACDT", "COT": "COT", "WIB": "WIB"}, } } @@ -329,7 +329,12 @@ func (ff *ff_GN) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (ff *ff_GN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (ff *ff_GN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (ff *ff_GN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ff_MR/ff_MR.go b/ff_MR/ff_MR.go index aecb217f5..af3cb356b 100644 --- a/ff_MR/ff_MR.go +++ b/ff_MR/ff_MR.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "UM", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "UM", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"H-I", "C-I"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hade Iisa", "Caggal Iisa"}, - timezones: map[string]string{"EST": "EST", "EDT": "EDT", "PST": "PST", "NZDT": "NZDT", "HNT": "HNT", "CLST": "CLST", "JDT": "JDT", "VET": "VET", "PDT": "PDT", "BT": "BT", "WIB": "WIB", "HKT": "HKT", "MEZ": "MEZ", "AST": "AST", "AKST": "AKST", "WESZ": "WESZ", "MYT": "MYT", "CDT": "CDT", "CHAST": "CHAST", "SRT": "SRT", "HADT": "HADT", "GYT": "GYT", "MST": "MST", "CAT": "CAT", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "GMT": "GMT", "WIT": "WIT", "ADT": "ADT", "OEZ": "OEZ", "SGT": "SGT", "COT": "COT", "COST": "COST", "IST": "IST", "LHST": "LHST", "OESZ": "OESZ", "HKST": "HKST", "CHADT": "CHADT", "EAT": "EAT", "WEZ": "WEZ", "HAST": "HAST", "ECT": "ECT", "SAST": "SAST", "ChST": "ChST", "HAT": "HAT", "UYT": "UYT", "UYST": "UYST", "WARST": "WARST", "AKDT": "AKDT", "ACWST": "ACWST", "AEST": "AEST", "WAT": "WAT", "MDT": "MDT", "ACST": "ACST", "ACDT": "ACDT", "AEDT": "AEDT", "WART": "WART", "GFT": "GFT", "WAST": "WAST", "WITA": "WITA", "TMT": "TMT", "TMST": "TMST", "BOT": "BOT", "MESZ": "MESZ", "ART": "ART", "ARST": "ARST", "CST": "CST", "NZST": "NZST", "AWST": "AWST", "CLT": "CLT", "ACWDT": "ACWDT", "JST": "JST", "LHDT": "LHDT"}, + timezones: map[string]string{"AST": "AST", "UYST": "UYST", "SAST": "SAST", "COST": "COST", "ACWST": "ACWST", "CLST": "CLST", "HENOMX": "HENOMX", "AEDT": "AEDT", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "WESZ": "WESZ", "NZDT": "NZDT", "CHADT": "CHADT", "CLT": "CLT", "HNCU": "HNCU", "HECU": "HECU", "AKST": "AKST", "VET": "VET", "HEOG": "HEOG", "AWDT": "AWDT", "ECT": "ECT", "HAST": "HAST", "SRT": "SRT", "PST": "PST", "HNT": "HNT", "MEZ": "MEZ", "MESZ": "MESZ", "EST": "EST", "UYT": "UYT", "HADT": "HADT", "ART": "ART", "HNPM": "HNPM", "NZST": "NZST", "TMST": "TMST", "HNNOMX": "HNNOMX", "AWST": "AWST", "LHST": "LHST", "IST": "IST", "HEEG": "HEEG", "TMT": "TMT", "WAT": "WAT", "MST": "MST", "MDT": "MDT", "WIT": "WIT", "ACWDT": "ACWDT", "HAT": "HAT", "ARST": "ARST", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "AKDT": "AKDT", "CST": "CST", "MYT": "MYT", "BT": "BT", "ACST": "ACST", "CAT": "CAT", "WARST": "WARST", "AEST": "AEST", "HKST": "HKST", "LHDT": "LHDT", "JST": "JST", "JDT": "JDT", "ACDT": "ACDT", "GFT": "GFT", "WITA": "WITA", "HNEG": "HNEG", "WAST": "WAST", "ChST": "ChST", "HNOG": "HNOG", "CDT": "CDT", "WEZ": "WEZ", "HKT": "HKT", "BOT": "BOT", "EAT": "EAT", "WART": "WART", "COT": "COT", "GYT": "GYT", "WIB": "WIB", "OEZ": "OEZ", "SGT": "SGT", "EDT": "EDT", "ADT": "ADT", "PDT": "PDT", "HEPM": "HEPM", "CHAST": "CHAST", "GMT": "GMT"}, } } @@ -329,7 +329,12 @@ func (ff *ff_MR) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (ff *ff_MR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (ff *ff_MR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (ff *ff_MR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ff_SN/ff_SN.go b/ff_SN/ff_SN.go index 78e0adda2..48ade0d14 100644 --- a/ff_SN/ff_SN.go +++ b/ff_SN/ff_SN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"H-I", "C-I"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hade Iisa", "Caggal Iisa"}, - timezones: map[string]string{"CDT": "CDT", "MYT": "MYT", "HNT": "HNT", "WEZ": "WEZ", "ADT": "ADT", "SAST": "SAST", "WITA": "WITA", "CLST": "CLST", "WIT": "WIT", "ACDT": "ACDT", "EAT": "EAT", "CST": "CST", "MST": "MST", "GFT": "GFT", "NZST": "NZST", "ChST": "ChST", "OESZ": "OESZ", "MESZ": "MESZ", "WART": "WART", "MEZ": "MEZ", "HADT": "HADT", "AST": "AST", "CLT": "CLT", "ACWST": "ACWST", "UYT": "UYT", "JDT": "JDT", "VET": "VET", "HAST": "HAST", "HKT": "HKT", "GYT": "GYT", "WIB": "WIB", "COT": "COT", "GMT": "GMT", "LHDT": "LHDT", "UYST": "UYST", "HKST": "HKST", "CAT": "CAT", "BT": "BT", "CHADT": "CHADT", "AKST": "AKST", "TMST": "TMST", "BOT": "BOT", "ACWDT": "ACWDT", "AEST": "AEST", "ARST": "ARST", "IST": "IST", "AKDT": "AKDT", "WAST": "WAST", "LHST": "LHST", "ACST": "ACST", "COST": "COST", "AEDT": "AEDT", "AWDT": "AWDT", "OEZ": "OEZ", "WESZ": "WESZ", "SGT": "SGT", "TMT": "TMT", "∅∅∅": "∅∅∅", "PDT": "PDT", "MDT": "MDT", "HAT": "HAT", "WAT": "WAT", "NZDT": "NZDT", "JST": "JST", "SRT": "SRT", "ECT": "ECT", "PST": "PST", "AWST": "AWST", "CHAST": "CHAST", "WARST": "WARST", "ART": "ART", "EDT": "EDT", "EST": "EST"}, + timezones: map[string]string{"CDT": "CDT", "HEOG": "HEOG", "JDT": "JDT", "ADT": "ADT", "CHAST": "CHAST", "HAST": "HAST", "BT": "BT", "ART": "ART", "WESZ": "WESZ", "ACWST": "ACWST", "CHADT": "CHADT", "CLST": "CLST", "GFT": "GFT", "EAT": "EAT", "AST": "AST", "AWDT": "AWDT", "SAST": "SAST", "COT": "COT", "MYT": "MYT", "LHDT": "LHDT", "JST": "JST", "CLT": "CLT", "WAT": "WAT", "OESZ": "OESZ", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "MST": "MST", "PDT": "PDT", "ACWDT": "ACWDT", "TMST": "TMST", "ChST": "ChST", "AKST": "AKST", "LHST": "LHST", "MEZ": "MEZ", "IST": "IST", "HNEG": "HNEG", "HEEG": "HEEG", "EDT": "EDT", "WIB": "WIB", "AEST": "AEST", "WITA": "WITA", "HNOG": "HNOG", "HNT": "HNT", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "MDT": "MDT", "UYST": "UYST", "WIT": "WIT", "SRT": "SRT", "AWST": "AWST", "HEPM": "HEPM", "CAT": "CAT", "SGT": "SGT", "HNCU": "HNCU", "HECU": "HECU", "GYT": "GYT", "VET": "VET", "BOT": "BOT", "ECT": "ECT", "PST": "PST", "MESZ": "MESZ", "NZST": "NZST", "COST": "COST", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "AKDT": "AKDT", "HKT": "HKT", "HNPM": "HNPM", "ACST": "ACST", "WART": "WART", "EST": "EST", "ARST": "ARST", "AEDT": "AEDT", "HKST": "HKST", "WAST": "WAST", "HEPMX": "HEPMX", "UYT": "UYT", "HADT": "HADT", "WEZ": "WEZ", "TMT": "TMT", "WARST": "WARST", "GMT": "GMT", "CST": "CST", "HAT": "HAT", "NZDT": "NZDT"}, } } @@ -329,7 +329,12 @@ func (ff *ff_SN) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (ff *ff_SN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (ff *ff_SN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (ff *ff_SN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ff.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fi/fi.go b/fi/fi.go index 008385865..99ebf4d59 100644 --- a/fi/fi.go +++ b/fi/fi.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "mk", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "mk", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "tammikuuta", "helmikuuta", "maaliskuuta", "huhtikuuta", "toukokuuta", "kesäkuuta", "heinäkuuta", "elokuuta", "syyskuuta", "lokakuuta", "marraskuuta", "joulukuuta"}, + monthsAbbreviated: []string{"", "tammik.", "helmik.", "maalisk.", "huhtik.", "toukok.", "kesäk.", "heinäk.", "elok.", "syysk.", "lokak.", "marrask.", "jouluk."}, monthsNarrow: []string{"", "T", "H", "M", "H", "T", "K", "H", "E", "S", "L", "M", "J"}, monthsWide: []string{"", "tammikuuta", "helmikuuta", "maaliskuuta", "huhtikuuta", "toukokuuta", "kesäkuuta", "heinäkuuta", "elokuuta", "syyskuuta", "lokakuuta", "marraskuuta", "joulukuuta"}, daysAbbreviated: []string{"su", "ma", "ti", "ke", "to", "pe", "la"}, @@ -71,9 +71,9 @@ func New() locales.Translator { periodsNarrow: []string{"ap.", "ip."}, periodsWide: []string{"ap.", "ip."}, erasAbbreviated: []string{"eKr.", "jKr."}, - erasNarrow: []string{"eK", "jK"}, + erasNarrow: []string{"eKr", "jKr"}, erasWide: []string{"ennen Kristuksen syntymää", "jälkeen Kristuksen syntymän"}, - timezones: map[string]string{"HNT": "Newfoundlandin normaaliaika", "∅∅∅": "Brasilian kesäaika", "ACWST": "Läntisen Keski-Australian normaaliaika", "SAST": "Etelä-Afrikan aika", "EST": "Yhdysvaltain itäinen normaaliaika", "TMST": "Turkmenistanin kesäaika", "CAT": "Keski-Afrikan aika", "AWDT": "Länsi-Australian kesäaika", "HAST": "Havaijin-Aleuttien normaaliaika", "GYT": "Guyanan aika", "AWST": "Länsi-Australian normaaliaika", "CLT": "Chilen normaaliaika", "LHDT": "Lord Howen kesäaika", "WAT": "Länsi-Afrikan normaaliaika", "CST": "Yhdysvaltain keskinen normaaliaika", "NZST": "Uuden-Seelannin normaaliaika", "LHST": "Lord Howen normaaliaika", "JDT": "Japanin kesäaika", "MEZ": "Keski-Euroopan normaaliaika", "ACWDT": "Läntisen Keski-Australian kesäaika", "TMT": "Turkmenistanin normaaliaika", "ACST": "Keski-Australian normaaliaika", "COST": "Kolumbian kesäaika", "WART": "Länsi-Argentiinan normaaliaika", "JST": "Japanin normaaliaika", "CHAST": "Chathamin normaaliaika", "MESZ": "Keski-Euroopan kesäaika", "HADT": "Havaijin-Aleuttien kesäaika", "CDT": "Yhdysvaltain keskinen kesäaika", "MDT": "Macaon kesäaika", "NZDT": "Uuden-Seelannin kesäaika", "HKT": "Hongkongin normaaliaika", "SRT": "Surinamin aika", "AEST": "Itä-Australian normaaliaika", "AST": "Kanadan Atlantin normaaliaika", "IST": "Intian aika", "HAT": "Newfoundlandin kesäaika", "CLST": "Chilen kesäaika", "OEZ": "Itä-Euroopan normaaliaika", "EDT": "Yhdysvaltain itäinen kesäaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "MST": "Macaon normaaliaika", "WIT": "Itä-Indonesian aika", "EAT": "Itä-Afrikan aika", "WITA": "Keski-Indonesian aika", "MYT": "Malesian aika", "BOT": "Bolivian aika", "GMT": "Greenwichin normaaliaika", "VET": "Venezuelan aika", "WIB": "Länsi-Indonesian aika", "WARST": "Länsi-Argentiinan kesäaika", "UYST": "Uruguayn kesäaika", "GFT": "Ranskan Guayanan aika", "ACDT": "Keski-Australian kesäaika", "AEDT": "Itä-Australian kesäaika", "ART": "Argentiinan normaaliaika", "AKST": "Alaskan normaaliaika", "OESZ": "Itä-Euroopan kesäaika", "CHADT": "Chathamin kesäaika", "HKST": "Hongkongin kesäaika", "ECT": "Ecuadorin aika", "AKDT": "Alaskan kesäaika", "WEZ": "Länsi-Euroopan normaaliaika", "WESZ": "Länsi-Euroopan kesäaika", "COT": "Kolumbian normaaliaika", "ARST": "Argentiinan kesäaika", "ADT": "Kanadan Atlantin kesäaika", "BT": "Bhutanin aika", "SGT": "Singaporen aika", "WAST": "Länsi-Afrikan kesäaika", "ChST": "Tšamorron aika", "UYT": "Uruguayn normaaliaika"}, + timezones: map[string]string{"AWST": "Länsi-Australian normaaliaika", "NZDT": "Uuden-Seelannin kesäaika", "TMT": "Turkmenistanin normaaliaika", "WART": "Länsi-Argentiinan normaaliaika", "HENOMX": "Luoteis-Meksikon kesäaika", "UYT": "Uruguayn normaaliaika", "AEST": "Itä-Australian normaaliaika", "HKT": "Hongkongin normaaliaika", "CLST": "Chilen kesäaika", "OEZ": "Itä-Euroopan normaaliaika", "WAST": "Länsi-Afrikan kesäaika", "ART": "Argentiinan normaaliaika", "ACWDT": "Läntisen Keski-Australian kesäaika", "HKST": "Hongkongin kesäaika", "HNEG": "Itä-Grönlannin normaaliaika", "MST": "Macaon normaaliaika", "MDT": "Macaon kesäaika", "HEPMX": "Meksikon Tyynenmeren kesäaika", "HAST": "Havaijin-Aleuttien normaaliaika", "HEOG": "Länsi-Grönlannin kesäaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "MESZ": "Keski-Euroopan kesäaika", "SAST": "Etelä-Afrikan aika", "WAT": "Länsi-Afrikan normaaliaika", "WARST": "Länsi-Argentiinan kesäaika", "COT": "Kolumbian normaaliaika", "BT": "Bhutanin aika", "GMT": "Greenwichin normaaliaika", "CHADT": "Chathamin kesäaika", "EST": "Yhdysvaltain itäinen normaaliaika", "CHAST": "Chathamin normaaliaika", "WITA": "Keski-Indonesian aika", "GFT": "Ranskan Guayanan aika", "ChST": "Tšamorron aika", "BOT": "Bolivian aika", "HEEG": "Itä-Grönlannin kesäaika", "ACDT": "Keski-Australian kesäaika", "HNCU": "Kuuban normaaliaika", "WESZ": "Länsi-Euroopan kesäaika", "HNPMX": "Meksikon Tyynenmeren normaaliaika", "CST": "Yhdysvaltain keskinen normaaliaika", "HECU": "Kuuban kesäaika", "SRT": "Surinamen aika", "HNOG": "Länsi-Grönlannin normaaliaika", "NZST": "Uuden-Seelannin normaaliaika", "EDT": "Yhdysvaltain itäinen kesäaika", "CDT": "Yhdysvaltain keskinen kesäaika", "VET": "Venezuelan aika", "ACST": "Keski-Australian normaaliaika", "ECT": "Ecuadorin aika", "ADT": "Kanadan Atlantin kesäaika", "WIB": "Länsi-Indonesian aika", "AWDT": "Länsi-Australian kesäaika", "AEDT": "Itä-Australian kesäaika", "∅∅∅": "Amazonin kesäaika", "EAT": "Itä-Afrikan aika", "COST": "Kolumbian kesäaika", "SGT": "Singaporen aika", "UYST": "Uruguayn kesäaika", "HADT": "Havaijin-Aleuttien kesäaika", "JST": "Japanin normaaliaika", "GYT": "Guyanan aika", "AKST": "Alaskan normaaliaika", "ARST": "Argentiinan kesäaika", "MEZ": "Keski-Euroopan normaaliaika", "HNT": "Newfoundlandin normaaliaika", "LHDT": "Lord Howen kesäaika", "IST": "Intian aika", "CAT": "Keski-Afrikan aika", "HNPM": "Saint-Pierren ja Miquelonin normaaliaika", "HNNOMX": "Luoteis-Meksikon normaaliaika", "AKDT": "Alaskan kesäaika", "CLT": "Chilen normaaliaika", "MYT": "Malesian aika", "OESZ": "Itä-Euroopan kesäaika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "WEZ": "Länsi-Euroopan normaaliaika", "WIT": "Itä-Indonesian aika", "ACWST": "Läntisen Keski-Australian normaaliaika", "HEPM": "Saint-Pierren ja Miquelonin kesäaika", "LHST": "Lord Howen normaaliaika", "JDT": "Japanin kesäaika", "TMST": "Turkmenistanin kesäaika", "AST": "Kanadan Atlantin normaaliaika", "HAT": "Newfoundlandin kesäaika"}, } } @@ -409,7 +409,12 @@ func (fi *fi) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (fi *fi) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +447,12 @@ func (fi *fi) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +467,12 @@ func (fi *fi) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fi_FI/fi_FI.go b/fi_FI/fi_FI.go index f76b345f8..9c6a707f1 100644 --- a/fi_FI/fi_FI.go +++ b/fi_FI/fi_FI.go @@ -56,11 +56,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "tammikuuta", "helmikuuta", "maaliskuuta", "huhtikuuta", "toukokuuta", "kesäkuuta", "heinäkuuta", "elokuuta", "syyskuuta", "lokakuuta", "marraskuuta", "joulukuuta"}, + monthsAbbreviated: []string{"", "tammik.", "helmik.", "maalisk.", "huhtik.", "toukok.", "kesäk.", "heinäk.", "elok.", "syysk.", "lokak.", "marrask.", "jouluk."}, monthsNarrow: []string{"", "T", "H", "M", "H", "T", "K", "H", "E", "S", "L", "M", "J"}, monthsWide: []string{"", "tammikuuta", "helmikuuta", "maaliskuuta", "huhtikuuta", "toukokuuta", "kesäkuuta", "heinäkuuta", "elokuuta", "syyskuuta", "lokakuuta", "marraskuuta", "joulukuuta"}, daysAbbreviated: []string{"su", "ma", "ti", "ke", "to", "pe", "la"}, @@ -71,9 +71,9 @@ func New() locales.Translator { periodsNarrow: []string{"ap.", "ip."}, periodsWide: []string{"ap.", "ip."}, erasAbbreviated: []string{"eKr.", "jKr."}, - erasNarrow: []string{"eK", "jK"}, + erasNarrow: []string{"eKr", "jKr"}, erasWide: []string{"ennen Kristuksen syntymää", "jälkeen Kristuksen syntymän"}, - timezones: map[string]string{"LHDT": "Lord Howen kesäaika", "JDT": "Japanin kesäaika", "ECT": "Ecuadorin aika", "HADT": "Havaijin-Aleuttien kesäaika", "AEST": "Itä-Australian normaaliaika", "SAST": "Etelä-Afrikan aika", "TMST": "Turkmenistanin kesäaika", "ADT": "Kanadan Atlantin kesäaika", "WAT": "Länsi-Afrikan normaaliaika", "ACST": "Keski-Australian normaaliaika", "ChST": "Tšamorron aika", "BOT": "Bolivian aika", "HAT": "Newfoundlandin kesäaika", "ACDT": "Keski-Australian kesäaika", "ARST": "Argentiinan kesäaika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "WITA": "Keski-Indonesian aika", "CDT": "Yhdysvaltain keskinen kesäaika", "SGT": "Singaporen aika", "EAT": "Itä-Afrikan aika", "WART": "Länsi-Argentiinan normaaliaika", "MDT": "Kalliovuorten kesäaika", "CLT": "Chilen normaaliaika", "VET": "Venezuelan aika", "EST": "Yhdysvaltain itäinen normaaliaika", "AWST": "Länsi-Australian normaaliaika", "AST": "Kanadan Atlantin normaaliaika", "GMT": "Greenwichin normaaliaika", "BT": "Bhutanin aika", "HNT": "Newfoundlandin normaaliaika", "LHST": "Lord Howen normaaliaika", "JST": "Japanin normaaliaika", "∅∅∅": "Azorien kesäaika", "CST": "Yhdysvaltain keskinen normaaliaika", "GYT": "Guyanan aika", "MST": "Kalliovuorten normaaliaika", "GFT": "Ranskan Guayanan aika", "SRT": "Surinamin aika", "WESZ": "Länsi-Euroopan kesäaika", "UYT": "Uruguayn normaaliaika", "CHAST": "Chathamin normaaliaika", "ACWST": "Läntisen Keski-Australian normaaliaika", "ACWDT": "Läntisen Keski-Australian kesäaika", "AKST": "Alaskan normaaliaika", "MYT": "Malesian aika", "AWDT": "Länsi-Australian kesäaika", "COT": "Kolumbian normaaliaika", "IST": "Intian aika", "CAT": "Keski-Afrikan aika", "UYST": "Uruguayn kesäaika", "OEZ": "Itä-Euroopan normaaliaika", "WARST": "Länsi-Argentiinan kesäaika", "HKST": "Hongkongin kesäaika", "WIB": "Länsi-Indonesian aika", "MESZ": "Keski-Euroopan kesäaika", "CLST": "Chilen kesäaika", "WIT": "Itä-Indonesian aika", "OESZ": "Itä-Euroopan kesäaika", "WEZ": "Länsi-Euroopan normaaliaika", "AEDT": "Itä-Australian kesäaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "TMT": "Turkmenistanin normaaliaika", "NZST": "Uuden-Seelannin normaaliaika", "HKT": "Hongkongin normaaliaika", "WAST": "Länsi-Afrikan kesäaika", "NZDT": "Uuden-Seelannin kesäaika", "CHADT": "Chathamin kesäaika", "MEZ": "Keski-Euroopan normaaliaika", "HAST": "Havaijin-Aleuttien normaaliaika", "ART": "Argentiinan normaaliaika", "AKDT": "Alaskan kesäaika", "EDT": "Yhdysvaltain itäinen kesäaika", "COST": "Kolumbian kesäaika"}, + timezones: map[string]string{"JDT": "Japanin kesäaika", "UYT": "Uruguayn normaaliaika", "UYST": "Uruguayn kesäaika", "HNT": "Newfoundlandin normaaliaika", "ACWDT": "Läntisen Keski-Australian kesäaika", "HNPM": "Saint-Pierren ja Miquelonin normaaliaika", "HENOMX": "Luoteis-Meksikon kesäaika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "AEST": "Itä-Australian normaaliaika", "WAT": "Länsi-Afrikan normaaliaika", "AKST": "Alaskan normaaliaika", "ACWST": "Läntisen Keski-Australian normaaliaika", "NZST": "Uuden-Seelannin normaaliaika", "ECT": "Ecuadorin aika", "ART": "Argentiinan normaaliaika", "WEZ": "Länsi-Euroopan normaaliaika", "WARST": "Länsi-Argentiinan kesäaika", "COT": "Kolumbian normaaliaika", "GMT": "Greenwichin normaaliaika", "WIB": "Länsi-Indonesian aika", "LHST": "Lord Howen normaaliaika", "HEEG": "Itä-Grönlannin kesäaika", "SGT": "Singaporen aika", "HAT": "Newfoundlandin kesäaika", "HNOG": "Länsi-Grönlannin normaaliaika", "MEZ": "Keski-Euroopan normaaliaika", "HNCU": "Kuuban normaaliaika", "EDT": "Yhdysvaltain itäinen kesäaika", "MDT": "Macaon kesäaika", "CST": "Yhdysvaltain keskinen normaaliaika", "GYT": "Guyanan aika", "HADT": "Havaijin-Aleuttien kesäaika", "AWDT": "Länsi-Australian kesäaika", "HEPM": "Saint-Pierren ja Miquelonin kesäaika", "SAST": "Etelä-Afrikan aika", "JST": "Japanin normaaliaika", "CLT": "Chilen normaaliaika", "OEZ": "Itä-Euroopan normaaliaika", "HNPMX": "Meksikon Tyynenmeren normaaliaika", "HKST": "Hongkongin kesäaika", "AKDT": "Alaskan kesäaika", "WITA": "Keski-Indonesian aika", "CHADT": "Chathamin kesäaika", "NZDT": "Uuden-Seelannin kesäaika", "∅∅∅": "Amazonin kesäaika", "ACDT": "Keski-Australian kesäaika", "WAST": "Länsi-Afrikan kesäaika", "WART": "Länsi-Argentiinan normaaliaika", "SRT": "Surinamen aika", "HEOG": "Länsi-Grönlannin kesäaika", "GFT": "Ranskan Guayanan aika", "TMT": "Turkmenistanin normaaliaika", "ChST": "Tšamorron aika", "OESZ": "Itä-Euroopan kesäaika", "EST": "Yhdysvaltain itäinen normaaliaika", "ADT": "Kanadan Atlantin kesäaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "AWST": "Länsi-Australian normaaliaika", "HEPMX": "Meksikon Tyynenmeren kesäaika", "WESZ": "Länsi-Euroopan kesäaika", "IST": "Intian aika", "CLST": "Chilen kesäaika", "BOT": "Bolivian aika", "HNEG": "Itä-Grönlannin normaaliaika", "CAT": "Keski-Afrikan aika", "BT": "Bhutanin aika", "HKT": "Hongkongin normaaliaika", "CHAST": "Chathamin normaaliaika", "MESZ": "Keski-Euroopan kesäaika", "HNNOMX": "Luoteis-Meksikon normaaliaika", "HECU": "Kuuban kesäaika", "AST": "Kanadan Atlantin normaaliaika", "WIT": "Itä-Indonesian aika", "COST": "Kolumbian kesäaika", "VET": "Venezuelan aika", "TMST": "Turkmenistanin kesäaika", "HAST": "Havaijin-Aleuttien normaaliaika", "ARST": "Argentiinan kesäaika", "AEDT": "Itä-Australian kesäaika", "LHDT": "Lord Howen kesäaika", "ACST": "Keski-Australian normaaliaika", "EAT": "Itä-Afrikan aika", "MST": "Macaon normaaliaika", "CDT": "Yhdysvaltain keskinen kesäaika", "MYT": "Malesian aika"}, } } @@ -409,7 +409,12 @@ func (fi *fi_FI) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (fi *fi_FI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +447,12 @@ func (fi *fi_FI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +467,12 @@ func (fi *fi_FI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fil/fil.go b/fil/fil.go index 4240d7f0d..1c20afa3a 100644 --- a/fil/fil.go +++ b/fil/fil.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ene", "Peb", "Mar", "Abr", "May", "Hun", "Hul", "Ago", "Set", "Okt", "Nob", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"BC", "AD"}, - timezones: map[string]string{"CLT": "Standard na Oras sa Chile", "SRT": "Oras sa Suriname", "HKT": "Standard na Oras sa Hong Kong", "VET": "Oras sa Venezuela", "MEZ": "Standard na Oras sa Gitnang Europe", "AEST": "Standard Time ng Silangang Australya", "EST": "Eastern na Standard na Oras", "WAST": "Oras sa Tag-init ng Kanlurang Africa", "AST": "Standard na Oras sa Atlantiko", "TMT": "Standard na Oras sa Turkmenistan", "WEZ": "Standard na Oras sa Kanlurang Europe", "WESZ": "Oras sa Tag-init ng Kanlurang Europe", "ACWDT": "Daylight Time ng Gitnang Kanluran ng Australya", "EAT": "Oras sa Silangang Africa", "MDT": "Daylight Time sa Bundok", "UYT": "Standard na Oras sa Uruguay", "UYST": "Oras sa Tag-init ng Uruguay", "OESZ": "Oras sa Tag-init ng Silangang Europe", "ADT": "Daylight Time sa Atlantiko", "AKST": "Standard na Oras sa Alaska", "CDT": "Sentral na Daylight Time", "WIT": "Oras ng Silangang Indonesiya", "JDT": "Daylight Time sa Japan", "ACWST": "Standard Time ng Gitnang Kanluran ng Australya", "MST": "Standard na Oras sa Bundok", "AWDT": "Daylight Time sa Kanlurang Australya", "HAT": "Daylight Time sa Newfoundland", "ECT": "Oras sa Ecuador", "WARST": "Oras sa Tag-init ng Kanlurang Argentina", "EDT": "Eastern Daylight Time", "PDT": "Daylight Time sa Pasipiko", "GYT": "Oras sa Guyana", "HKST": "Oras sa Tag-init ng Hong Kong", "CHAST": "Standard na Oras sa Chatham", "ACST": "Standard Time ng Gitnang Australya", "WAT": "Standard na Oras sa Kanlurang Africa", "∅∅∅": "Oras sa Tag-init ng Peru", "WIB": "Oras ng Kanlurang Indonesiya", "WITA": "Oras ng Gitnang Indonesiya", "MYT": "Oras ng Malaysia", "BOT": "Oras sa Bolivia", "SGT": "Standard na Oras sa Singapore", "OEZ": "Standard na Oras sa Silangang Europe", "HADT": "Oras sa Tag-init ng Hawaii-Aleutian", "HNT": "Standard na Oras sa Newfoundland", "GFT": "Oras sa French Guiana", "HAST": "Standard na Oras sa Hawaii-Aleutian", "PST": "Standard na Oras sa Pasipiko", "SAST": "Oras sa Timog Africa", "ChST": "Standard na Oras sa Chamorro", "IST": "Standard na Oras sa Bhutan", "TMST": "Oras sa Tag-init ng Turkmenistan", "CLST": "Oras sa Tag-init ng Chile", "MESZ": "Oras sa Tag-init ng Gitnang Europe", "COT": "Standard na Oras sa Colombia", "AEDT": "Daylight Time ng Silangang Australya", "ART": "Standard na Oras sa Argentina", "WART": "Standard na Oras sa Kanlurang Argentina", "LHST": "Standard na Oras sa Lord Howe", "JST": "Standard na Oras sa Japan", "CHADT": "Daylight Time sa Chatham", "ACDT": "Daylight Time ng Gitnang Australya", "AKDT": "Daylight Time sa Alaska", "AWST": "Standard Time ng Kanlurang Australya", "GMT": "Greenwich Mean Time", "LHDT": "Daylight Time sa Lorde Howe", "ARST": "Oras sa Tag-init ng Argentina", "CST": "Sentral na Standard na Oras", "NZST": "Standard na Oras sa New Zealand", "NZDT": "Daylight Time sa New Zealand", "CAT": "Oras sa Gitnang Africa", "COST": "Oras sa Tag-init ng Colombia", "BT": "Oras sa Bhutan"}, + timezones: map[string]string{"MDT": "MDT", "HEOG": "Oras sa Tag-init ng Kanlurang Greenland", "HKT": "Standard na Oras sa Hong Kong", "MESZ": "Oras sa Tag-init ng Gitnang Europe", "CLST": "Oras sa Tag-init ng Chile", "WART": "Standard na Oras sa Kanlurang Argentina", "COT": "Standard na Oras sa Colombia", "EST": "Eastern na Standard na Oras", "ACWST": "Standard Time ng Gitnang Kanluran ng Australya", "HAT": "Daylight Time sa Newfoundland", "AEST": "Standard Time ng Silangang Australya", "ChST": "Standard na Oras sa Chamorro", "HECU": "Daylight Time sa Cuba", "AKDT": "Daylight Time sa Alaska", "AST": "Standard na Oras sa Atlantiko", "WESZ": "Oras sa Tag-init ng Kanlurang Europe", "OEZ": "Standard na Oras sa Silangang Europe", "HNNOMX": "Standard na Oras sa Hilagang-kanlurang Mexico", "AKST": "Standard na Oras sa Alaska", "MYT": "Oras ng Malaysia", "UYT": "Standard na Oras sa Uruguay", "WIB": "Oras ng Kanlurang Indonesiya", "BT": "Oras sa Bhutan", "ART": "Standard na Oras sa Argentina", "CAT": "Oras sa Gitnang Africa", "SGT": "Standard na Oras sa Singapore", "CDT": "Sentral na Daylight Time", "SAST": "Oras sa Timog Africa", "HEEG": "Oras sa Tag-init ng Silangang Greenland", "HEPM": "Daylight Time sa Saint Pierre and Miquelon", "CHAST": "Standard na Oras sa Chatham", "IST": "Standard na Oras sa Bhutan", "CLT": "Standard na Oras sa Chile", "HNEG": "Standard na Oras sa Silangang Greenland", "WIT": "Oras ng Silangang Indonesiya", "VET": "Oras sa Venezuela", "AWDT": "Daylight Time sa Kanlurang Australya", "∅∅∅": "Oras sa Tag-init ng Peru", "NZDT": "Daylight Time sa New Zealand", "HAST": "Standard na Oras sa Hawaii-Aleutian", "PDT": "Daylight Time sa Pasipiko", "ACDT": "Daylight Time ng Gitnang Australya", "CST": "Sentral na Karaniwang Oras", "GYT": "Oras sa Guyana", "TMT": "Standard na Oras sa Turkmenistan", "AEDT": "Daylight Time ng Silangang Australya", "NZST": "Standard na Oras sa New Zealand", "BOT": "Oras sa Bolivia", "EDT": "Eastern Daylight Time", "HADT": "Oras sa Tag-init ng Hawaii-Aleutian", "HKST": "Oras sa Tag-init ng Hong Kong", "COST": "Oras sa Tag-init ng Colombia", "HNPMX": "Standard na Oras sa Pasipiko ng Mexico", "HNT": "Standard na Oras sa Newfoundland", "HENOMX": "Daylight Time sa Hilagang-kanlurang Mexico", "WEZ": "Standard na Oras sa Kanlurang Europe", "ARST": "Oras sa Tag-init ng Argentina", "HNPM": "Standard na Oras sa Saint Pierre and Miquelon", "LHDT": "Daylight Time sa Lorde Howe", "ECT": "Oras sa Ecuador", "GMT": "Greenwich Mean Time", "UYST": "Oras sa Tag-init ng Uruguay", "AWST": "Standard Time ng Kanlurang Australya", "JST": "Standard na Oras sa Japan", "GFT": "Oras sa French Guiana", "OESZ": "Oras sa Tag-init ng Silangang Europe", "EAT": "Oras sa Silangang Africa", "WITA": "Oras ng Gitnang Indonesiya", "WARST": "Oras sa Tag-init ng Kanlurang Argentina", "ACWDT": "Daylight Time ng Gitnang Kanluran ng Australya", "ACST": "Standard Time ng Gitnang Australya", "SRT": "Oras sa Suriname", "HNOG": "Standard na Oras sa Kanlurang Greenland", "PST": "Standard na Oras sa Pasipiko", "CHADT": "Daylight Time sa Chatham", "MEZ": "Standard na Oras sa Gitnang Europe", "WAST": "Oras sa Tag-init ng Kanlurang Africa", "HNCU": "Standard na Oras sa Cuba", "ADT": "Daylight Time sa Atlantiko", "LHST": "Standard na Oras sa Lord Howe", "JDT": "Daylight Time sa Japan", "TMST": "Oras sa Tag-init ng Turkmenistan", "WAT": "Standard na Oras sa Kanlurang Africa", "HEPMX": "Daylight Time sa Pasipiko ng Mexico", "MST": "MST"}, } } @@ -438,7 +438,12 @@ func (fil *fil) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +457,12 @@ func (fil *fil) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (fil *fil) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fil_PH/fil_PH.go b/fil_PH/fil_PH.go index 40d30cfbd..9d906357a 100644 --- a/fil_PH/fil_PH.go +++ b/fil_PH/fil_PH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ene", "Peb", "Mar", "Abr", "May", "Hun", "Hul", "Ago", "Set", "Okt", "Nob", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"BC", "AD"}, - timezones: map[string]string{"UYST": "Oras sa Tag-init ng Uruguay", "∅∅∅": "Oras sa Tag-init ng Brasilia", "CHADT": "Daylight Time sa Chatham", "VET": "Oras sa Venezuela", "MDT": "Daylight Time sa Bundok", "CLST": "Oras sa Tag-init ng Chile", "TMT": "Standard na Oras sa Turkmenistan", "HNT": "Standard na Oras sa Newfoundland", "OESZ": "Oras sa Tag-init ng Silangang Europe", "GFT": "Oras sa French Guiana", "EAT": "Oras sa Silangang Africa", "NZDT": "Daylight Time sa New Zealand", "CLT": "Standard na Oras sa Chile", "MESZ": "Oras sa Tag-init ng Gitnang Europe", "AST": "Standard na Oras sa Atlantiko", "ADT": "Daylight Time sa Atlantiko", "SAST": "Oras sa Timog Africa", "WAST": "Oras sa Tag-init ng Kanlurang Africa", "HADT": "Oras sa Tag-init ng Hawaii-Aleutian", "AKDT": "Daylight Time sa Alaska", "BOT": "Oras sa Bolivia", "BT": "Oras sa Bhutan", "ECT": "Oras sa Ecuador", "ACWST": "Standard Time ng Gitnang Kanluran ng Australya", "NZST": "Standard na Oras sa New Zealand", "CAT": "Oras sa Gitnang Africa", "AWST": "Standard Time ng Kanlurang Australya", "LHST": "Standard na Oras sa Lord Howe", "IST": "Standard na Oras sa Bhutan", "WITA": "Oras ng Gitnang Indonesiya", "TMST": "Oras sa Tag-init ng Turkmenistan", "ChST": "Standard na Oras sa Chamorro", "HKST": "Oras sa Tag-init ng Hong Kong", "SGT": "Standard na Oras sa Singapore", "GMT": "Greenwich Mean Time", "LHDT": "Daylight Time sa Lorde Howe", "ACST": "Standard Time ng Gitnang Australya", "AKST": "Standard na Oras sa Alaska", "JST": "Standard na Oras sa Japan", "MEZ": "Standard na Oras sa Gitnang Europe", "ACDT": "Daylight Time ng Gitnang Australya", "WART": "Standard na Oras sa Kanlurang Argentina", "MYT": "Oras ng Malaysia", "UYT": "Standard na Oras sa Uruguay", "JDT": "Daylight Time sa Japan", "HAST": "Standard na Oras sa Hawaii-Aleutian", "ART": "Standard na Oras sa Argentina", "EDT": "Eastern Daylight Time", "HAT": "Daylight Time sa Newfoundland", "WIT": "Oras ng Silangang Indonesiya", "WEZ": "Standard na Oras sa Kanlurang Europe", "HKT": "Standard na Oras sa Hong Kong", "CHAST": "Standard na Oras sa Chatham", "ARST": "Oras sa Tag-init ng Argentina", "EST": "Eastern na Standard na Oras", "MST": "Standard na Oras sa Bundok", "WIB": "Oras ng Kanlurang Indonesiya", "COT": "Standard na Oras sa Colombia", "COST": "Oras sa Tag-init ng Colombia", "ACWDT": "Daylight Time ng Gitnang Kanluran ng Australya", "AEDT": "Daylight Time ng Silangang Australya", "PST": "Standard na Oras sa Pasipiko", "CDT": "Sentral na Daylight Time", "AWDT": "Daylight Time sa Kanlurang Australya", "OEZ": "Standard na Oras sa Silangang Europe", "PDT": "Daylight Time sa Pasipiko", "WAT": "Standard na Oras sa Kanlurang Africa", "AEST": "Standard Time ng Silangang Australya", "GYT": "Oras sa Guyana", "SRT": "Oras sa Suriname", "WESZ": "Oras sa Tag-init ng Kanlurang Europe", "WARST": "Oras sa Tag-init ng Kanlurang Argentina", "CST": "Sentral na Standard na Oras"}, + timezones: map[string]string{"AEDT": "Daylight Time ng Silangang Australya", "NZDT": "Daylight Time sa New Zealand", "ACDT": "Daylight Time ng Gitnang Australya", "HENOMX": "Daylight Time sa Hilagang-kanlurang Mexico", "VET": "Oras sa Venezuela", "OESZ": "Oras sa Tag-init ng Silangang Europe", "WARST": "Oras sa Tag-init ng Kanlurang Argentina", "ARST": "Oras sa Tag-init ng Argentina", "HAT": "Daylight Time sa Newfoundland", "JST": "Standard na Oras sa Japan", "HECU": "Daylight Time sa Cuba", "GMT": "Greenwich Mean Time", "ACWST": "Standard Time ng Gitnang Kanluran ng Australya", "ADT": "Daylight Time sa Atlantiko", "UYT": "Standard na Oras sa Uruguay", "WIB": "Oras ng Kanlurang Indonesiya", "SRT": "Oras sa Suriname", "LHDT": "Daylight Time sa Lorde Howe", "IST": "Standard na Oras sa Bhutan", "GFT": "Oras sa French Guiana", "EST": "Eastern na Standard na Oras", "HNOG": "Standard na Oras sa Kanlurang Greenland", "WAT": "Standard na Oras sa Kanlurang Africa", "ECT": "Oras sa Ecuador", "HKST": "Oras sa Tag-init ng Hong Kong", "BT": "Oras sa Bhutan", "HNPM": "Standard na Oras sa Saint Pierre and Miquelon", "EDT": "Eastern Daylight Time", "AKST": "Standard na Oras sa Alaska", "WIT": "Oras ng Silangang Indonesiya", "MDT": "MDT", "AWDT": "Daylight Time sa Kanlurang Australya", "WART": "Standard na Oras sa Kanlurang Argentina", "WESZ": "Oras sa Tag-init ng Kanlurang Europe", "HKT": "Standard na Oras sa Hong Kong", "WITA": "Oras ng Gitnang Indonesiya", "CHAST": "Standard na Oras sa Chatham", "JDT": "Daylight Time sa Japan", "TMST": "Oras sa Tag-init ng Turkmenistan", "HNNOMX": "Standard na Oras sa Hilagang-kanlurang Mexico", "AEST": "Standard Time ng Silangang Australya", "LHST": "Standard na Oras sa Lord Howe", "HNEG": "Standard na Oras sa Silangang Greenland", "HNPMX": "Standard na Oras sa Pasipiko ng Mexico", "ART": "Standard na Oras sa Argentina", "AST": "Standard na Oras sa Atlantiko", "MYT": "Oras ng Malaysia", "PST": "Standard na Oras sa Pasipiko", "HEPM": "Daylight Time sa Saint Pierre and Miquelon", "CLST": "Oras sa Tag-init ng Chile", "COT": "Standard na Oras sa Colombia", "HNCU": "Standard na Oras sa Cuba", "HADT": "Oras sa Tag-init ng Hawaii-Aleutian", "NZST": "Standard na Oras sa New Zealand", "MESZ": "Oras sa Tag-init ng Gitnang Europe", "∅∅∅": "Oras sa Tag-init ng Amazon", "COST": "Oras sa Tag-init ng Colombia", "CST": "Sentral na Karaniwang Oras", "HAST": "Standard na Oras sa Hawaii-Aleutian", "MEZ": "Standard na Oras sa Gitnang Europe", "SAST": "Oras sa Timog Africa", "OEZ": "Standard na Oras sa Silangang Europe", "CAT": "Oras sa Gitnang Africa", "GYT": "Oras sa Guyana", "ACWDT": "Daylight Time ng Gitnang Kanluran ng Australya", "HNT": "Standard na Oras sa Newfoundland", "PDT": "Daylight Time sa Pasipiko", "HEEG": "Oras sa Tag-init ng Silangang Greenland", "ACST": "Standard Time ng Gitnang Australya", "WAST": "Oras sa Tag-init ng Kanlurang Africa", "MST": "MST", "AWST": "Standard Time ng Kanlurang Australya", "CHADT": "Daylight Time sa Chatham", "CDT": "Sentral na Daylight Time", "HEPMX": "Daylight Time sa Pasipiko ng Mexico", "HEOG": "Oras sa Tag-init ng Kanlurang Greenland", "WEZ": "Standard na Oras sa Kanlurang Europe", "TMT": "Standard na Oras sa Turkmenistan", "ChST": "Standard na Oras sa Chamorro", "BOT": "Oras sa Bolivia", "EAT": "Oras sa Silangang Africa", "CLT": "Standard na Oras sa Chile", "SGT": "Standard na Oras sa Singapore", "AKDT": "Daylight Time sa Alaska", "UYST": "Oras sa Tag-init ng Uruguay"}, } } @@ -438,7 +438,12 @@ func (fil *fil_PH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +457,12 @@ func (fil *fil_PH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (fil *fil_PH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fo/fo.go b/fo/fo.go index 091139a6c..88bfff81c 100644 --- a/fo/fo.go +++ b/fo/fo.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"fyri Krist", "eftir Krist"}, - timezones: map[string]string{"ACST": "mið Avstralia vanlig tíð", "AEST": "eystur Avstralia vanlig tíð", "PDT": "Pacific summartíð", "CDT": "Central summartíð", "BT": "Butan tíð", "HAT": "Newfoundland summartíð", "WESZ": "Vesturevropa summartíð", "CHADT": "Chatham summartíð", "HAST": "Hawaii-Aleutian vanlig tíð", "CST": "Central vanlig tíð", "LHDT": "Lord Howe summartíð", "HKST": "Hong Kong summartíð", "AST": "Atlantic vanlig tíð", "NZST": "Nýsæland vanlig tíð", "HKT": "Hong Kong vanlig tíð", "NZDT": "Nýsæland summartíð", "ChST": "Chamorro vanlig tíð", "WIT": "Eystur Indonesia tíð", "LHST": "Lord Howe vanlig tíð", "MEZ": "Miðevropa vanlig tíð", "SAST": "Suðurafrika vanlig tíð", "AKDT": "Alaska summartíð", "WEZ": "Vesturevropa vanlig tíð", "AEDT": "eystur Avstralia summartíð", "ADT": "Atlantic summartíð", "EST": "Eastern vanlig tíð", "TMT": "Turkmenistan vanlig tíð", "COST": "Kolombia summartíð", "WITA": "Mið Indonesia tíð", "MDT": "Mountain summartíð", "BOT": "Bolivia tíð", "JDT": "Japan summartíð", "MESZ": "Miðevropa summartíð", "IST": "India tíð", "AWDT": "vestur Avstralia summartíð", "UYT": "Uruguai vanlig tíð", "JST": "Japan vanlig tíð", "CLT": "Kili vanlig tíð", "UYST": "Uruguai summartíð", "CHAST": "Chatham vanlig tíð", "MST": "Mountain vanlig tíð", "CLST": "Kili summartíð", "GFT": "Franska Gujana tíð", "VET": "Venesuela tíð", "WIB": "Vestur Indonesia tíð", "HADT": "Hawaii-Aleutian summartíð", "ACWST": "miðvestur Avstralia vanlig tíð", "ART": "Argentina vanlig tíð", "WARST": "Vestur Argentina summartíð", "GMT": "Greenwich Mean tíð", "ACDT": "mið Avstralia summartíð", "ACWDT": "miðvestur Avstralia summartíð", "AKST": "Alaska vanlig tíð", "TMST": "Turkmenistan summartíð", "GYT": "Gujana tíð", "CAT": "Miðafrika tíð", "SGT": "Singapor tíð", "∅∅∅": "Peru summartíð", "HNT": "Newfoundland vanlig tíð", "OESZ": "Eysturevropa summartíð", "WART": "Vestur Argentina vanlig tíð", "EAT": "Eysturafrika tíð", "PST": "Pacific vanlig tíð", "OEZ": "Eysturevropa vanlig tíð", "COT": "Kolombia vanlig tíð", "WAT": "Vesturafrika vanlig tíð", "EDT": "Eastern summartíð", "MYT": "Malaisia tíð", "ARST": "Argentina summartíð", "WAST": "Vesturafrika summartíð", "AWST": "vestur Avstralia vanlig tíð", "SRT": "Surinam tíð", "ECT": "Ekvador tíð"}, + timezones: map[string]string{"WIB": "Vestur Indonesia tíð", "HKST": "Hong Kong summartíð", "HNPM": "St. Pierre & Miquelon vanlig tíð", "LHDT": "Lord Howe summartíð", "AKDT": "Alaska summartíð", "COST": "Kolombia summartíð", "CST": "Central vanlig tíð", "BT": "Butan tíð", "HAT": "Newfoundland summartíð", "MESZ": "Miðevropa summartíð", "JDT": "Japan summartíð", "OESZ": "Eysturevropa summartíð", "HAST": "Hawaii-Aleutian vanlig tíð", "SRT": "Surinam tíð", "HEPM": "St. Pierre & Miquelon summartíð", "AST": "Atlantic vanlig tíð", "UYST": "Uruguai summartíð", "HNOG": "Vestur grønlendsk vanlig tíð", "NZDT": "Nýsæland summartíð", "TMT": "Turkmenistan vanlig tíð", "OEZ": "Eysturevropa vanlig tíð", "HNPMX": "Mexican Pacific vanlig tíð", "MDT": "Mountain summartíð", "WESZ": "Vesturevropa summartíð", "AWDT": "vestur Avstralia summartíð", "IST": "India tíð", "WAT": "Vesturafrika vanlig tíð", "HNEG": "Eystur grønlendsk vanlig tíð", "HNCU": "Cuba vanlig tíð", "ADT": "Atlantic summartíð", "MST": "Mountain vanlig tíð", "ARST": "Argentina summartíð", "PST": "Pacific vanlig tíð", "AEST": "eystur Avstralia vanlig tíð", "JST": "Japan vanlig tíð", "PDT": "Pacific summartíð", "HNNOMX": "Northwest Mexico vanlig tíð", "ECT": "Ekvador tíð", "MYT": "Malaisia tíð", "UYT": "Uruguai vanlig tíð", "VET": "Venesuela tíð", "CHADT": "Chatham summartíð", "SAST": "Suðurafrika vanlig tíð", "CLT": "Kili vanlig tíð", "CLST": "Kili summartíð", "ACWDT": "miðvestur Avstralia summartíð", "CHAST": "Chatham vanlig tíð", "BOT": "Bolivia tíð", "HENOMX": "Northwest Mexico summartíð", "CDT": "Central summartíð", "ACWST": "miðvestur Avstralia vanlig tíð", "ART": "Argentina vanlig tíð", "HKT": "Hong Kong vanlig tíð", "AEDT": "eystur Avstralia summartíð", "COT": "Kolombia vanlig tíð", "WIT": "Eystur Indonesia tíð", "WITA": "Mið Indonesia tíð", "∅∅∅": "Amasona summartíð", "EAT": "Eysturafrika tíð", "EST": "Eastern vanlig tíð", "HADT": "Hawaii-Aleutian summartíð", "WEZ": "Vesturevropa vanlig tíð", "LHST": "Lord Howe vanlig tíð", "WART": "Vestur Argentina vanlig tíð", "HECU": "Cuba summartíð", "HEPMX": "Mexican Pacific summartíð", "GYT": "Gujana tíð", "HEOG": "Vestur grønlendsk summartíð", "AWST": "vestur Avstralia vanlig tíð", "GFT": "Franska Gujana tíð", "ChST": "Chamorro vanlig tíð", "SGT": "Singapor tíð", "NZST": "Nýsæland vanlig tíð", "WAST": "Vesturafrika summartíð", "EDT": "Eastern summartíð", "HNT": "Newfoundland vanlig tíð", "TMST": "Turkmenistan summartíð", "ACST": "mið Avstralia vanlig tíð", "CAT": "Miðafrika tíð", "AKST": "Alaska vanlig tíð", "MEZ": "Miðevropa vanlig tíð", "HEEG": "Eystur grønlendsk summartíð", "ACDT": "mið Avstralia summartíð", "WARST": "Vestur Argentina summartíð", "GMT": "Greenwich Mean tíð"}, } } @@ -441,7 +441,12 @@ func (fo *fo) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (fo *fo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (fo *fo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fo_DK/fo_DK.go b/fo_DK/fo_DK.go index c623e03bb..84d2454c5 100644 --- a/fo_DK/fo_DK.go +++ b/fo_DK/fo_DK.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"fyri Krist", "eftir Krist"}, - timezones: map[string]string{"AST": "Atlantic vanlig tíð", "NZDT": "Nýsæland summartíð", "LHDT": "Lord Howe summartíð", "ACWDT": "miðvestur Avstralia summartíð", "CHAST": "Chatham vanlig tíð", "OESZ": "Eysturevropa summartíð", "COT": "Kolombia vanlig tíð", "WAT": "Vesturafrika vanlig tíð", "TMST": "Turkmenistan summartíð", "MST": "Mountain vanlig tíð", "WIT": "Eystur Indonesia tíð", "JST": "Japan vanlig tíð", "ECT": "Ekvador tíð", "WIB": "Vestur Indonesia tíð", "JDT": "Japan summartíð", "∅∅∅": "Brasilia summartíð", "ACST": "mið Avstralia vanlig tíð", "AEST": "eystur Avstralia vanlig tíð", "ADT": "Atlantic summartíð", "EAT": "Eysturafrika tíð", "HKST": "Hong Kong summartíð", "OEZ": "Eysturevropa vanlig tíð", "WART": "Vestur Argentina vanlig tíð", "AKST": "Alaska vanlig tíð", "BT": "Butan tíð", "GMT": "Greenwich Mean tíð", "COST": "Kolombia summartíð", "SGT": "Singapor tíð", "AEDT": "eystur Avstralia summartíð", "TMT": "Turkmenistan vanlig tíð", "HKT": "Hong Kong vanlig tíð", "WEZ": "Vesturevropa vanlig tíð", "HAST": "Hawaii-Aleutian vanlig tíð", "EDT": "Eastern summartíð", "LHST": "Lord Howe vanlig tíð", "ACDT": "mið Avstralia summartíð", "IST": "India tíð", "PDT": "Pacific summartíð", "MYT": "Malaisia tíð", "CST": "Central vanlig tíð", "GYT": "Gujana tíð", "NZST": "Nýsæland vanlig tíð", "ARST": "Argentina summartíð", "ACWST": "miðvestur Avstralia vanlig tíð", "VET": "Venesuela tíð", "MESZ": "Miðevropa summartíð", "AKDT": "Alaska summartíð", "WITA": "Mið Indonesia tíð", "UYT": "Uruguai vanlig tíð", "SRT": "Surinam tíð", "AWDT": "vestur Avstralia summartíð", "PST": "Pacific vanlig tíð", "ART": "Argentina vanlig tíð", "WARST": "Vestur Argentina summartíð", "EST": "Eastern vanlig tíð", "UYST": "Uruguai summartíð", "WESZ": "Vesturevropa summartíð", "CAT": "Miðafrika tíð", "GFT": "Franska Gujana tíð", "ChST": "Chamorro vanlig tíð", "AWST": "vestur Avstralia vanlig tíð", "HAT": "Newfoundland summartíð", "CHADT": "Chatham summartíð", "SAST": "Suðurafrika vanlig tíð", "MDT": "Mountain summartíð", "HNT": "Newfoundland vanlig tíð", "CLT": "Kili vanlig tíð", "HADT": "Hawaii-Aleutian summartíð", "WAST": "Vesturafrika summartíð", "CDT": "Central summartíð", "BOT": "Bolivia tíð", "CLST": "Kili summartíð", "MEZ": "Miðevropa vanlig tíð"}, + timezones: map[string]string{"∅∅∅": "Amasona summartíð", "HNPMX": "Mexican Pacific vanlig tíð", "WEZ": "Vesturevropa vanlig tíð", "LHST": "Lord Howe vanlig tíð", "CHAST": "Chatham vanlig tíð", "CHADT": "Chatham summartíð", "CAT": "Miðafrika tíð", "MDT": "MDT", "UYT": "Uruguai vanlig tíð", "ARST": "Argentina summartíð", "TMT": "Turkmenistan vanlig tíð", "TMST": "Turkmenistan summartíð", "WART": "Vestur Argentina vanlig tíð", "WARST": "Vestur Argentina summartíð", "VET": "Venesuela tíð", "BT": "Butan tíð", "SRT": "Surinam tíð", "IST": "India tíð", "OEZ": "Eysturevropa vanlig tíð", "GFT": "Franska Gujana tíð", "EAT": "Eysturafrika tíð", "COST": "Kolombia summartíð", "EDT": "Eastern summartíð", "MST": "MST", "MESZ": "Miðevropa summartíð", "NZST": "Nýsæland vanlig tíð", "CLT": "Kili vanlig tíð", "SGT": "Singapor tíð", "CLST": "Kili summartíð", "ACST": "mið Avstralia vanlig tíð", "ACDT": "mið Avstralia summartíð", "HNNOMX": "Northwest Mexico vanlig tíð", "CST": "Central vanlig tíð", "WIB": "Vestur Indonesia tíð", "ART": "Argentina vanlig tíð", "HEPM": "St. Pierre & Miquelon summartíð", "OESZ": "Eysturevropa summartíð", "HEPMX": "Mexican Pacific summartíð", "HADT": "Hawaii-Aleutian summartíð", "AWST": "vestur Avstralia vanlig tíð", "NZDT": "Nýsæland summartíð", "HEEG": "Eystur grønlendsk summartíð", "WAST": "Vesturafrika summartíð", "AKDT": "Alaska summartíð", "HAST": "Hawaii-Aleutian vanlig tíð", "HNEG": "Eystur grønlendsk vanlig tíð", "HENOMX": "Northwest Mexico summartíð", "HEOG": "Vestur grønlendsk summartíð", "WITA": "Mið Indonesia tíð", "ChST": "Chamorro vanlig tíð", "WIT": "Eystur Indonesia tíð", "HNOG": "Vestur grønlendsk vanlig tíð", "AEDT": "eystur Avstralia summartíð", "HKST": "Hong Kong summartíð", "ECT": "Ekvador tíð", "GMT": "Greenwich Mean tíð", "HNCU": "Cuba vanlig tíð", "AST": "Atlantic vanlig tíð", "PDT": "Pacific summartíð", "LHDT": "Lord Howe summartíð", "WAT": "Vesturafrika vanlig tíð", "AKST": "Alaska vanlig tíð", "ADT": "Atlantic summartíð", "GYT": "Gujana tíð", "BOT": "Bolivia tíð", "HECU": "Cuba summartíð", "EST": "Eastern vanlig tíð", "UYST": "Uruguai summartíð", "AEST": "eystur Avstralia vanlig tíð", "MEZ": "Miðevropa vanlig tíð", "SAST": "Suðurafrika vanlig tíð", "JDT": "Japan summartíð", "PST": "Pacific vanlig tíð", "WESZ": "Vesturevropa summartíð", "ACWDT": "miðvestur Avstralia summartíð", "HNT": "Newfoundland vanlig tíð", "HAT": "Newfoundland summartíð", "HKT": "Hong Kong vanlig tíð", "JST": "Japan vanlig tíð", "COT": "Kolombia vanlig tíð", "CDT": "Central summartíð", "MYT": "Malaisia tíð", "ACWST": "miðvestur Avstralia vanlig tíð", "AWDT": "vestur Avstralia summartíð", "HNPM": "St. Pierre & Miquelon vanlig tíð"}, } } @@ -441,7 +441,12 @@ func (fo *fo_DK) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (fo *fo_DK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (fo *fo_DK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fo_FO/fo_FO.go b/fo_FO/fo_FO.go index b5ecd237f..4967bd93f 100644 --- a/fo_FO/fo_FO.go +++ b/fo_FO/fo_FO.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"fKr", "eKr"}, erasWide: []string{"fyri Krist", "eftir Krist"}, - timezones: map[string]string{"EDT": "Eastern summartíð", "GYT": "Gujana tíð", "MST": "Mountain vanlig tíð", "VET": "Venesuela tíð", "WIB": "Vestur Indonesia tíð", "IST": "India tíð", "MEZ": "Miðevropa vanlig tíð", "WART": "Vestur Argentina vanlig tíð", "AST": "Atlantic vanlig tíð", "MYT": "Malaisia tíð", "ChST": "Chamorro vanlig tíð", "GFT": "Franska Gujana tíð", "HAST": "Hawaii-Aleutian vanlig tíð", "EST": "Eastern vanlig tíð", "TMT": "Turkmenistan vanlig tíð", "ECT": "Ekvador tíð", "MESZ": "Miðevropa summartíð", "ART": "Argentina vanlig tíð", "HKST": "Hong Kong summartíð", "COST": "Kolombia summartíð", "AEDT": "eystur Avstralia summartíð", "SAST": "Suðurafrika vanlig tíð", "SRT": "Surinam tíð", "WEZ": "Vesturevropa vanlig tíð", "SGT": "Singapor tíð", "WAST": "Vesturafrika summartíð", "JDT": "Japan summartíð", "WESZ": "Vesturevropa summartíð", "BOT": "Bolivia tíð", "NZST": "Nýsæland vanlig tíð", "HNT": "Newfoundland vanlig tíð", "ACDT": "mið Avstralia summartíð", "BT": "Butan tíð", "UYST": "Uruguai summartíð", "PDT": "Pacific summartíð", "CHAST": "Chatham vanlig tíð", "∅∅∅": "Azorurnar summartíð", "WIT": "Eystur Indonesia tíð", "CAT": "Miðafrika tíð", "ARST": "Argentina summartíð", "AKDT": "Alaska summartíð", "WITA": "Mið Indonesia tíð", "CDT": "Central summartíð", "AWST": "vestur Avstralia vanlig tíð", "COT": "Kolombia vanlig tíð", "PST": "Pacific vanlig tíð", "TMST": "Turkmenistan summartíð", "LHST": "Lord Howe vanlig tíð", "MDT": "Mountain summartíð", "CLT": "Kili vanlig tíð", "AWDT": "vestur Avstralia summartíð", "WAT": "Vesturafrika vanlig tíð", "NZDT": "Nýsæland summartíð", "HADT": "Hawaii-Aleutian summartíð", "ACWST": "miðvestur Avstralia vanlig tíð", "AEST": "eystur Avstralia vanlig tíð", "EAT": "Eysturafrika tíð", "JST": "Japan vanlig tíð", "OESZ": "Eysturevropa summartíð", "AKST": "Alaska vanlig tíð", "UYT": "Uruguai vanlig tíð", "CHADT": "Chatham summartíð", "OEZ": "Eysturevropa vanlig tíð", "HKT": "Hong Kong vanlig tíð", "ACST": "mið Avstralia vanlig tíð", "WARST": "Vestur Argentina summartíð", "ACWDT": "miðvestur Avstralia summartíð", "CLST": "Kili summartíð", "GMT": "Greenwich Mean tíð", "LHDT": "Lord Howe summartíð", "ADT": "Atlantic summartíð", "CST": "Central vanlig tíð", "HAT": "Newfoundland summartíð"}, + timezones: map[string]string{"TMT": "Turkmenistan vanlig tíð", "GYT": "Gujana tíð", "COT": "Kolombia vanlig tíð", "HAT": "Newfoundland summartíð", "WAST": "Vesturafrika summartíð", "HEPM": "St. Pierre & Miquelon summartíð", "HNOG": "Vestur grønlendsk vanlig tíð", "EAT": "Eysturafrika tíð", "WART": "Vestur Argentina vanlig tíð", "HECU": "Cuba summartíð", "HNT": "Newfoundland vanlig tíð", "CHAST": "Chatham vanlig tíð", "JDT": "Japan summartíð", "ACST": "mið Avstralia vanlig tíð", "WIB": "Vestur Indonesia tíð", "GFT": "Franska Gujana tíð", "CAT": "Miðafrika tíð", "HADT": "Hawaii-Aleutian summartíð", "AEST": "eystur Avstralia vanlig tíð", "HNPM": "St. Pierre & Miquelon vanlig tíð", "MESZ": "Miðevropa summartíð", "IST": "India tíð", "HEPMX": "Mexican Pacific summartíð", "HENOMX": "Northwest Mexico summartíð", "CDT": "Central summartíð", "AKDT": "Alaska summartíð", "WIT": "Eystur Indonesia tíð", "ACWDT": "miðvestur Avstralia summartíð", "HNEG": "Eystur grønlendsk vanlig tíð", "COST": "Kolombia summartíð", "MYT": "Malaisia tíð", "WEZ": "Vesturevropa vanlig tíð", "HKT": "Hong Kong vanlig tíð", "ACDT": "mið Avstralia summartíð", "SGT": "Singapor tíð", "MST": "MST", "UYT": "Uruguai vanlig tíð", "HEOG": "Vestur grønlendsk summartíð", "HNNOMX": "Northwest Mexico vanlig tíð", "ART": "Argentina vanlig tíð", "WESZ": "Vesturevropa summartíð", "ACWST": "miðvestur Avstralia vanlig tíð", "AWDT": "vestur Avstralia summartíð", "HKST": "Hong Kong summartíð", "CHADT": "Chatham summartíð", "MEZ": "Miðevropa vanlig tíð", "BT": "Butan tíð", "TMST": "Turkmenistan summartíð", "CLST": "Kili summartíð", "BOT": "Bolivia tíð", "JST": "Japan vanlig tíð", "∅∅∅": "Peru summartíð", "EDT": "Eastern summartíð", "AST": "Atlantic vanlig tíð", "UYST": "Uruguai summartíð", "AEDT": "eystur Avstralia summartíð", "LHST": "Lord Howe vanlig tíð", "NZST": "Nýsæland vanlig tíð", "ECT": "Ekvador tíð", "SAST": "Suðurafrika vanlig tíð", "NZDT": "Nýsæland summartíð", "HNCU": "Cuba vanlig tíð", "CST": "Central vanlig tíð", "HAST": "Hawaii-Aleutian vanlig tíð", "ChST": "Chamorro vanlig tíð", "WAT": "Vesturafrika vanlig tíð", "EST": "Eastern vanlig tíð", "AKST": "Alaska vanlig tíð", "SRT": "Surinam tíð", "PDT": "Pacific summartíð", "HEEG": "Eystur grønlendsk summartíð", "OESZ": "Eysturevropa summartíð", "WARST": "Vestur Argentina summartíð", "MDT": "MDT", "HNPMX": "Mexican Pacific vanlig tíð", "PST": "Pacific vanlig tíð", "AWST": "vestur Avstralia vanlig tíð", "LHDT": "Lord Howe summartíð", "CLT": "Kili vanlig tíð", "OEZ": "Eysturevropa vanlig tíð", "ADT": "Atlantic summartíð", "VET": "Venesuela tíð", "ARST": "Argentina summartíð", "WITA": "Mið Indonesia tíð", "GMT": "Greenwich Mean tíð"}, } } @@ -441,7 +441,12 @@ func (fo *fo_FO) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (fo *fo_FO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (fo *fo_FO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, fo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr/fr.go b/fr/fr.go index ad12b01f8..f4fa6483d 100644 --- a/fr/fr.go +++ b/fr/fr.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$AR", "ATS", "$AU", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "FB", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$BM", "$BN", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "$BS", "BTN", "BUK", "BWP", "BYB", "BYR", "$BZ", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$CL", "CNX", "CNY", "$CO", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "£CY", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "$FJ", "£FK", "F", "£GB", "GEK", "GEL", "GHC", "GHS", "£GI", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "£IE", "£IL", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "₤IT", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "£LB", "LKR", "LRD", "lLS", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "fMA", "MCF", "MDC", "MDL", "MGA", "Fmg", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "£MT", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$NA", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "$RH", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$SB", "SCR", "SDD", "SDG", "SDP", "SEK", "$SG", "SHP", "SIT", "SKK", "SLL", "SOS", "$SR", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "$TT", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$US", "USN", "USS", "UYI", "UYP", "$UY", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WS$", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "DTS", "XEU", "XFO", "XFU", "CFA", "XPD", "FCFP", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$AR", "ATS", "$AU", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "FB", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$BM", "$BN", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "$BS", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "$BZ", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$CL", "CNX", "CNY", "$CO", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "£CY", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "$FJ", "£FK", "F", "£GB", "GEK", "GEL", "GHC", "GHS", "£GI", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "£IE", "£IL", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "₤IT", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "£LB", "LKR", "LRD", "lLS", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "fMA", "MCF", "MDC", "MDL", "MGA", "Fmg", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "£MT", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$NA", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "$NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "$RH", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$SB", "SCR", "SDD", "SDG", "SDP", "SEK", "$SG", "SHP", "SIT", "SKK", "SLL", "SOS", "$SR", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "$TT", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$US", "USN", "USS", "UYI", "UYP", "$UY", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WS$", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "DTS", "XEU", "XFO", "XFU", "CFA", "XPD", "FCFP", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"WART": "heure normale de l’Ouest argentin", "SAST": "heure normale d’Afrique méridionale", "COST": "heure d’été de Colombie", "MEZ": "heure normale d’Europe centrale", "CHAST": "heure normale des îles Chatham", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "ART": "heure normale d’Argentine", "EDT": "heure d’été de l’Est", "CLT": "heure normale du Chili", "JDT": "heure d’été du Japon", "UYT": "heure normale de l’Uruguay", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure d’été d’Europe de l’Est", "ACST": "heure normale du centre de l’Australie", "CDT": "heure d’été du Centre", "NZDT": "heure d’été de la Nouvelle-Zélande", "AST": "heure normale de l’Atlantique", "SRT": "heure du Suriname", "WAST": "heure d’été d’Afrique de l’Ouest", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ADT": "heure d’été de l’Atlantique", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "GMT": "heure moyenne de Greenwich", "LHDT": "heure d’été de Lord Howe", "COT": "heure normale de Colombie", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale des Rocheuses", "BT": "heure du Bhoutan", "WIT": "heure de l’Est indonésien", "CAT": "heure normale d’Afrique centrale", "LHST": "heure normale de Lord Howe", "SGT": "heure de Singapour", "WARST": "heure d’été de l’Ouest argentin", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "AKDT": "heure d’été de l’Alaska", "PDT": "heure d’été du Pacifique", "NZST": "heure normale de la Nouvelle-Zélande", "AWST": "heure normale de l’Ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "MDT": "heure d’été des Rocheuses", "∅∅∅": "heure d’été des Açores", "WIB": "heure de l’Ouest indonésien", "ACDT": "heure d’été du centre de l’Australie", "ARST": "heure d’été de l’Argentine", "AKST": "heure normale de l’Alaska", "TMT": "heure normale du Turkménistan", "MYT": "heure de la Malaisie", "JST": "heure normale du Japon", "ECT": "heure de l’Équateur", "ACWST": "heure normale du centre-ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "PST": "heure normale du Pacifique nord-américain", "WITA": "heure du Centre indonésien", "TMST": "heure d’été du Turkménistan", "GFT": "heure de la Guyane française", "AEDT": "heure d’été de l’Est de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "IST": "heure de l’Inde", "UYST": "heure d’été de l’Uruguay", "CHADT": "heure d’été des îles Chatham", "HAT": "heure d’été de Terre-Neuve", "VET": "heure du Venezuela"}, + timezones: map[string]string{"SGT": "heure de Singapour", "MST": "heure normale de Macao", "UYT": "heure normale de l’Uruguay", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "SAST": "heure normale d’Afrique méridionale", "IST": "heure de l’Inde", "JDT": "heure d’été du Japon", "WARST": "heure d’été de l’Ouest argentin", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AST": "heure normale de l’Atlantique", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "ACWST": "heure normale du centre-ouest de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "AKDT": "heure d’été de l’Alaska", "HNOG": "heure normale de l’Ouest du Groenland", "CLST": "heure d’été du Chili", "TMST": "heure d’été du Turkménistan", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "HNEG": "heure normale de l’Est du Groenland", "WAT": "heure normale d’Afrique de l’Ouest", "ECT": "heure de l’Équateur", "GMT": "heure moyenne de Greenwich", "BT": "heure du Bhoutan", "HEOG": "heure d’été de l’Ouest du Groenland", "HNT": "heure normale de Terre-Neuve", "MDT": "heure d’été de Macao", "UYST": "heure d’été de l’Uruguay", "HNCU": "heure normale de Cuba", "CST": "heure normale du centre nord-américain", "AEDT": "heure d’été de l’Est de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "COT": "heure normale de Colombie", "ART": "heure normale d’Argentine", "CAT": "heure normale d’Afrique centrale", "WIB": "heure de l’Ouest indonésien", "LHST": "heure normale de Lord Howe", "CHAST": "heure normale des îles Chatham", "CLT": "heure normale du Chili", "∅∅∅": "heure d’été de l’Amazonie", "OEZ": "heure normale d’Europe de l’Est", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "MYT": "heure de la Malaisie", "MEZ": "heure normale d’Europe centrale", "MESZ": "heure d’été d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "JST": "heure normale du Japon", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "ARST": "heure d’été de l’Argentine", "HEPMX": "heure d’été du Pacifique mexicain", "LHDT": "heure d’été de Lord Howe", "WAST": "heure d’été d’Afrique de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "HEEG": "heure d’été de l’Est du Groenland", "TMT": "heure normale du Turkménistan", "COST": "heure d’été de Colombie", "PST": "heure normale du Pacifique nord-américain", "AEST": "heure normale de l’Est de l’Australie", "HKST": "heure d’été de Hong Kong", "AKST": "heure normale de l’Alaska", "WEZ": "heure normale d’Europe de l’Ouest", "EAT": "heure normale d’Afrique de l’Est", "GYT": "heure du Guyana", "BOT": "heure de Bolivie", "OESZ": "heure d’été d’Europe de l’Est", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "WIT": "heure de l’Est indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "ChST": "heure des Chamorro", "HNPMX": "heure normale du Pacifique mexicain", "VET": "heure du Venezuela", "WITA": "heure du Centre indonésien", "ACDT": "heure d’été du centre de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HECU": "heure d’été de Cuba"}, } } @@ -431,7 +431,12 @@ func (fr *fr) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_BE/fr_BE.go b/fr_BE/fr_BE.go index 40223ea50..646a1f5af 100644 --- a/fr_BE/fr_BE.go +++ b/fr_BE/fr_BE.go @@ -51,13 +51,13 @@ func New() locales.Translator { pluralsOrdinal: []locales.PluralRule{2, 6}, pluralsRange: []locales.PluralRule{2, 6}, decimal: ",", - group: ".", + group: " ", minus: "-", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"OESZ": "heure d’été d’Europe de l’Est", "ACDT": "heure d’été du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "TMST": "heure d’été du Turkménistan", "GFT": "heure de la Guyane française", "AEST": "heure normale de l’Est de l’Australie", "HNT": "heure normale de Terre-Neuve", "UYT": "heure normale de l’Uruguay", "MDT": "heure d’été des Rocheuses", "OEZ": "heure normale d’Europe de l’Est", "ECT": "heure de l’Équateur", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKDT": "heure d’été de l’Alaska", "PDT": "heure d’été du Pacifique", "HKST": "heure d’été de Hong Kong", "WIB": "heure de l’Ouest indonésien", "EST": "heure normale de l’Est nord-américain", "ADT": "heure d’été de l’Atlantique", "GMT": "heure moyenne de Greenwich", "ARST": "heure d’été de l’Argentine", "WART": "heure normale de l’Ouest argentin", "ACWST": "heure normale du centre-ouest de l’Australie", "CLST": "heure d’été du Chili", "COT": "heure normale de Colombie", "BOT": "heure de Bolivie", "ChST": "heure des Chamorro", "CHAST": "heure normale des îles Chatham", "WESZ": "heure d’été d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "WIT": "heure de l’Est indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "MYT": "heure de la Malaisie", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "WEZ": "heure normale d’Europe de l’Ouest", "COST": "heure d’été de Colombie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "TMT": "heure normale du Turkménistan", "GYT": "heure du Guyana", "CAT": "heure normale d’Afrique centrale", "AEDT": "heure d’été de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "EAT": "heure normale d’Afrique de l’Est", "CDT": "heure d’été du Centre", "LHST": "heure normale de Lord Howe", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "∅∅∅": "heure d’été de l’Acre", "SGT": "heure de Singapour", "WARST": "heure d’été de l’Ouest argentin", "IST": "heure de l’Inde", "BT": "heure du Bhoutan", "WAST": "heure d’été d’Afrique de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "SRT": "heure du Suriname", "MESZ": "heure d’été d’Europe centrale", "AST": "heure normale de l’Atlantique", "WITA": "heure du Centre indonésien", "MST": "heure normale des Rocheuses", "HKT": "heure normale de Hong Kong", "ACST": "heure normale du centre de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "SAST": "heure normale d’Afrique méridionale"}, + timezones: map[string]string{"AWDT": "heure d’été de l’Ouest de l’Australie", "HEEG": "heure d’été de l’Est du Groenland", "OESZ": "heure d’été d’Europe de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "UYST": "heure d’été de l’Uruguay", "SRT": "heure du Suriname", "ACWST": "heure normale du centre-ouest de l’Australie", "ChST": "heure des Chamorro", "WIB": "heure de l’Ouest indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "WARST": "heure d’été de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "ADT": "heure d’été de l’Atlantique", "MYT": "heure de la Malaisie", "HKST": "heure d’été de Hong Kong", "AWST": "heure normale de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "JST": "heure normale du Japon", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HNOG": "heure normale de l’Ouest du Groenland", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "MEZ": "heure normale d’Europe centrale", "LHST": "heure normale de Lord Howe", "LHDT": "heure d’été de Lord Howe", "HNT": "heure normale de Terre-Neuve", "PST": "heure normale du Pacifique nord-américain", "MESZ": "heure d’été d’Europe centrale", "SAST": "heure normale d’Afrique méridionale", "IST": "heure de l’Inde", "CLST": "heure d’été du Chili", "CST": "heure normale du centre nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "AEST": "heure normale de l’Est de l’Australie", "HKT": "heure normale de Hong Kong", "WITA": "heure du Centre indonésien", "ACST": "heure normale du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "WEZ": "heure normale d’Europe de l’Ouest", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "CDT": "heure d’été du Centre", "UYT": "heure normale de l’Uruguay", "COST": "heure d’été de Colombie", "ARST": "heure d’été de l’Argentine", "BOT": "heure de Bolivie", "HNEG": "heure normale de l’Est du Groenland", "SGT": "heure de Singapour", "GYT": "heure du Guyana", "WIT": "heure de l’Est indonésien", "∅∅∅": "heure d’été de l’Amazonie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "BT": "heure du Bhoutan", "HEOG": "heure d’été de l’Ouest du Groenland", "TMST": "heure d’été du Turkménistan", "WART": "heure normale de l’Ouest argentin", "HECU": "heure d’été de Cuba", "MST": "heure normale des Rocheuses", "EAT": "heure normale d’Afrique de l’Est", "OEZ": "heure normale d’Europe de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "VET": "heure du Venezuela", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "GFT": "heure de la Guyane française", "WAST": "heure d’été d’Afrique de l’Ouest", "GMT": "heure moyenne de Greenwich", "AEDT": "heure d’été de l’Est de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "AKDT": "heure d’été de l’Alaska", "PDT": "heure d’été du Pacifique", "NZDT": "heure d’été de la Nouvelle-Zélande", "CHADT": "heure d’été des îles Chatham", "JDT": "heure d’été du Japon", "ART": "heure normale d’Argentine", "WESZ": "heure d’été d’Europe de l’Ouest", "CLT": "heure normale du Chili", "TMT": "heure normale du Turkménistan", "ECT": "heure de l’Équateur", "COT": "heure normale de Colombie", "MDT": "heure d’été des Rocheuses"}, } } @@ -214,7 +214,7 @@ func (fr *fr_BE) WeekdaysWide() []string { func (fr *fr_BE) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -229,7 +229,9 @@ func (fr *fr_BE) FmtNumber(num float64, v uint64) string { if inWhole { if count == 3 { - b = append(b, fr.group[0]) + for j := len(fr.group) - 1; j >= 0; j-- { + b = append(b, fr.group[j]) + } count = 1 } else { count++ @@ -289,7 +291,7 @@ func (fr *fr_BE) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := fr.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -304,7 +306,9 @@ func (fr *fr_BE) FmtCurrency(num float64, v uint64, currency currency.Type) stri if inWhole { if count == 3 { - b = append(b, fr.group[0]) + for j := len(fr.group) - 1; j >= 0; j-- { + b = append(b, fr.group[j]) + } count = 1 } else { count++ @@ -347,7 +351,7 @@ func (fr *fr_BE) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := fr.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -362,7 +366,9 @@ func (fr *fr_BE) FmtAccounting(num float64, v uint64, currency currency.Type) st if inWhole { if count == 3 { - b = append(b, fr.group[0]) + for j := len(fr.group) - 1; j >= 0; j-- { + b = append(b, fr.group[j]) + } count = 1 } else { count++ @@ -440,7 +446,12 @@ func (fr *fr_BE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +465,12 @@ func (fr *fr_BE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -470,7 +486,12 @@ func (fr *fr_BE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_BF/fr_BF.go b/fr_BF/fr_BF.go index 64b31bc2e..4ab90b77e 100644 --- a/fr_BF/fr_BF.go +++ b/fr_BF/fr_BF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"NZDT": "heure d’été de la Nouvelle-Zélande", "AWDT": "heure d’été de l’Ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "HAST": "heure normale d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "PST": "heure normale du Pacifique nord-américain", "SRT": "heure du Suriname", "CHADT": "heure d’été des îles Chatham", "AKST": "heure normale de l’Alaska", "WAST": "heure d’été d’Afrique de l’Ouest", "MST": "heure normale des Rocheuses", "JDT": "heure d’été du Japon", "WEZ": "heure normale d’Europe de l’Ouest", "SGT": "heure de Singapour", "CHAST": "heure normale des îles Chatham", "ARST": "heure d’été de l’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "HKT": "heure normale de Hong Kong", "CST": "heure normale du centre nord-américain", "NZST": "heure normale de la Nouvelle-Zélande", "ACDT": "heure d’été du centre de l’Australie", "WART": "heure normale de l’Ouest argentin", "ACWST": "heure normale du centre-ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "TMST": "heure d’été du Turkménistan", "MEZ": "heure normale d’Europe centrale", "MESZ": "heure d’été d’Europe centrale", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "TMT": "heure normale du Turkménistan", "BOT": "heure de Bolivie", "CLST": "heure d’été du Chili", "BT": "heure du Bhoutan", "GMT": "heure moyenne de Greenwich", "GFT": "heure de la Guyane française", "WESZ": "heure d’été d’Europe de l’Ouest", "LHST": "heure normale de Lord Howe", "IST": "heure de l’Inde", "PDT": "heure d’été du Pacifique", "AST": "heure normale de l’Atlantique", "MDT": "heure d’été des Rocheuses", "LHDT": "heure d’été de Lord Howe", "COT": "heure normale de Colombie", "AEST": "heure normale de l’Est de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AKDT": "heure d’été de l’Alaska", "SAST": "heure normale d’Afrique méridionale", "CDT": "heure d’été du Centre", "WIB": "heure de l’Ouest indonésien", "COST": "heure d’été de Colombie", "EAT": "heure normale d’Afrique de l’Est", "WIT": "heure de l’Est indonésien", "∅∅∅": "heure d’été de l’Acre", "AEDT": "heure d’été de l’Est de l’Australie", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "JST": "heure normale du Japon", "HKST": "heure d’été de Hong Kong", "VET": "heure du Venezuela", "HAT": "heure d’été de Terre-Neuve", "OEZ": "heure normale d’Europe de l’Est", "ART": "heure normale d’Argentine", "GYT": "heure du Guyana", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "ACST": "heure normale du centre de l’Australie", "CLT": "heure normale du Chili", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "WAT": "heure normale d’Afrique de l’Ouest", "MYT": "heure de la Malaisie"}, + timezones: map[string]string{"SAST": "heure normale d’Afrique méridionale", "JST": "heure normale du Japon", "ACDT": "heure d’été du centre de l’Australie", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "BT": "heure du Bhoutan", "WEZ": "heure normale d’Europe de l’Ouest", "CHADT": "heure d’été des îles Chatham", "GYT": "heure du Guyana", "PDT": "heure d’été du Pacifique", "MEZ": "heure normale d’Europe centrale", "JDT": "heure d’été du Japon", "ACST": "heure normale du centre de l’Australie", "HEEG": "heure d’été de l’Est du Groenland", "TMST": "heure d’été du Turkménistan", "HECU": "heure d’été de Cuba", "HNPMX": "heure normale du Pacifique mexicain", "WIB": "heure de l’Ouest indonésien", "WIT": "heure de l’Est indonésien", "ART": "heure normale d’Argentine", "CLT": "heure normale du Chili", "WESZ": "heure d’été d’Europe de l’Ouest", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "OEZ": "heure normale d’Europe de l’Est", "ECT": "heure de l’Équateur", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "UYST": "heure d’été de l’Uruguay", "WITA": "heure du Centre indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "TMT": "heure normale du Turkménistan", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "SRT": "heure du Suriname", "HNOG": "heure normale de l’Ouest du Groenland", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "MYT": "heure de la Malaisie", "CST": "heure normale du centre nord-américain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HNT": "heure normale de Terre-Neuve", "IST": "heure de l’Inde", "ARST": "heure d’été de l’Argentine", "LHST": "heure normale de Lord Howe", "BOT": "heure de Bolivie", "AWDT": "heure d’été de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "EAT": "heure normale d’Afrique de l’Est", "EST": "heure normale de l’Est nord-américain", "MDT": "heure d’été de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "UYT": "heure normale de l’Uruguay", "VET": "heure du Venezuela", "GMT": "heure moyenne de Greenwich", "HNCU": "heure normale de Cuba", "MST": "heure normale de Macao", "CHAST": "heure normale des îles Chatham", "∅∅∅": "heure d’été de l’Amazonie", "GFT": "heure de la Guyane française", "MESZ": "heure d’été d’Europe centrale", "SGT": "heure de Singapour", "WART": "heure normale de l’Ouest argentin", "COST": "heure d’été de Colombie", "CDT": "heure d’été du Centre", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "HEOG": "heure d’été de l’Ouest du Groenland", "HNEG": "heure normale de l’Est du Groenland", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "WAST": "heure d’été d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "AWST": "heure normale de l’Ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "LHDT": "heure d’été de Lord Howe", "CLST": "heure d’été du Chili", "PST": "heure normale du Pacifique nord-américain", "HKT": "heure normale de Hong Kong", "WAT": "heure normale d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_BF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_BF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_BF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_BF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_BI/fr_BI.go b/fr_BI/fr_BI.go index 225648079..07aeda597 100644 --- a/fr_BI/fr_BI.go +++ b/fr_BI/fr_BI.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ARST": "heure d’été de l’Argentine", "AST": "heure normale de l’Atlantique", "SGT": "heure de Singapour", "COST": "heure d’été de Colombie", "MDT": "heure d’été des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "SRT": "heure du Suriname", "WESZ": "heure d’été d’Europe de l’Ouest", "EDT": "heure d’été de l’Est", "VET": "heure du Venezuela", "AEST": "heure normale de l’Est de l’Australie", "ART": "heure normale d’Argentine", "EST": "heure normale de l’Est nord-américain", "WAST": "heure d’été d’Afrique de l’Ouest", "CDT": "heure d’été du Centre", "WIT": "heure de l’Est indonésien", "LHST": "heure normale de Lord Howe", "OESZ": "heure d’été d’Europe de l’Est", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AKST": "heure normale de l’Alaska", "ChST": "heure des Chamorro", "UYST": "heure d’été de l’Uruguay", "GMT": "heure moyenne de Greenwich", "MESZ": "heure d’été d’Europe centrale", "PST": "heure normale du Pacifique nord-américain", "COT": "heure normale de Colombie", "WIB": "heure de l’Ouest indonésien", "MEZ": "heure normale d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "WART": "heure normale de l’Ouest argentin", "TMST": "heure d’été du Turkménistan", "MST": "heure normale des Rocheuses", "UYT": "heure normale de l’Uruguay", "CHAST": "heure normale des îles Chatham", "AEDT": "heure d’été de l’Est de l’Australie", "CST": "heure normale du centre nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "BT": "heure du Bhoutan", "JDT": "heure d’été du Japon", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "GYT": "heure du Guyana", "BOT": "heure de Bolivie", "HAT": "heure d’été de Terre-Neuve", "CLT": "heure normale du Chili", "ACWST": "heure normale du centre-ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "HKT": "heure normale de Hong Kong", "IST": "heure de l’Inde", "∅∅∅": "heure d’été des Açores", "NZST": "heure normale de la Nouvelle-Zélande", "AWST": "heure normale de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "PDT": "heure d’été du Pacifique", "MYT": "heure de la Malaisie", "HNT": "heure normale de Terre-Neuve", "OEZ": "heure normale d’Europe de l’Est", "SAST": "heure normale d’Afrique méridionale", "GFT": "heure de la Guyane française", "WEZ": "heure normale d’Europe de l’Ouest", "AKDT": "heure d’été de l’Alaska", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "TMT": "heure normale du Turkménistan", "HKST": "heure d’été de Hong Kong", "CHADT": "heure d’été des îles Chatham", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "JST": "heure normale du Japon", "ECT": "heure de l’Équateur", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest"}, + timezones: map[string]string{"HNPM": "heure normale de Saint-Pierre-et-Miquelon", "COT": "heure normale de Colombie", "SGT": "heure de Singapour", "CST": "heure normale du centre nord-américain", "HKST": "heure d’été de Hong Kong", "LHST": "heure normale de Lord Howe", "IST": "heure de l’Inde", "∅∅∅": "heure d’été de l’Amazonie", "WIB": "heure de l’Ouest indonésien", "ChST": "heure des Chamorro", "AKST": "heure normale de l’Alaska", "WEZ": "heure normale d’Europe de l’Ouest", "HNOG": "heure normale de l’Ouest du Groenland", "CHADT": "heure d’été des îles Chatham", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AKDT": "heure d’été de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "AEDT": "heure d’été de l’Est de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "EDT": "heure d’été de l’Est", "MESZ": "heure d’été d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "ADT": "heure d’été de l’Atlantique", "ACWST": "heure normale du centre-ouest de l’Australie", "ECT": "heure de l’Équateur", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "UYST": "heure d’été de l’Uruguay", "CDT": "heure d’été du Centre", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "OESZ": "heure d’été d’Europe de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "GYT": "heure du Guyana", "BT": "heure du Bhoutan", "HNEG": "heure normale de l’Est du Groenland", "TMST": "heure d’été du Turkménistan", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "WITA": "heure du Centre indonésien", "CLST": "heure d’été du Chili", "JDT": "heure d’été du Japon", "GFT": "heure de la Guyane française", "COST": "heure d’été de Colombie", "MST": "heure normale de Macao", "VET": "heure du Venezuela", "CLT": "heure normale du Chili", "CAT": "heure normale d’Afrique centrale", "HEPMX": "heure d’été du Pacifique mexicain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HEOG": "heure d’été de l’Ouest du Groenland", "UYT": "heure normale de l’Uruguay", "WIT": "heure de l’Est indonésien", "MEZ": "heure normale d’Europe centrale", "TMT": "heure normale du Turkménistan", "ACST": "heure normale du centre de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "HECU": "heure d’été de Cuba", "MDT": "heure d’été de Macao", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "ART": "heure normale d’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "EAT": "heure normale d’Afrique de l’Est", "WAT": "heure normale d’Afrique de l’Ouest", "WART": "heure normale de l’Ouest argentin", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "ARST": "heure d’été de l’Argentine", "AEST": "heure normale de l’Est de l’Australie", "LHDT": "heure d’été de Lord Howe", "HEEG": "heure d’été de l’Est du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "HKT": "heure normale de Hong Kong", "AWDT": "heure d’été de l’Ouest de l’Australie", "JST": "heure normale du Japon", "BOT": "heure de Bolivie", "OEZ": "heure normale d’Europe de l’Est", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AST": "heure normale de l’Atlantique", "MYT": "heure de la Malaisie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_BI) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_BI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_BI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_BI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_BJ/fr_BJ.go b/fr_BJ/fr_BJ.go index e98316d4b..66c907561 100644 --- a/fr_BJ/fr_BJ.go +++ b/fr_BJ/fr_BJ.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ACWST": "heure normale du centre-ouest de l’Australie", "IST": "heure de l’Inde", "TMST": "heure d’été du Turkménistan", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WAST": "heure d’été d’Afrique de l’Ouest", "MDT": "heure d’été des Rocheuses", "BT": "heure du Bhoutan", "LHST": "heure normale de Lord Howe", "COST": "heure d’été de Colombie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "SRT": "heure du Suriname", "WESZ": "heure d’été d’Europe de l’Ouest", "AKST": "heure normale de l’Alaska", "BOT": "heure de Bolivie", "NZDT": "heure d’été de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "WART": "heure normale de l’Ouest argentin", "ADT": "heure d’été de l’Atlantique", "TMT": "heure normale du Turkménistan", "ACST": "heure normale du centre de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "CLST": "heure d’été du Chili", "WIT": "heure de l’Est indonésien", "HKST": "heure d’été de Hong Kong", "ECT": "heure de l’Équateur", "MST": "heure normale des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "CHAST": "heure normale des îles Chatham", "PST": "heure normale du Pacifique nord-américain", "AWST": "heure normale de l’Ouest de l’Australie", "CDT": "heure d’été du Centre", "GYT": "heure du Guyana", "ART": "heure normale d’Argentine", "EAT": "heure normale d’Afrique de l’Est", "ChST": "heure des Chamorro", "CLT": "heure normale du Chili", "OEZ": "heure normale d’Europe de l’Est", "COT": "heure normale de Colombie", "AEDT": "heure d’été de l’Est de l’Australie", "LHDT": "heure d’été de Lord Howe", "SGT": "heure de Singapour", "VET": "heure du Venezuela", "ACDT": "heure d’été du centre de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "ARST": "heure d’été de l’Argentine", "WARST": "heure d’été de l’Ouest argentin", "AKDT": "heure d’été de l’Alaska", "CAT": "heure normale d’Afrique centrale", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "GMT": "heure moyenne de Greenwich", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "MEZ": "heure normale d’Europe centrale", "AEST": "heure normale de l’Est de l’Australie", "CHADT": "heure d’été des îles Chatham", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "∅∅∅": "heure d’été de Brasilia", "PDT": "heure d’été du Pacifique", "AST": "heure normale de l’Atlantique", "EST": "heure normale de l’Est nord-américain", "MYT": "heure de la Malaisie", "SAST": "heure normale d’Afrique méridionale", "HNT": "heure normale de Terre-Neuve", "WEZ": "heure normale d’Europe de l’Ouest", "WAT": "heure normale d’Afrique de l’Ouest", "EDT": "heure d’été de l’Est"}, + timezones: map[string]string{"UYST": "heure d’été de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "HECU": "heure d’été de Cuba", "MYT": "heure de la Malaisie", "GYT": "heure du Guyana", "HNOG": "heure normale de l’Ouest du Groenland", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "ACDT": "heure d’été du centre de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "SGT": "heure de Singapour", "EST": "heure normale de l’Est nord-américain", "HAT": "heure d’été de Terre-Neuve", "AEST": "heure normale de l’Est de l’Australie", "TMST": "heure d’été du Turkménistan", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "ART": "heure normale d’Argentine", "ACWST": "heure normale du centre-ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "BOT": "heure de Bolivie", "WAT": "heure normale d’Afrique de l’Ouest", "HNPMX": "heure normale du Pacifique mexicain", "AKST": "heure normale de l’Alaska", "ARST": "heure d’été de l’Argentine", "MEZ": "heure normale d’Europe centrale", "OESZ": "heure d’été d’Europe de l’Est", "UYT": "heure normale de l’Uruguay", "HKT": "heure normale de Hong Kong", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "LHDT": "heure d’été de Lord Howe", "IST": "heure de l’Inde", "HNEG": "heure normale de l’Est du Groenland", "HEPMX": "heure d’été du Pacifique mexicain", "HNT": "heure normale de Terre-Neuve", "AWDT": "heure d’été de l’Ouest de l’Australie", "∅∅∅": "heure d’été de l’Amazonie", "COST": "heure d’été de Colombie", "WIB": "heure de l’Ouest indonésien", "TMT": "heure normale du Turkménistan", "HEEG": "heure d’été de l’Est du Groenland", "CDT": "heure d’été du Centre", "WIT": "heure de l’Est indonésien", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "HNCU": "heure normale de Cuba", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "OEZ": "heure normale d’Europe de l’Est", "AST": "heure normale de l’Atlantique", "VET": "heure du Venezuela", "SRT": "heure du Suriname", "HEOG": "heure d’été de l’Ouest du Groenland", "AKDT": "heure d’été de l’Alaska", "WITA": "heure du Centre indonésien", "LHST": "heure normale de Lord Howe", "ChST": "heure des Chamorro", "ACST": "heure normale du centre de l’Australie", "PDT": "heure d’été du Pacifique", "CST": "heure normale du centre nord-américain", "AEDT": "heure d’été de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "JDT": "heure d’été du Japon", "CLST": "heure d’été du Chili", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "EDT": "heure d’été de l’Est", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "WESZ": "heure d’été d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "CHAST": "heure normale des îles Chatham", "CHADT": "heure d’été des îles Chatham", "CAT": "heure normale d’Afrique centrale", "COT": "heure normale de Colombie", "GMT": "heure moyenne de Greenwich", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "BT": "heure du Bhoutan", "MDT": "heure d’été de Macao", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "GFT": "heure de la Guyane française", "WART": "heure normale de l’Ouest argentin", "MST": "heure normale de Macao"}, } } @@ -431,7 +431,12 @@ func (fr *fr_BJ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_BJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_BJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_BJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_BL/fr_BL.go b/fr_BL/fr_BL.go index fdd79f8e5..6c902f137 100644 --- a/fr_BL/fr_BL.go +++ b/fr_BL/fr_BL.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"CST": "heure normale du centre nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "JDT": "heure d’été du Japon", "AKDT": "heure d’été de l’Alaska", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "CLT": "heure normale du Chili", "MEZ": "heure normale d’Europe centrale", "CHADT": "heure d’été des îles Chatham", "WARST": "heure d’été de l’Ouest argentin", "PST": "heure normale du Pacifique nord-américain", "WAT": "heure normale d’Afrique de l’Ouest", "MST": "heure normale des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "UYT": "heure normale de l’Uruguay", "WART": "heure normale de l’Ouest argentin", "PDT": "heure d’été du Pacifique", "EAT": "heure normale d’Afrique de l’Est", "SAST": "heure normale d’Afrique méridionale", "MDT": "heure d’été des Rocheuses", "AWST": "heure normale de l’Ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WAST": "heure d’été d’Afrique de l’Ouest", "MYT": "heure de la Malaisie", "GMT": "heure moyenne de Greenwich", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "IST": "heure de l’Inde", "UYST": "heure d’été de l’Uruguay", "MESZ": "heure d’été d’Europe centrale", "COT": "heure normale de Colombie", "VET": "heure du Venezuela", "EDT": "heure d’été de l’Est", "CDT": "heure d’été du Centre", "LHST": "heure normale de Lord Howe", "GFT": "heure de la Guyane française", "ECT": "heure de l’Équateur", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "NZST": "heure normale de la Nouvelle-Zélande", "JST": "heure normale du Japon", "HKT": "heure normale de Hong Kong", "ARST": "heure d’été de l’Argentine", "HNT": "heure normale de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ART": "heure normale d’Argentine", "GYT": "heure du Guyana", "CLST": "heure d’été du Chili", "AST": "heure normale de l’Atlantique", "∅∅∅": "heure d’été du Pérou", "BT": "heure du Bhoutan", "HAT": "heure d’été de Terre-Neuve", "COST": "heure d’été de Colombie", "TMST": "heure d’été du Turkménistan", "WESZ": "heure d’été d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "SRT": "heure du Suriname", "CHAST": "heure normale des îles Chatham", "ACWST": "heure normale du centre-ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "OESZ": "heure d’été d’Europe de l’Est", "AEST": "heure normale de l’Est de l’Australie", "AKST": "heure normale de l’Alaska", "WIT": "heure de l’Est indonésien", "LHDT": "heure d’été de Lord Howe", "SGT": "heure de Singapour", "AEDT": "heure d’été de l’Est de l’Australie", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "TMT": "heure normale du Turkménistan", "WEZ": "heure normale d’Europe de l’Ouest"}, + timezones: map[string]string{"LHST": "heure normale de Lord Howe", "COT": "heure normale de Colombie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "HEEG": "heure d’été de l’Est du Groenland", "ECT": "heure de l’Équateur", "OEZ": "heure normale d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "UYT": "heure normale de l’Uruguay", "JDT": "heure d’été du Japon", "EST": "heure normale de l’Est nord-américain", "WIT": "heure de l’Est indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "HNCU": "heure normale de Cuba", "MYT": "heure de la Malaisie", "WIB": "heure de l’Ouest indonésien", "MESZ": "heure d’été d’Europe centrale", "CHADT": "heure d’été des îles Chatham", "TMT": "heure normale du Turkménistan", "ChST": "heure des Chamorro", "COST": "heure d’été de Colombie", "MDT": "heure d’été de Macao", "ARST": "heure d’été de l’Argentine", "LHDT": "heure d’été de Lord Howe", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AKST": "heure normale de l’Alaska", "HNT": "heure normale de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "IST": "heure de l’Inde", "CAT": "heure normale d’Afrique centrale", "HECU": "heure d’été de Cuba", "HNPMX": "heure normale du Pacifique mexicain", "HKST": "heure d’été de Hong Kong", "MEZ": "heure normale d’Europe centrale", "∅∅∅": "heure d’été de l’Amazonie", "GFT": "heure de la Guyane française", "GMT": "heure moyenne de Greenwich", "AST": "heure normale de l’Atlantique", "UYST": "heure d’été de l’Uruguay", "BT": "heure du Bhoutan", "PDT": "heure d’été du Pacifique", "WEZ": "heure normale d’Europe de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "CLST": "heure d’été du Chili", "HNEG": "heure normale de l’Est du Groenland", "EAT": "heure normale d’Afrique de l’Est", "SGT": "heure de Singapour", "EDT": "heure d’été de l’Est", "MST": "heure normale de Macao", "HKT": "heure normale de Hong Kong", "GYT": "heure du Guyana", "HNOG": "heure normale de l’Ouest du Groenland", "ACWST": "heure normale du centre-ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "HEPMX": "heure d’été du Pacifique mexicain", "TMST": "heure d’été du Turkménistan", "ACDT": "heure d’été du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "CST": "heure normale du centre nord-américain", "VET": "heure du Venezuela", "PST": "heure normale du Pacifique nord-américain", "WESZ": "heure d’été d’Europe de l’Ouest", "WITA": "heure du Centre indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "ACST": "heure normale du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "WARST": "heure d’été de l’Ouest argentin", "AKDT": "heure d’été de l’Alaska", "ART": "heure normale d’Argentine", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "JST": "heure normale du Japon", "BOT": "heure de Bolivie", "OESZ": "heure d’été d’Europe de l’Est", "ADT": "heure d’été de l’Atlantique", "CDT": "heure d’été du Centre", "HAST": "heure normale d’Hawaii - Aléoutiennes", "CLT": "heure normale du Chili", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "HEOG": "heure d’été de l’Ouest du Groenland", "AEST": "heure normale de l’Est de l’Australie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_BL) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_BL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_BL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_BL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CA/fr_CA.go b/fr_CA/fr_CA.go index fa06792d1..a0396906e 100644 --- a/fr_CA/fr_CA.go +++ b/fr_CA/fr_CA.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$\u00a0AU", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$\u00a0HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "CF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "C$", "NLG", "NOK", "NPR", "$\u00a0NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$\u00a0SG", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TL", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$\u00a0US", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZK", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$\u00a0AU", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$\u00a0HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "CF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "C$", "NLG", "NOK", "NPR", "$\u00a0NZ", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$\u00a0SG", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TL", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$\u00a0US", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZK", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " mn ", currencyNegativeSuffix: " mn ", - monthsAbbreviated: []string{"", "janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."}, + monthsAbbreviated: []string{"", "janv.", "févr.", "mars", "avr.", "mai", "juin", "juill.", "août", "sept.", "oct.", "nov.", "déc."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"}, daysAbbreviated: []string{"dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."}, daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, - periodsAbbreviated: []string{"", ""}, + periodsAbbreviated: []string{"a.m.", "p.m."}, periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"", ""}, - erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, - erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, - erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"WIT": "heure de l’Est indonésien", "WESZ": "heure avancée d’Europe de l’Ouest", "ACDT": "heure avancée du centre de l’Australie", "AEDT": "heure avancée de l’Est de l’Australie", "JST": "heure normale du Japon", "OESZ": "heure avancée d’Europe de l’Est", "SGT": "heure de Singapour", "COST": "heure avancée de Colombie", "IST": "heure de l’Inde", "ADT": "heure avancée de l’Atlantique", "CST": "heure normale du Centre", "MST": "heure normale des Rocheuses", "GMT": "heure moyenne de Greenwich", "OEZ": "heure normale d’Europe de l’Est", "ACST": "heure normale du centre de l’Australie", "TMT": "heure normale du Turkménistan", "GYT": "heure du Guyana", "NZDT": "heure avancée de la Nouvelle-Zélande", "GFT": "heure de Guyane française", "ACWST": "heure normale du centre-ouest de l’Australie", "ART": "heure normale d’Argentine", "TMST": "heure avancée du Turkménistan", "VET": "heure du Venezuela", "ARST": "heure avancée de l’Argentine", "MYT": "heure de la Malaisie", "AWST": "heure normale de l’Ouest de l’Australie", "CLST": "heure avancée du Chili", "EDT": "heure avancée de l’Est", "WEZ": "heure normale d’Europe de l’Ouest", "WART": "heure normale de l’Ouest argentin", "WITA": "heure du Centre indonésien", "BOT": "heure de Bolivie", "AWDT": "heure avancée de l’Ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "JDT": "heure avancée du Japon", "ChST": "heure des Chamorro", "CLT": "heure normale du Chili", "LHDT": "heure avancée de Lord Howe", "HADT": "heure avancée d’Hawaï-Aléoutiennes", "AKDT": "heure avancée de l’Alaska", "AST": "heure normale de l’Atlantique", "CAT": "heure d’Afrique centrale", "WIB": "heure de l’Ouest indonésien", "HAT": "heure avancée de Terre-Neuve", "UYT": "heure normale de l’Uruguay", "UYST": "heure avancée de l’Uruguay", "MESZ": "heure avancée d’Europe centrale", "WARST": "heure avancée de l’Ouest argentin", "SAST": "heure normale d’Afrique du Sud", "MDT": "heure avancée des Rocheuses", "MEZ": "heure normale d’Europe centrale", "ECT": "heure de l’Équateur", "PDT": "heure avancée du Pacifique", "∅∅∅": "heure avancée de Brasilia", "HKST": "heure avancée de Hong Kong", "EAT": "Heure d’Afrique orientale", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure avancée d’Afrique de l’Ouest", "EST": "heure normale de l’Est", "LHST": "heure normale de Lord Howe", "CHAST": "heure normale des Îles Chatham", "COT": "heure normale de Colombie", "HAST": "heure normale d’Hawaï-Aléoutiennes", "AEST": "heure normale de l’Est de l’Australie", "PST": "heure normale du Pacifique", "HKT": "heure normale de Hong Kong", "SRT": "heure du Suriname", "ACWDT": "heure avancée du centre-ouest de l’Australie", "CDT": "heure avancée du Centre", "BT": "heure du Bhoutan", "CHADT": "heure avancée des Îles Chatham", "AKST": "heure normale de l’Alaska", "NZST": "heure normale de la Nouvelle-Zélande"}, + periodsWide: []string{"a.m.", "p.m."}, + erasAbbreviated: []string{"", ""}, + erasNarrow: []string{"", ""}, + erasWide: []string{"avant l’ère chrétienne", "de l’ère chrétienne"}, + timezones: map[string]string{"EAT": "Heure d’Afrique orientale", "HENOMX": "heure avancée du Nord-Ouest du Mexique", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "SAST": "heure normale d’Afrique du Sud", "ACST": "heure normale du centre de l’Australie", "PDT": "heure avancée du Pacifique", "CHAST": "heure normale des Îles Chatham", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure avancée d’Afrique de l’Ouest", "ECT": "heure de l’Équateur", "AEST": "heure normale de l’Est de l’Australie", "HKT": "heure normale de Hong Kong", "MEZ": "heure normale d’Europe centrale", "TMT": "heure normale du Turkménistan", "SGT": "heure de Singapour", "BT": "heure du Bhoutan", "WEZ": "heure normale d’Europe de l’Ouest", "HAT": "heure avancée de Terre-Neuve", "HNOG": "heure normale de l’Ouest du Groenland", "CST": "heure normale du Centre", "AST": "heure normale de l’Atlantique", "PST": "heure normale du Pacifique", "HKST": "heure avancée de Hong Kong", "HNCU": "heure normale de Cuba", "CDT": "heure avancée du Centre", "ART": "heure normale d’Argentine", "LHST": "heure normale de Lord Howe", "NZDT": "heure avancée de la Nouvelle-Zélande", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure avancée d’Europe de l’Est", "HAST": "heure normale d’Hawaï-Aléoutiennes", "AEDT": "heure avancée de l’Est de l’Australie", "IST": "heure de l’Inde", "CLT": "heure normale du Chili", "GFT": "heure de Guyane française", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "UYST": "heure avancée de l’Uruguay", "LHDT": "heure avancée de Lord Howe", "WART": "heure normale de l’Ouest argentin", "EDT": "heure avancée de l’Est", "MYT": "heure de la Malaisie", "WESZ": "heure avancée d’Europe de l’Ouest", "AWST": "heure normale de l’Ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLST": "heure avancée du Chili", "BOT": "heure de Bolivie", "ACDT": "heure avancée du centre de l’Australie", "HEPMX": "heure avancée du Pacifique mexicain", "COST": "heure avancée de Colombie", "ADT": "heure avancée de l’Atlantique", "HADT": "heure avancée d’Hawaï-Aléoutiennes", "CHADT": "heure avancée des Îles Chatham", "TMST": "heure avancée du Turkménistan", "UYT": "heure normale de l’Uruguay", "WIT": "heure de l’Est indonésien", "ACWDT": "heure avancée du centre-ouest de l’Australie", "JDT": "heure avancée du Japon", "ChST": "heure des Chamorro", "HECU": "heure avancée de Cuba", "VET": "heure du Venezuela", "GYT": "heure du Guyana", "ACWST": "heure normale du centre-ouest de l’Australie", "HEOG": "heure avancée de l’Ouest du Groenland", "WARST": "heure avancée de l’Ouest argentin", "MDT": "heure avancée de Macao", "HNEG": "heure normale de l’Est du Groenland", "JST": "heure normale du Japon", "HNT": "heure normale de Terre-Neuve", "WITA": "heure du Centre indonésien", "MESZ": "heure avancée d’Europe centrale", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure d’Afrique centrale", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "MST": "heure normale de Macao", "HNPMX": "heure normale du Pacifique mexicain", "AKDT": "heure avancée de l’Alaska", "WIB": "heure de l’Ouest indonésien", "ARST": "heure avancée de l’Argentine", "AWDT": "heure avancée de l’Ouest de l’Australie", "HEPM": "heure avancée de Saint-Pierre-et-Miquelon", "∅∅∅": "heure avancée de l’Amazonie", "EST": "heure normale de l’Est", "HEEG": "heure avancée de l’Est du Groenland"}, } } @@ -401,7 +401,12 @@ func (fr *fr_CA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +420,12 @@ func (fr *fr_CA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +441,12 @@ func (fr *fr_CA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +461,8 @@ func (fr *fr_CA) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, fr.timeSeparator...) + b = append(b, []byte{0x20, 0x68}...) + b = append(b, []byte{0x20}...) if t.Minute() < 10 { b = append(b, '0') diff --git a/fr_CD/fr_CD.go b/fr_CD/fr_CD.go index 2e594c79b..872c47c27 100644 --- a/fr_CD/fr_CD.go +++ b/fr_CD/fr_CD.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -70,12 +70,12 @@ func New() locales.Translator { daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"MESZ": "heure d’été d’Europe centrale", "ACWDT": "heure d’été du centre-ouest de l’Australie", "PDT": "heure d’été du Pacifique", "AWST": "heure normale de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "WESZ": "heure d’été d’Europe de l’Ouest", "WART": "heure normale de l’Ouest argentin", "WAST": "heure d’été d’Afrique de l’Ouest", "MYT": "heure de la Malaisie", "UYST": "heure d’été de l’Uruguay", "GMT": "heure moyenne de Greenwich", "OESZ": "heure d’été d’Europe de l’Est", "ECT": "heure de l’Équateur", "TMT": "heure normale du Turkménistan", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "UYT": "heure normale de l’Uruguay", "SRT": "heure du Suriname", "WIB": "heure de l’Ouest indonésien", "ARST": "heure d’été de l’Argentine", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SAST": "heure normale d’Afrique méridionale", "IST": "heure de l’Inde", "TMST": "heure d’été du Turkménistan", "NZST": "heure normale de la Nouvelle-Zélande", "WEZ": "heure normale d’Europe de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "LHST": "heure normale de Lord Howe", "JDT": "heure d’été du Japon", "ChST": "heure des Chamorro", "EST": "heure normale de l’Est nord-américain", "EAT": "heure normale d’Afrique de l’Est", "CST": "heure normale du centre nord-américain", "HKT": "heure normale de Hong Kong", "NZDT": "heure d’été de la Nouvelle-Zélande", "AKDT": "heure d’été de l’Alaska", "WITA": "heure du Centre indonésien", "CDT": "heure d’été du Centre", "BT": "heure du Bhoutan", "WIT": "heure de l’Est indonésien", "COT": "heure normale de Colombie", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "AEST": "heure normale de l’Est de l’Australie", "GYT": "heure du Guyana", "CHAST": "heure normale des îles Chatham", "ADT": "heure d’été de l’Atlantique", "WARST": "heure d’été de l’Ouest argentin", "CHADT": "heure d’été des îles Chatham", "VET": "heure du Venezuela", "AEDT": "heure d’été de l’Est de l’Australie", "CLT": "heure normale du Chili", "HKST": "heure d’été de Hong Kong", "WAT": "heure normale d’Afrique de l’Ouest", "MST": "heure normale des Rocheuses", "MDT": "heure d’été des Rocheuses", "SGT": "heure de Singapour", "GFT": "heure de la Guyane française", "EDT": "heure d’été de l’Est", "BOT": "heure de Bolivie", "∅∅∅": "heure d’été de l’Acre", "ACST": "heure normale du centre de l’Australie", "PST": "heure normale du Pacifique nord-américain", "HNT": "heure normale de Terre-Neuve", "CAT": "heure normale d’Afrique centrale", "JST": "heure normale du Japon", "OEZ": "heure normale d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKST": "heure normale de l’Alaska", "ART": "heure normale d’Argentine", "ACWST": "heure normale du centre-ouest de l’Australie", "AST": "heure normale de l’Atlantique", "MEZ": "heure normale d’Europe centrale"}, + timezones: map[string]string{"MDT": "heure d’été de Macao", "UYST": "heure d’été de l’Uruguay", "LHDT": "heure d’été de Lord Howe", "HNEG": "heure normale de l’Est du Groenland", "GMT": "heure moyenne de Greenwich", "UYT": "heure normale de l’Uruguay", "AWST": "heure normale de l’Ouest de l’Australie", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest", "HNCU": "heure normale de Cuba", "ADT": "heure d’été de l’Atlantique", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "IST": "heure de l’Inde", "ACST": "heure normale du centre de l’Australie", "HEPMX": "heure d’été du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "HNPMX": "heure normale du Pacifique mexicain", "ACWST": "heure normale du centre-ouest de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "PDT": "heure d’été du Pacifique", "JST": "heure normale du Japon", "CLT": "heure normale du Chili", "BOT": "heure de Bolivie", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CHADT": "heure d’été des îles Chatham", "∅∅∅": "heure d’été de l’Amazonie", "EDT": "heure d’été de l’Est", "WEZ": "heure normale d’Europe de l’Ouest", "GFT": "heure de la Guyane française", "COST": "heure d’été de Colombie", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "WITA": "heure du Centre indonésien", "AEST": "heure normale de l’Est de l’Australie", "CAT": "heure normale d’Afrique centrale", "EAT": "heure normale d’Afrique de l’Est", "HNT": "heure normale de Terre-Neuve", "HAT": "heure d’été de Terre-Neuve", "JDT": "heure d’été du Japon", "WIT": "heure de l’Est indonésien", "HECU": "heure d’été de Cuba", "MST": "heure normale de Macao", "AKDT": "heure d’été de l’Alaska", "GYT": "heure du Guyana", "CHAST": "heure normale des îles Chatham", "LHST": "heure normale de Lord Howe", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "HNOG": "heure normale de l’Ouest du Groenland", "NZST": "heure normale de la Nouvelle-Zélande", "ECT": "heure de l’Équateur", "MYT": "heure de la Malaisie", "OEZ": "heure normale d’Europe de l’Est", "SGT": "heure de Singapour", "WAST": "heure d’été d’Afrique de l’Ouest", "CST": "heure normale du centre nord-américain", "HEOG": "heure d’été de l’Ouest du Groenland", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "SAST": "heure normale d’Afrique méridionale", "HEEG": "heure d’été de l’Est du Groenland", "CLST": "heure d’été du Chili", "WIB": "heure de l’Ouest indonésien", "PST": "heure normale du Pacifique nord-américain", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "AWDT": "heure d’été de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "MESZ": "heure d’été d’Europe centrale", "ARST": "heure d’été de l’Argentine", "WARST": "heure d’été de l’Ouest argentin", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACDT": "heure d’été du centre de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "BT": "heure du Bhoutan", "NZDT": "heure d’été de la Nouvelle-Zélande", "ChST": "heure des Chamorro"}, } } @@ -431,7 +431,12 @@ func (fr *fr_CD) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_CD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_CD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_CD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CF/fr_CF.go b/fr_CF/fr_CF.go index ce923f0dc..99378b87e 100644 --- a/fr_CF/fr_CF.go +++ b/fr_CF/fr_CF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ACWDT": "heure d’été du centre-ouest de l’Australie", "AKDT": "heure d’été de l’Alaska", "IST": "heure de l’Inde", "CAT": "heure normale d’Afrique centrale", "HKST": "heure d’été de Hong Kong", "SGT": "heure de Singapour", "HNT": "heure normale de Terre-Neuve", "WIB": "heure de l’Ouest indonésien", "MESZ": "heure d’été d’Europe centrale", "PDT": "heure d’été du Pacifique", "WITA": "heure du Centre indonésien", "MST": "heure normale des Rocheuses", "AWST": "heure normale de l’Ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "OEZ": "heure normale d’Europe de l’Est", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "ECT": "heure de l’Équateur", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "CST": "heure normale du centre nord-américain", "∅∅∅": "heure d’été de Brasilia", "SRT": "heure du Suriname", "BT": "heure du Bhoutan", "WAST": "heure d’été d’Afrique de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "AEST": "heure normale de l’Est de l’Australie", "CLT": "heure normale du Chili", "EST": "heure normale de l’Est nord-américain", "ACDT": "heure d’été du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "ADT": "heure d’été de l’Atlantique", "UYST": "heure d’été de l’Uruguay", "JST": "heure normale du Japon", "CDT": "heure d’été du Centre", "BOT": "heure de Bolivie", "COT": "heure normale de Colombie", "WARST": "heure d’été de l’Ouest argentin", "SAST": "heure normale d’Afrique méridionale", "GYT": "heure du Guyana", "GMT": "heure moyenne de Greenwich", "ACWST": "heure normale du centre-ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "TMST": "heure d’été du Turkménistan", "CHAST": "heure normale des îles Chatham", "WART": "heure normale de l’Ouest argentin", "ARST": "heure d’été de l’Argentine", "UYT": "heure normale de l’Uruguay", "COST": "heure d’été de Colombie", "WESZ": "heure d’été d’Europe de l’Ouest", "WAT": "heure normale d’Afrique de l’Ouest", "MDT": "heure d’été des Rocheuses", "ChST": "heure des Chamorro", "AWDT": "heure d’été de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "LHST": "heure normale de Lord Howe", "OESZ": "heure d’été d’Europe de l’Est", "AST": "heure normale de l’Atlantique", "MYT": "heure de la Malaisie", "NZST": "heure normale de la Nouvelle-Zélande", "CLST": "heure d’été du Chili", "WIT": "heure de l’Est indonésien", "JDT": "heure d’été du Japon", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "ACST": "heure normale du centre de l’Australie", "AKST": "heure normale de l’Alaska", "TMT": "heure normale du Turkménistan", "LHDT": "heure d’été de Lord Howe", "WEZ": "heure normale d’Europe de l’Ouest"}, + timezones: map[string]string{"SRT": "heure du Suriname", "MEZ": "heure normale d’Europe centrale", "CLST": "heure d’été du Chili", "WAST": "heure d’été d’Afrique de l’Ouest", "SGT": "heure de Singapour", "HECU": "heure d’été de Cuba", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "HKT": "heure normale de Hong Kong", "WITA": "heure du Centre indonésien", "COST": "heure d’été de Colombie", "WARST": "heure d’été de l’Ouest argentin", "MST": "heure normale de Macao", "ARST": "heure d’été de l’Argentine", "HAT": "heure d’été de Terre-Neuve", "ACDT": "heure d’été du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "CST": "heure normale du centre nord-américain", "GMT": "heure moyenne de Greenwich", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "OEZ": "heure normale d’Europe de l’Est", "LHST": "heure normale de Lord Howe", "LHDT": "heure d’été de Lord Howe", "JST": "heure normale du Japon", "GYT": "heure du Guyana", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "HNPMX": "heure normale du Pacifique mexicain", "AEST": "heure normale de l’Est de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "HNEG": "heure normale de l’Est du Groenland", "ACST": "heure normale du centre de l’Australie", "WART": "heure normale de l’Ouest argentin", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HEOG": "heure d’été de l’Ouest du Groenland", "PST": "heure normale du Pacifique nord-américain", "CHADT": "heure d’été des îles Chatham", "HEEG": "heure d’été de l’Est du Groenland", "∅∅∅": "heure d’été du Pérou", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "WIT": "heure de l’Est indonésien", "AKST": "heure normale de l’Alaska", "WIB": "heure de l’Ouest indonésien", "HNT": "heure normale de Terre-Neuve", "NZDT": "heure d’été de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "IST": "heure de l’Inde", "HNCU": "heure normale de Cuba", "GFT": "heure de la Guyane française", "BT": "heure du Bhoutan", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "MYT": "heure de la Malaisie", "ART": "heure normale d’Argentine", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "MDT": "heure d’été de Macao", "AWDT": "heure d’été de l’Ouest de l’Australie", "MESZ": "heure d’été d’Europe centrale", "BOT": "heure de Bolivie", "ECT": "heure de l’Équateur", "EST": "heure normale de l’Est nord-américain", "HEPMX": "heure d’été du Pacifique mexicain", "VET": "heure du Venezuela", "AWST": "heure normale de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "AKDT": "heure d’été de l’Alaska", "CLT": "heure normale du Chili", "ChST": "heure des Chamorro", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "CDT": "heure d’été du Centre", "HNOG": "heure normale de l’Ouest du Groenland", "PDT": "heure d’été du Pacifique", "JDT": "heure d’été du Japon", "EAT": "heure normale d’Afrique de l’Est"}, } } @@ -431,7 +431,12 @@ func (fr *fr_CF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_CF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_CF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_CF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CG/fr_CG.go b/fr_CG/fr_CG.go index 67295fcbe..86650e770 100644 --- a/fr_CG/fr_CG.go +++ b/fr_CG/fr_CG.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"TMST": "heure d’été du Turkménistan", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "ARST": "heure d’été de l’Argentine", "EDT": "heure d’été de l’Est", "PST": "heure normale du Pacifique nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "WEZ": "heure normale d’Europe de l’Ouest", "SGT": "heure de Singapour", "IST": "heure de l’Inde", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "PDT": "heure d’été du Pacifique", "WAST": "heure d’été d’Afrique de l’Ouest", "CLST": "heure d’été du Chili", "OESZ": "heure d’été d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "ACDT": "heure d’été du centre de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "SRT": "heure du Suriname", "WESZ": "heure d’été d’Europe de l’Ouest", "ART": "heure normale d’Argentine", "AST": "heure normale de l’Atlantique", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "ChST": "heure des Chamorro", "JDT": "heure d’été du Japon", "COST": "heure d’été de Colombie", "WIB": "heure de l’Ouest indonésien", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "BT": "heure du Bhoutan", "JST": "heure normale du Japon", "EST": "heure normale de l’Est nord-américain", "MYT": "heure de la Malaisie", "UYT": "heure normale de l’Uruguay", "ECT": "heure de l’Équateur", "WART": "heure normale de l’Ouest argentin", "WAT": "heure normale d’Afrique de l’Ouest", "WIT": "heure de l’Est indonésien", "CHADT": "heure d’été des îles Chatham", "WARST": "heure d’été de l’Ouest argentin", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "GMT": "heure moyenne de Greenwich", "LHDT": "heure d’été de Lord Howe", "SAST": "heure normale d’Afrique méridionale", "AWST": "heure normale de l’Ouest de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "∅∅∅": "heure d’été des Açores", "MDT": "heure d’été des Rocheuses", "HAT": "heure d’été de Terre-Neuve", "MEZ": "heure normale d’Europe centrale", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "HNT": "heure normale de Terre-Neuve", "HKT": "heure normale de Hong Kong", "COT": "heure normale de Colombie", "VET": "heure du Venezuela", "ACST": "heure normale du centre de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AKDT": "heure d’été de l’Alaska", "CDT": "heure d’été du Centre", "NZST": "heure normale de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "GFT": "heure de la Guyane française", "HKST": "heure d’été de Hong Kong"}, + timezones: map[string]string{"HEOG": "heure d’été de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "HNEG": "heure normale de l’Est du Groenland", "GMT": "heure moyenne de Greenwich", "GYT": "heure du Guyana", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "OEZ": "heure normale d’Europe de l’Est", "UYT": "heure normale de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "TMT": "heure normale du Turkménistan", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "JST": "heure normale du Japon", "ADT": "heure d’été de l’Atlantique", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "COST": "heure d’été de Colombie", "MDT": "heure d’été de Macao", "HNOG": "heure normale de l’Ouest du Groenland", "ECT": "heure de l’Équateur", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "JDT": "heure d’été du Japon", "UYST": "heure d’été de l’Uruguay", "ACDT": "heure d’été du centre de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "WART": "heure normale de l’Ouest argentin", "WARST": "heure d’été de l’Ouest argentin", "AWST": "heure normale de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "CLST": "heure d’été du Chili", "ChST": "heure des Chamorro", "ACST": "heure normale du centre de l’Australie", "AKST": "heure normale de l’Alaska", "ARST": "heure d’été de l’Argentine", "HKT": "heure normale de Hong Kong", "SAST": "heure normale d’Afrique méridionale", "PDT": "heure d’été du Pacifique", "WITA": "heure du Centre indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale de Macao", "WIT": "heure de l’Est indonésien", "CHADT": "heure d’été des îles Chatham", "HEEG": "heure d’été de l’Est du Groenland", "GFT": "heure de la Guyane française", "BOT": "heure de Bolivie", "WAT": "heure normale d’Afrique de l’Ouest", "COT": "heure normale de Colombie", "HECU": "heure d’été de Cuba", "SGT": "heure de Singapour", "AEST": "heure normale de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "TMST": "heure d’été du Turkménistan", "∅∅∅": "heure d’été des Açores", "HEPMX": "heure d’été du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "ACWST": "heure normale du centre-ouest de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "EAT": "heure normale d’Afrique de l’Est", "BT": "heure du Bhoutan", "WEZ": "heure normale d’Europe de l’Ouest", "AEDT": "heure d’été de l’Est de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "HNPMX": "heure normale du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "MYT": "heure de la Malaisie", "LHDT": "heure d’été de Lord Howe", "CAT": "heure normale d’Afrique centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "HAT": "heure d’été de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "IST": "heure de l’Inde", "HNCU": "heure normale de Cuba", "CDT": "heure d’été du Centre", "AST": "heure normale de l’Atlantique", "WESZ": "heure d’été d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "PST": "heure normale du Pacifique nord-américain"}, } } @@ -431,7 +431,12 @@ func (fr *fr_CG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_CG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_CG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_CG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CH/fr_CH.go b/fr_CH/fr_CH.go index 775861468..479cf6828 100644 --- a/fr_CH/fr_CH.go +++ b/fr_CH/fr_CH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"", ""}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ART": "heure normale d’Argentine", "PDT": "heure d’été du Pacifique", "MDT": "heure d’été de Macao", "LHST": "heure normale de Lord Howe", "WESZ": "heure d’été d’Europe de l’Ouest", "TMT": "heure normale du Turkménistan", "NZST": "heure normale de la Nouvelle-Zélande", "LHDT": "heure d’été de Lord Howe", "UYST": "heure d’été de l’Uruguay", "∅∅∅": "heure d’été de Brasilia", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "BT": "heure du Bhoutan", "MYT": "heure de la Malaisie", "AKST": "heure normale de l’Alaska", "HKT": "heure normale de Hong Kong", "ECT": "heure de l’Équateur", "HNT": "heure normale de Terre-Neuve", "SRT": "heure du Suriname", "WITA": "heure du Centre indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "JDT": "heure d’été du Japon", "OESZ": "heure d’été d’Europe de l’Est", "WEZ": "heure normale d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "COT": "heure normale de Colombie", "WARST": "heure d’été de l’Ouest argentin", "ChST": "heure des Chamorro", "IST": "heure de l’Inde", "EST": "heure normale de l’Est nord-américain", "PST": "heure normale du Pacifique nord-américain", "SAST": "heure normale d’Afrique méridionale", "CHADT": "heure d’été des îles Chatham", "WART": "heure normale de l’Ouest argentin", "BOT": "heure de Bolivie", "COST": "heure d’été de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "MESZ": "heure d’été d’Europe centrale", "CHAST": "heure normale des îles Chatham", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ARST": "heure d’été de l’Argentine", "ADT": "heure d’été de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "AEST": "heure normale de l’Est de l’Australie", "AKDT": "heure d’été de l’Alaska", "MST": "heure normale de Macao", "JST": "heure normale du Japon", "MEZ": "heure normale d’Europe centrale", "SGT": "heure de Singapour", "AEDT": "heure d’été de l’Est de l’Australie", "AST": "heure normale de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "EDT": "heure d’été de l’Est", "WIT": "heure de l’Est indonésien", "CDT": "heure d’été du Centre", "TMST": "heure d’été du Turkménistan", "GYT": "heure du Guyana", "OEZ": "heure normale d’Europe de l’Est", "ACST": "heure normale du centre de l’Australie", "CST": "heure normale du centre nord-américain", "GMT": "heure moyenne de Greenwich", "CAT": "heure normale d’Afrique centrale", "UYT": "heure normale de l’Uruguay", "WAST": "heure d’été d’Afrique de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "ACDT": "heure d’été du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "CLT": "heure normale du Chili", "WIB": "heure de l’Ouest indonésien"}, + timezones: map[string]string{"OESZ": "heure d’été d’Europe de l’Est", "WIT": "heure de l’Est indonésien", "ARST": "heure d’été de l’Argentine", "WESZ": "heure d’été d’Europe de l’Ouest", "EST": "heure normale de l’Est nord-américain", "AKDT": "heure d’été de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "ACWDT": "heure d’été du centre-ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "CLST": "heure d’été du Chili", "HNEG": "heure normale de l’Est du Groenland", "GFT": "heure de la Guyane française", "BOT": "heure de Bolivie", "BT": "heure du Bhoutan", "AWDT": "heure d’été de l’Ouest de l’Australie", "GMT": "heure moyenne de Greenwich", "SGT": "heure de Singapour", "UYST": "heure d’été de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "HNPMX": "heure normale du Pacifique mexicain", "VET": "heure du Venezuela", "HEOG": "heure d’été de l’Ouest du Groenland", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SAST": "heure normale d’Afrique méridionale", "JDT": "heure d’été du Japon", "∅∅∅": "heure d’été du Pérou", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "CST": "heure normale du centre nord-américain", "ADT": "heure d’été de l’Atlantique", "HKT": "heure normale de Hong Kong", "ACST": "heure normale du centre de l’Australie", "MYT": "heure de la Malaisie", "ACWST": "heure normale du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "AKST": "heure normale de l’Alaska", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PDT": "heure d’été du Pacifique", "CHAST": "heure normale des îles Chatham", "ACDT": "heure d’été du centre de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "WART": "heure normale de l’Ouest argentin", "COST": "heure d’été de Colombie", "WAT": "heure normale d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HECU": "heure d’été de Cuba", "AEST": "heure normale de l’Est de l’Australie", "MST": "heure normale de Macao", "UYT": "heure normale de l’Uruguay", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "TMST": "heure d’été du Turkménistan", "EAT": "heure normale d’Afrique de l’Est", "COT": "heure normale de Colombie", "HNCU": "heure normale de Cuba", "LHST": "heure normale de Lord Howe", "JST": "heure normale du Japon", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "ART": "heure normale d’Argentine", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "ChST": "heure des Chamorro", "WIB": "heure de l’Ouest indonésien", "SRT": "heure du Suriname", "HNOG": "heure normale de l’Ouest du Groenland", "CHADT": "heure d’été des îles Chatham", "IST": "heure de l’Inde", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "AEDT": "heure d’été de l’Est de l’Australie", "EDT": "heure d’été de l’Est", "MDT": "heure d’été de Macao", "HKST": "heure d’été de Hong Kong", "WITA": "heure du Centre indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "MESZ": "heure d’été d’Europe centrale", "TMT": "heure normale du Turkménistan", "CDT": "heure d’été du Centre", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "CAT": "heure normale d’Afrique centrale", "GYT": "heure du Guyana"}, } } @@ -457,7 +457,12 @@ func (fr *fr_CH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +476,12 @@ func (fr *fr_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -487,7 +497,12 @@ func (fr *fr_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CI/fr_CI.go b/fr_CI/fr_CI.go index 34a3eb2c9..1a2b38476 100644 --- a/fr_CI/fr_CI.go +++ b/fr_CI/fr_CI.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"PDT": "heure d’été du Pacifique", "AST": "heure normale de l’Atlantique", "TMST": "heure d’été du Turkménistan", "AWST": "heure normale de l’Ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "CHADT": "heure d’été des îles Chatham", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "HNT": "heure normale de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "WAT": "heure normale d’Afrique de l’Ouest", "LHST": "heure normale de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure d’été d’Europe de l’Est", "WIB": "heure de l’Ouest indonésien", "NZST": "heure normale de la Nouvelle-Zélande", "JST": "heure normale du Japon", "WESZ": "heure d’été d’Europe de l’Ouest", "IST": "heure de l’Inde", "WIT": "heure de l’Est indonésien", "UYST": "heure d’été de l’Uruguay", "BT": "heure du Bhoutan", "HAST": "heure normale d’Hawaii - Aléoutiennes", "COST": "heure d’été de Colombie", "ART": "heure normale d’Argentine", "GYT": "heure du Guyana", "MDT": "heure d’été des Rocheuses", "MYT": "heure de la Malaisie", "HAT": "heure d’été de Terre-Neuve", "GFT": "heure de la Guyane française", "ACWST": "heure normale du centre-ouest de l’Australie", "SGT": "heure de Singapour", "EAT": "heure normale d’Afrique de l’Est", "CAT": "heure normale d’Afrique centrale", "JDT": "heure d’été du Japon", "ACST": "heure normale du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "CDT": "heure d’été du Centre", "ECT": "heure de l’Équateur", "CHAST": "heure normale des îles Chatham", "EDT": "heure d’été de l’Est", "MESZ": "heure d’été d’Europe centrale", "ARST": "heure d’été de l’Argentine", "CLT": "heure normale du Chili", "LHDT": "heure d’été de Lord Howe", "SRT": "heure du Suriname", "VET": "heure du Venezuela", "WITA": "heure du Centre indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "CLST": "heure d’été du Chili", "UYT": "heure normale de l’Uruguay", "GMT": "heure moyenne de Greenwich", "WART": "heure normale de l’Ouest argentin", "PST": "heure normale du Pacifique nord-américain", "COT": "heure normale de Colombie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EST": "heure normale de l’Est nord-américain", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "WEZ": "heure normale d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "ACDT": "heure d’été du centre de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "ADT": "heure d’été de l’Atlantique", "∅∅∅": "heure d’été des Açores", "BOT": "heure de Bolivie", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie"}, + timezones: map[string]string{"JST": "heure normale du Japon", "HEEG": "heure d’été de l’Est du Groenland", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "CHADT": "heure d’été des îles Chatham", "WARST": "heure d’été de l’Ouest argentin", "UYT": "heure normale de l’Uruguay", "ART": "heure normale d’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "∅∅∅": "heure d’été de l’Amazonie", "ChST": "heure des Chamorro", "HKT": "heure normale de Hong Kong", "LHST": "heure normale de Lord Howe", "WAST": "heure d’été d’Afrique de l’Ouest", "WART": "heure normale de l’Ouest argentin", "HECU": "heure d’été de Cuba", "WIT": "heure de l’Est indonésien", "ACWDT": "heure d’été du centre-ouest de l’Australie", "TMST": "heure d’été du Turkménistan", "WIB": "heure de l’Ouest indonésien", "HAST": "heure normale d’Hawaii - Aléoutiennes", "CHAST": "heure normale des îles Chatham", "CST": "heure normale du centre nord-américain", "WITA": "heure du Centre indonésien", "LHDT": "heure d’été de Lord Howe", "SAST": "heure normale d’Afrique méridionale", "HNEG": "heure normale de l’Est du Groenland", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "HEPMX": "heure d’été du Pacifique mexicain", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "BT": "heure du Bhoutan", "SRT": "heure du Suriname", "WESZ": "heure d’été d’Europe de l’Ouest", "HNT": "heure normale de Terre-Neuve", "CAT": "heure normale d’Afrique centrale", "WAT": "heure normale d’Afrique de l’Ouest", "SGT": "heure de Singapour", "EDT": "heure d’été de l’Est", "MDT": "heure d’été de Macao", "MYT": "heure de la Malaisie", "WEZ": "heure normale d’Europe de l’Ouest", "ACDT": "heure d’été du centre de l’Australie", "VET": "heure du Venezuela", "HNPMX": "heure normale du Pacifique mexicain", "HAT": "heure d’été de Terre-Neuve", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "BOT": "heure de Bolivie", "GFT": "heure de la Guyane française", "HNCU": "heure normale de Cuba", "AWDT": "heure d’été de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "JDT": "heure d’été du Japon", "TMT": "heure normale du Turkménistan", "EAT": "heure normale d’Afrique de l’Est", "COST": "heure d’été de Colombie", "UYST": "heure d’été de l’Uruguay", "HEOG": "heure d’été de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "PDT": "heure d’été du Pacifique", "OESZ": "heure d’été d’Europe de l’Est", "AKDT": "heure d’été de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "ECT": "heure de l’Équateur", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "GMT": "heure moyenne de Greenwich", "EST": "heure normale de l’Est nord-américain", "CDT": "heure d’été du Centre", "AST": "heure normale de l’Atlantique", "HNOG": "heure normale de l’Ouest du Groenland", "CLST": "heure d’été du Chili", "MESZ": "heure d’été d’Europe centrale", "IST": "heure de l’Inde", "OEZ": "heure normale d’Europe de l’Est", "MST": "heure normale de Macao", "ADT": "heure d’été de l’Atlantique", "ARST": "heure d’été de l’Argentine", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon"}, } } @@ -431,7 +431,12 @@ func (fr *fr_CI) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_CI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_CI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_CI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_CM/fr_CM.go b/fr_CM/fr_CM.go index 3a7d83b41..32df8ef10 100644 --- a/fr_CM/fr_CM.go +++ b/fr_CM/fr_CM.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -69,13 +69,13 @@ func New() locales.Translator { daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsAbbreviated: []string{"mat.", "soir"}, + periodsNarrow: []string{"mat.", "soir"}, + periodsWide: []string{"matin", "soir"}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ARST": "heure d’été de l’Argentine", "WART": "heure normale de l’Ouest argentin", "UYST": "heure d’été de l’Uruguay", "MESZ": "heure d’été d’Europe centrale", "WIB": "heure de l’Ouest indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HNT": "heure normale de Terre-Neuve", "ECT": "heure de l’Équateur", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "MST": "heure normale des Rocheuses", "BOT": "heure de Bolivie", "NZDT": "heure d’été de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "WAST": "heure d’été d’Afrique de l’Ouest", "IST": "heure de l’Inde", "SGT": "heure de Singapour", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "ACDT": "heure d’été du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "JDT": "heure d’été du Japon", "SAST": "heure normale d’Afrique méridionale", "CDT": "heure d’été du Centre", "GYT": "heure du Guyana", "SRT": "heure du Suriname", "COST": "heure d’été de Colombie", "VET": "heure du Venezuela", "ACST": "heure normale du centre de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "MYT": "heure de la Malaisie", "ACWST": "heure normale du centre-ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "LHST": "heure normale de Lord Howe", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "∅∅∅": "heure d’été des Açores", "CST": "heure normale du centre nord-américain", "GMT": "heure moyenne de Greenwich", "OESZ": "heure d’été d’Europe de l’Est", "AKST": "heure normale de l’Alaska", "TMST": "heure d’été du Turkménistan", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie", "CAT": "heure normale d’Afrique centrale", "LHDT": "heure d’été de Lord Howe", "PDT": "heure d’été du Pacifique", "ChST": "heure des Chamorro", "CLST": "heure d’été du Chili", "OEZ": "heure normale d’Europe de l’Est", "COT": "heure normale de Colombie", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "AST": "heure normale de l’Atlantique", "MDT": "heure d’été des Rocheuses", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CLT": "heure normale du Chili", "CHADT": "heure d’été des îles Chatham", "AEST": "heure normale de l’Est de l’Australie", "WITA": "heure du Centre indonésien", "NZST": "heure normale de la Nouvelle-Zélande", "TMT": "heure normale du Turkménistan", "WIT": "heure de l’Est indonésien", "CHAST": "heure normale des îles Chatham", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "PST": "heure normale du Pacifique nord-américain", "BT": "heure du Bhoutan"}, + timezones: map[string]string{"VET": "heure du Venezuela", "ARST": "heure d’été de l’Argentine", "AWDT": "heure d’été de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "EAT": "heure normale d’Afrique de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "CDT": "heure d’été du Centre", "HAT": "heure d’été de Terre-Neuve", "AWST": "heure normale de l’Ouest de l’Australie", "WITA": "heure du Centre indonésien", "LHDT": "heure d’été de Lord Howe", "SAST": "heure normale d’Afrique méridionale", "HEEG": "heure d’été de l’Est du Groenland", "AKDT": "heure d’été de l’Alaska", "ChST": "heure des Chamorro", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "HNEG": "heure normale de l’Est du Groenland", "TMT": "heure normale du Turkménistan", "COT": "heure normale de Colombie", "BT": "heure du Bhoutan", "HNT": "heure normale de Terre-Neuve", "AEST": "heure normale de l’Est de l’Australie", "MESZ": "heure d’été d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "MST": "heure normale de Macao", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "JDT": "heure d’été du Japon", "WART": "heure normale de l’Ouest argentin", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AKST": "heure normale de l’Alaska", "WIT": "heure de l’Est indonésien", "MEZ": "heure normale d’Europe centrale", "ADT": "heure d’été de l’Atlantique", "MDT": "heure d’été de Macao", "HNOG": "heure normale de l’Ouest du Groenland", "NZST": "heure normale de la Nouvelle-Zélande", "BOT": "heure de Bolivie", "GMT": "heure moyenne de Greenwich", "SGT": "heure de Singapour", "ART": "heure normale d’Argentine", "IST": "heure de l’Inde", "JST": "heure normale du Japon", "CST": "heure normale du centre nord-américain", "OEZ": "heure normale d’Europe de l’Est", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HKT": "heure normale de Hong Kong", "CHAST": "heure normale des îles Chatham", "GFT": "heure de la Guyane française", "WAT": "heure normale d’Afrique de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "LHST": "heure normale de Lord Howe", "∅∅∅": "heure d’été de l’Amazonie", "ACST": "heure normale du centre de l’Australie", "COST": "heure d’été de Colombie", "SRT": "heure du Suriname", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "WEZ": "heure normale d’Europe de l’Ouest", "CHADT": "heure d’été des îles Chatham", "HNCU": "heure normale de Cuba", "HECU": "heure d’été de Cuba", "HEPMX": "heure d’été du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "CLT": "heure normale du Chili", "TMST": "heure d’été du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CLST": "heure d’été du Chili", "ACDT": "heure d’été du centre de l’Australie", "EDT": "heure d’été de l’Est", "HEOG": "heure d’été de l’Ouest du Groenland", "HKST": "heure d’été de Hong Kong", "CAT": "heure normale d’Afrique centrale", "GYT": "heure du Guyana", "MYT": "heure de la Malaisie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_CM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_DJ/fr_DJ.go b/fr_DJ/fr_DJ.go index a561190b2..498a5ce49 100644 --- a/fr_DJ/fr_DJ.go +++ b/fr_DJ/fr_DJ.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"BT": "heure du Bhoutan", "AWST": "heure normale de l’Ouest de l’Australie", "UYST": "heure d’été de l’Uruguay", "MESZ": "heure d’été d’Europe centrale", "CST": "heure normale du centre nord-américain", "AEST": "heure normale de l’Est de l’Australie", "ARST": "heure d’été de l’Argentine", "TMST": "heure d’été du Turkménistan", "CDT": "heure d’été du Centre", "WIT": "heure de l’Est indonésien", "HNT": "heure normale de Terre-Neuve", "JST": "heure normale du Japon", "AST": "heure normale de l’Atlantique", "IST": "heure de l’Inde", "WITA": "heure du Centre indonésien", "HAT": "heure d’été de Terre-Neuve", "OEZ": "heure normale d’Europe de l’Est", "ACST": "heure normale du centre de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "EAT": "heure normale d’Afrique de l’Est", "MDT": "heure d’été des Rocheuses", "ChST": "heure des Chamorro", "AEDT": "heure d’été de l’Est de l’Australie", "ART": "heure normale d’Argentine", "PDT": "heure d’été du Pacifique", "LHDT": "heure d’été de Lord Howe", "UYT": "heure normale de l’Uruguay", "ECT": "heure de l’Équateur", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "CLST": "heure d’été du Chili", "CHAST": "heure normale des îles Chatham", "COST": "heure d’été de Colombie", "WARST": "heure d’été de l’Ouest argentin", "∅∅∅": "heure d’été de l’Amazonie", "GFT": "heure de la Guyane française", "HKST": "heure d’été de Hong Kong", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "WIB": "heure de l’Ouest indonésien", "SAST": "heure normale d’Afrique méridionale", "GMT": "heure moyenne de Greenwich", "LHST": "heure normale de Lord Howe", "CHADT": "heure d’été des îles Chatham", "AKDT": "heure d’été de l’Alaska", "MST": "heure normale des Rocheuses", "CAT": "heure normale d’Afrique centrale", "CLT": "heure normale du Chili", "WART": "heure normale de l’Ouest argentin", "GYT": "heure du Guyana", "WEZ": "heure normale d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "PST": "heure normale du Pacifique nord-américain", "AKST": "heure normale de l’Alaska", "BOT": "heure de Bolivie", "SRT": "heure du Suriname", "ACDT": "heure d’été du centre de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "TMT": "heure normale du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "VET": "heure du Venezuela", "NZST": "heure normale de la Nouvelle-Zélande", "ADT": "heure d’été de l’Atlantique", "WAT": "heure normale d’Afrique de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "AWDT": "heure d’été de l’Ouest de l’Australie", "JDT": "heure d’été du Japon", "WESZ": "heure d’été d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "SGT": "heure de Singapour"}, + timezones: map[string]string{"ChST": "heure des Chamorro", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "HNT": "heure normale de Terre-Neuve", "HAT": "heure d’été de Terre-Neuve", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "CAT": "heure normale d’Afrique centrale", "WAST": "heure d’été d’Afrique de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure d’été d’Europe de l’Est", "PDT": "heure d’été du Pacifique", "WEZ": "heure normale d’Europe de l’Ouest", "HEOG": "heure d’été de l’Ouest du Groenland", "HKT": "heure normale de Hong Kong", "WART": "heure normale de l’Ouest argentin", "COST": "heure d’été de Colombie", "SRT": "heure du Suriname", "LHDT": "heure d’été de Lord Howe", "BOT": "heure de Bolivie", "TMST": "heure d’été du Turkménistan", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "MEZ": "heure normale d’Europe centrale", "ARST": "heure d’été de l’Argentine", "HNCU": "heure normale de Cuba", "MDT": "heure d’été de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "ACWST": "heure normale du centre-ouest de l’Australie", "WITA": "heure du Centre indonésien", "JST": "heure normale du Japon", "GFT": "heure de la Guyane française", "SGT": "heure de Singapour", "HNPMX": "heure normale du Pacifique mexicain", "ART": "heure normale d’Argentine", "LHST": "heure normale de Lord Howe", "CHAST": "heure normale des îles Chatham", "CLST": "heure d’été du Chili", "HEEG": "heure d’été de l’Est du Groenland", "WARST": "heure d’été de l’Ouest argentin", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale de Macao", "MYT": "heure de la Malaisie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "EAT": "heure normale d’Afrique de l’Est", "VET": "heure du Venezuela", "BT": "heure du Bhoutan", "HNOG": "heure normale de l’Ouest du Groenland", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "HKST": "heure d’été de Hong Kong", "WAT": "heure normale d’Afrique de l’Ouest", "ADT": "heure d’été de l’Atlantique", "WIT": "heure de l’Est indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "SAST": "heure normale d’Afrique méridionale", "ECT": "heure de l’Équateur", "EDT": "heure d’été de l’Est", "UYST": "heure d’été de l’Uruguay", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WESZ": "heure d’été d’Europe de l’Ouest", "CLT": "heure normale du Chili", "∅∅∅": "heure d’été de l’Amazonie", "JDT": "heure d’été du Japon", "TMT": "heure normale du Turkménistan", "ACST": "heure normale du centre de l’Australie", "HECU": "heure d’été de Cuba", "CST": "heure normale du centre nord-américain", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "CHADT": "heure d’été des îles Chatham", "GMT": "heure moyenne de Greenwich", "AKDT": "heure d’été de l’Alaska", "CDT": "heure d’été du Centre", "GYT": "heure du Guyana", "AWDT": "heure d’été de l’Ouest de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "WIB": "heure de l’Ouest indonésien", "IST": "heure de l’Inde", "HNEG": "heure normale de l’Est du Groenland", "UYT": "heure normale de l’Uruguay", "AST": "heure normale de l’Atlantique"}, } } @@ -431,7 +431,12 @@ func (fr *fr_DJ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_DJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_DJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_DJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_DZ/fr_DZ.go b/fr_DZ/fr_DZ.go index d313448b8..008eaf007 100644 --- a/fr_DZ/fr_DZ.go +++ b/fr_DZ/fr_DZ.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DA", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DA", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"CHADT": "heure d’été des îles Chatham", "AEDT": "heure d’été de l’Est de l’Australie", "MDT": "heure d’été de Macao", "LHDT": "heure d’été de Lord Howe", "BT": "heure du Bhoutan", "GFT": "heure de la Guyane française", "OEZ": "heure normale d’Europe de l’Est", "PDT": "heure d’été du Pacifique", "NZDT": "heure d’été de la Nouvelle-Zélande", "WIT": "heure de l’Est indonésien", "WIB": "heure de l’Ouest indonésien", "ACST": "heure normale du centre de l’Australie", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "∅∅∅": "heure d’été de Brasilia", "OESZ": "heure d’été d’Europe de l’Est", "ART": "heure normale d’Argentine", "ACWST": "heure normale du centre-ouest de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "ADT": "heure d’été de l’Atlantique", "NZST": "heure normale de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "AKDT": "heure d’été de l’Alaska", "COST": "heure d’été de Colombie", "WARST": "heure d’été de l’Ouest argentin", "ECT": "heure de l’Équateur", "EAT": "heure normale d’Afrique de l’Est", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "ARST": "heure d’été de l’Argentine", "CDT": "heure d’été du Centre", "HKST": "heure d’été de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "CLT": "heure normale du Chili", "WITA": "heure du Centre indonésien", "COT": "heure normale de Colombie", "MEZ": "heure normale d’Europe centrale", "ACDT": "heure d’été du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "JST": "heure normale du Japon", "WESZ": "heure d’été d’Europe de l’Ouest", "TMT": "heure normale du Turkménistan", "AWDT": "heure d’été de l’Ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "UYT": "heure normale de l’Uruguay", "WAT": "heure normale d’Afrique de l’Ouest", "HNT": "heure normale de Terre-Neuve", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "MESZ": "heure d’été d’Europe centrale", "WART": "heure normale de l’Ouest argentin", "SAST": "heure normale d’Afrique méridionale", "JDT": "heure d’été du Japon", "LHST": "heure normale de Lord Howe", "UYST": "heure d’été de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "EST": "heure normale de l’Est nord-américain", "PST": "heure normale du Pacifique nord-américain", "AST": "heure normale de l’Atlantique", "TMST": "heure d’été du Turkménistan", "MST": "heure normale de Macao", "AWST": "heure normale de l’Ouest de l’Australie", "CST": "heure normale du centre nord-américain", "HKT": "heure normale de Hong Kong", "SGT": "heure de Singapour", "VET": "heure du Venezuela", "IST": "heure de l’Inde", "BOT": "heure de Bolivie", "CLST": "heure d’été du Chili"}, + timezones: map[string]string{"∅∅∅": "heure d’été de l’Amazonie", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "WIB": "heure de l’Ouest indonésien", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AWDT": "heure d’été de l’Ouest de l’Australie", "CAT": "heure normale d’Afrique centrale", "PDT": "heure d’été du Pacifique", "HKST": "heure d’été de Hong Kong", "WITA": "heure du Centre indonésien", "CHADT": "heure d’été des îles Chatham", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "WIT": "heure de l’Est indonésien", "BT": "heure du Bhoutan", "AWST": "heure normale de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "TMT": "heure normale du Turkménistan", "COST": "heure d’été de Colombie", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "ART": "heure normale d’Argentine", "CHAST": "heure normale des îles Chatham", "COT": "heure normale de Colombie", "HNOG": "heure normale de l’Ouest du Groenland", "AEDT": "heure d’été de l’Est de l’Australie", "LHST": "heure normale de Lord Howe", "GMT": "heure moyenne de Greenwich", "HNPMX": "heure normale du Pacifique mexicain", "LHDT": "heure d’été de Lord Howe", "IST": "heure de l’Inde", "EAT": "heure normale d’Afrique de l’Est", "ChST": "heure des Chamorro", "TMST": "heure d’été du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "EDT": "heure d’été de l’Est", "MDT": "heure d’été des Rocheuses", "AEST": "heure normale de l’Est de l’Australie", "CLST": "heure d’été du Chili", "AKDT": "heure d’été de l’Alaska", "HNEG": "heure normale de l’Est du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "WARST": "heure d’été de l’Ouest argentin", "HECU": "heure d’été de Cuba", "MYT": "heure de la Malaisie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "HNT": "heure normale de Terre-Neuve", "HKT": "heure normale de Hong Kong", "BOT": "heure de Bolivie", "ACST": "heure normale du centre de l’Australie", "SRT": "heure du Suriname", "PST": "heure normale du Pacifique nord-américain", "WESZ": "heure d’été d’Europe de l’Ouest", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CLT": "heure normale du Chili", "JST": "heure normale du Japon", "HAT": "heure d’été de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "ECT": "heure de l’Équateur", "SGT": "heure de Singapour", "GYT": "heure du Guyana", "UYST": "heure d’été de l’Uruguay", "ACWST": "heure normale du centre-ouest de l’Australie", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "ACDT": "heure d’été du centre de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "JDT": "heure d’été du Japon", "UYT": "heure normale de l’Uruguay", "HEOG": "heure d’été de l’Ouest du Groenland", "MEZ": "heure normale d’Europe centrale", "WART": "heure normale de l’Ouest argentin", "HEPMX": "heure d’été du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "MST": "heure normale des Rocheuses", "ARST": "heure d’été de l’Argentine"}, } } @@ -431,7 +431,12 @@ func (fr *fr_DZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_DZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_DZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_DZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_FR/fr_FR.go b/fr_FR/fr_FR.go index fdb95d3b5..a33ad674f 100644 --- a/fr_FR/fr_FR.go +++ b/fr_FR/fr_FR.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"PDT": "heure d’été du Pacifique", "SRT": "heure du Suriname", "WESZ": "heure d’été d’Europe de l’Ouest", "ECT": "heure de l’Équateur", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "EDT": "heure d’été de l’Est", "WITA": "heure du Centre indonésien", "HKST": "heure d’été de Hong Kong", "COST": "heure d’été de Colombie", "AEDT": "heure d’été de l’Est de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "SAST": "heure normale d’Afrique méridionale", "JDT": "heure d’été du Japon", "HKT": "heure normale de Hong Kong", "CHAST": "heure normale des îles Chatham", "ARST": "heure d’été de l’Argentine", "WART": "heure normale de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "GYT": "heure du Guyana", "CAT": "heure normale d’Afrique centrale", "IST": "heure de l’Inde", "TMST": "heure d’été du Turkménistan", "MDT": "heure d’été des Rocheuses", "∅∅∅": "heure d’été des Açores", "ACDT": "heure d’été du centre de l’Australie", "ART": "heure normale d’Argentine", "ACWST": "heure normale du centre-ouest de l’Australie", "GMT": "heure moyenne de Greenwich", "SGT": "heure de Singapour", "COT": "heure normale de Colombie", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "CLT": "heure normale du Chili", "HNT": "heure normale de Terre-Neuve", "LHDT": "heure d’été de Lord Howe", "GFT": "heure de la Guyane française", "WAST": "heure d’été d’Afrique de l’Ouest", "MST": "heure normale des Rocheuses", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "AEST": "heure normale de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "WEZ": "heure normale d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "WAT": "heure normale d’Afrique de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "OEZ": "heure normale d’Europe de l’Est", "AWDT": "heure d’été de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "CDT": "heure d’été du Centre", "ChST": "heure des Chamorro", "CLST": "heure d’été du Chili", "CHADT": "heure d’été des îles Chatham", "MEZ": "heure normale d’Europe centrale", "AKDT": "heure d’été de l’Alaska", "MYT": "heure de la Malaisie", "BT": "heure du Bhoutan", "VET": "heure du Venezuela", "MESZ": "heure d’été d’Europe centrale", "ADT": "heure d’été de l’Atlantique", "BOT": "heure de Bolivie", "TMT": "heure normale du Turkménistan", "WIT": "heure de l’Est indonésien", "UYT": "heure normale de l’Uruguay", "LHST": "heure normale de Lord Howe", "OESZ": "heure d’été d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AST": "heure normale de l’Atlantique"}, + timezones: map[string]string{"BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "ARST": "heure d’été de l’Argentine", "NZDT": "heure d’été de la Nouvelle-Zélande", "EDT": "heure d’été de l’Est", "WIB": "heure de l’Ouest indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "TMST": "heure d’été du Turkménistan", "COT": "heure normale de Colombie", "HNCU": "heure normale de Cuba", "UYT": "heure normale de l’Uruguay", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ART": "heure normale d’Argentine", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "HEPMX": "heure d’été du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "PDT": "heure d’été du Pacifique", "AEDT": "heure d’été de l’Est de l’Australie", "BOT": "heure de Bolivie", "WART": "heure normale de l’Ouest argentin", "SGT": "heure de Singapour", "HKST": "heure d’été de Hong Kong", "IST": "heure de l’Inde", "ACST": "heure normale du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "VET": "heure du Venezuela", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AWST": "heure normale de l’Ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "HNEG": "heure normale de l’Est du Groenland", "WAT": "heure normale d’Afrique de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "COST": "heure d’été de Colombie", "AKST": "heure normale de l’Alaska", "AEST": "heure normale de l’Est de l’Australie", "JDT": "heure d’été du Japon", "∅∅∅": "heure d’été de l’Amazonie", "ACDT": "heure d’été du centre de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AKDT": "heure d’été de l’Alaska", "HNOG": "heure normale de l’Ouest du Groenland", "WITA": "heure du Centre indonésien", "CLST": "heure d’été du Chili", "TMT": "heure normale du Turkménistan", "WIT": "heure de l’Est indonésien", "HNT": "heure normale de Terre-Neuve", "CLT": "heure normale du Chili", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "JST": "heure normale du Japon", "WARST": "heure d’été de l’Ouest argentin", "MDT": "heure d’été de Macao", "HNPMX": "heure normale du Pacifique mexicain", "CDT": "heure d’été du Centre", "WAST": "heure d’été d’Afrique de l’Ouest", "ECT": "heure de l’Équateur", "CST": "heure normale du centre nord-américain", "PST": "heure normale du Pacifique nord-américain", "HEEG": "heure d’été de l’Est du Groenland", "LHDT": "heure d’été de Lord Howe", "MESZ": "heure d’été d’Europe centrale", "EAT": "heure normale d’Afrique de l’Est", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "GFT": "heure de la Guyane française", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "GYT": "heure du Guyana", "HAT": "heure d’été de Terre-Neuve", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "MST": "heure normale de Macao", "WESZ": "heure d’été d’Europe de l’Ouest", "CHAST": "heure normale des îles Chatham", "HECU": "heure d’été de Cuba", "ADT": "heure d’été de l’Atlantique", "MYT": "heure de la Malaisie", "UYST": "heure d’été de l’Uruguay", "HEOG": "heure d’été de l’Ouest du Groenland", "SAST": "heure normale d’Afrique méridionale"}, } } @@ -431,7 +431,12 @@ func (fr *fr_FR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_FR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_FR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_FR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_GA/fr_GA.go b/fr_GA/fr_GA.go index e05eec66b..075343423 100644 --- a/fr_GA/fr_GA.go +++ b/fr_GA/fr_GA.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"CLST": "heure d’été du Chili", "GMT": "heure moyenne de Greenwich", "WEZ": "heure normale d’Europe de l’Ouest", "SRT": "heure du Suriname", "PDT": "heure d’été du Pacifique", "BT": "heure du Bhoutan", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "ADT": "heure d’été de l’Atlantique", "OEZ": "heure normale d’Europe de l’Est", "GFT": "heure de la Guyane française", "WIB": "heure de l’Ouest indonésien", "GYT": "heure du Guyana", "CAT": "heure normale d’Afrique centrale", "HNT": "heure normale de Terre-Neuve", "JST": "heure normale du Japon", "CHADT": "heure d’été des îles Chatham", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "EAT": "heure normale d’Afrique de l’Est", "SAST": "heure normale d’Afrique méridionale", "EST": "heure normale de l’Est nord-américain", "BOT": "heure de Bolivie", "AWDT": "heure d’été de l’Ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "AKST": "heure normale de l’Alaska", "CLT": "heure normale du Chili", "ACDT": "heure d’été du centre de l’Australie", "SGT": "heure de Singapour", "ARST": "heure d’été de l’Argentine", "AKDT": "heure d’été de l’Alaska", "MST": "heure normale de Macao", "COT": "heure normale de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "CDT": "heure d’été du Centre", "LHST": "heure normale de Lord Howe", "HAST": "heure normale d’Hawaii - Aléoutiennes", "NZST": "heure normale de la Nouvelle-Zélande", "UYT": "heure normale de l’Uruguay", "JDT": "heure d’été du Japon", "WART": "heure normale de l’Ouest argentin", "WAST": "heure d’été d’Afrique de l’Ouest", "COST": "heure d’été de Colombie", "ECT": "heure de l’Équateur", "IST": "heure de l’Inde", "EDT": "heure d’été de l’Est", "ChST": "heure des Chamorro", "CHAST": "heure normale des îles Chatham", "AST": "heure normale de l’Atlantique", "AWST": "heure normale de l’Ouest de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "AEDT": "heure d’été de l’Est de l’Australie", "WITA": "heure du Centre indonésien", "TMST": "heure d’été du Turkménistan", "∅∅∅": "heure d’été de Brasilia", "WESZ": "heure d’été d’Europe de l’Ouest", "VET": "heure du Venezuela", "CST": "heure normale du centre nord-américain", "HKT": "heure normale de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "ACST": "heure normale du centre de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "MDT": "heure d’été de Macao", "NZDT": "heure d’été de la Nouvelle-Zélande", "WIT": "heure de l’Est indonésien", "UYST": "heure d’été de l’Uruguay", "MYT": "heure de la Malaisie", "HAT": "heure d’été de Terre-Neuve", "LHDT": "heure d’été de Lord Howe", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "TMT": "heure normale du Turkménistan"}, + timezones: map[string]string{"OEZ": "heure normale d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "∅∅∅": "heure d’été de l’Amazonie", "WAT": "heure normale d’Afrique de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "ART": "heure normale d’Argentine", "MEZ": "heure normale d’Europe centrale", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CLST": "heure d’été du Chili", "ECT": "heure de l’Équateur", "SGT": "heure de Singapour", "HNPMX": "heure normale du Pacifique mexicain", "UYST": "heure d’été de l’Uruguay", "SRT": "heure du Suriname", "HKT": "heure normale de Hong Kong", "WITA": "heure du Centre indonésien", "HNOG": "heure normale de l’Ouest du Groenland", "CHAST": "heure normale des îles Chatham", "WAST": "heure d’été d’Afrique de l’Ouest", "ADT": "heure d’été de l’Atlantique", "WIB": "heure de l’Ouest indonésien", "WIT": "heure de l’Est indonésien", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "HEEG": "heure d’été de l’Est du Groenland", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "CST": "heure normale du centre nord-américain", "MYT": "heure de la Malaisie", "AWDT": "heure d’été de l’Ouest de l’Australie", "JDT": "heure d’été du Japon", "HEOG": "heure d’été de l’Ouest du Groenland", "IST": "heure de l’Inde", "BT": "heure du Bhoutan", "WARST": "heure d’été de l’Ouest argentin", "HEPMX": "heure d’été du Pacifique mexicain", "MST": "heure normale de Macao", "CAT": "heure normale d’Afrique centrale", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "COT": "heure normale de Colombie", "LHST": "heure normale de Lord Howe", "LHDT": "heure d’été de Lord Howe", "EDT": "heure d’été de l’Est", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "ACWST": "heure normale du centre-ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "JST": "heure normale du Japon", "SAST": "heure normale d’Afrique méridionale", "ACST": "heure normale du centre de l’Australie", "AST": "heure normale de l’Atlantique", "AWST": "heure normale de l’Ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "COST": "heure d’été de Colombie", "GYT": "heure du Guyana", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "OESZ": "heure d’été d’Europe de l’Est", "EST": "heure normale de l’Est nord-américain", "ARST": "heure d’été de l’Argentine", "MESZ": "heure d’été d’Europe centrale", "EAT": "heure normale d’Afrique de l’Est", "ChST": "heure des Chamorro", "GMT": "heure moyenne de Greenwich", "AKDT": "heure d’été de l’Alaska", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WEZ": "heure normale d’Europe de l’Ouest", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "HNEG": "heure normale de l’Est du Groenland", "BOT": "heure de Bolivie", "HNCU": "heure normale de Cuba", "HECU": "heure d’été de Cuba", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "ACDT": "heure d’été du centre de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "MDT": "heure d’été de Macao", "UYT": "heure normale de l’Uruguay", "HNT": "heure normale de Terre-Neuve", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili"}, } } @@ -431,7 +431,12 @@ func (fr *fr_GA) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_GA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_GA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_GA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_GF/fr_GF.go b/fr_GF/fr_GF.go index 434288ab8..2ec45ebc4 100644 --- a/fr_GF/fr_GF.go +++ b/fr_GF/fr_GF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"BOT": "heure de Bolivie", "HAT": "heure d’été de Terre-Neuve", "SGT": "heure de Singapour", "AKST": "heure normale de l’Alaska", "EDT": "heure d’été de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "EST": "heure normale de l’Est nord-américain", "HNT": "heure normale de Terre-Neuve", "WIT": "heure de l’Est indonésien", "BT": "heure du Bhoutan", "WART": "heure normale de l’Ouest argentin", "WARST": "heure d’été de l’Ouest argentin", "ACWST": "heure normale du centre-ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "MYT": "heure de la Malaisie", "LHDT": "heure d’été de Lord Howe", "ACDT": "heure d’été du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "JST": "heure normale du Japon", "GFT": "heure de la Guyane française", "CAT": "heure normale d’Afrique centrale", "JDT": "heure d’été du Japon", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "NZST": "heure normale de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "WEZ": "heure normale d’Europe de l’Ouest", "AKDT": "heure d’été de l’Alaska", "UYT": "heure normale de l’Uruguay", "CHAST": "heure normale des îles Chatham", "CLT": "heure normale du Chili", "ECT": "heure de l’Équateur", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "NZDT": "heure d’été de la Nouvelle-Zélande", "MESZ": "heure d’été d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "CDT": "heure d’été du Centre", "AWST": "heure normale de l’Ouest de l’Australie", "WITA": "heure du Centre indonésien", "CHADT": "heure d’été des îles Chatham", "OESZ": "heure d’été d’Europe de l’Est", "WIB": "heure de l’Ouest indonésien", "ART": "heure normale d’Argentine", "AEST": "heure normale de l’Est de l’Australie", "AST": "heure normale de l’Atlantique", "∅∅∅": "heure d’été des Açores", "WESZ": "heure d’été d’Europe de l’Ouest", "ARST": "heure d’été de l’Argentine", "ACWDT": "heure d’été du centre-ouest de l’Australie", "TMT": "heure normale du Turkménistan", "COT": "heure normale de Colombie", "TMST": "heure d’été du Turkménistan", "MDT": "heure d’été des Rocheuses", "SRT": "heure du Suriname", "IST": "heure de l’Inde", "PDT": "heure d’été du Pacifique", "MEZ": "heure normale d’Europe centrale", "GMT": "heure moyenne de Greenwich", "LHST": "heure normale de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "PST": "heure normale du Pacifique nord-américain", "ADT": "heure d’été de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "ACST": "heure normale du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "MST": "heure normale des Rocheuses", "VET": "heure du Venezuela", "CLST": "heure d’été du Chili", "UYST": "heure d’été de l’Uruguay", "COST": "heure d’été de Colombie"}, + timezones: map[string]string{"WART": "heure normale de l’Ouest argentin", "HNCU": "heure normale de Cuba", "ART": "heure normale d’Argentine", "HKST": "heure d’été de Hong Kong", "AKDT": "heure d’été de l’Alaska", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "AWST": "heure normale de l’Ouest de l’Australie", "AST": "heure normale de l’Atlantique", "WIT": "heure de l’Est indonésien", "HNT": "heure normale de Terre-Neuve", "CST": "heure normale du centre nord-américain", "UYT": "heure normale de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "SAST": "heure normale d’Afrique méridionale", "CLST": "heure d’été du Chili", "HEEG": "heure d’été de l’Est du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "HNOG": "heure normale de l’Ouest du Groenland", "OEZ": "heure normale d’Europe de l’Est", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZDT": "heure d’été de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "HNEG": "heure normale de l’Est du Groenland", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "VET": "heure du Venezuela", "WITA": "heure du Centre indonésien", "GFT": "heure de la Guyane française", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "COT": "heure normale de Colombie", "GYT": "heure du Guyana", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "JST": "heure normale du Japon", "CLT": "heure normale du Chili", "MYT": "heure de la Malaisie", "IST": "heure de l’Inde", "AKST": "heure normale de l’Alaska", "PDT": "heure d’été du Pacifique", "ACWDT": "heure d’été du centre-ouest de l’Australie", "∅∅∅": "heure d’été de l’Amazonie", "JDT": "heure d’été du Japon", "CAT": "heure normale d’Afrique centrale", "BT": "heure du Bhoutan", "BOT": "heure de Bolivie", "ACDT": "heure d’été du centre de l’Australie", "SRT": "heure du Suriname", "ACWST": "heure normale du centre-ouest de l’Australie", "EDT": "heure d’été de l’Est", "MST": "heure normale de Macao", "AEST": "heure normale de l’Est de l’Australie", "ECT": "heure de l’Équateur", "COST": "heure d’été de Colombie", "HECU": "heure d’été de Cuba", "HEPMX": "heure d’été du Pacifique mexicain", "PST": "heure normale du Pacifique nord-américain", "MEZ": "heure normale d’Europe centrale", "SGT": "heure de Singapour", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "MESZ": "heure d’été d’Europe centrale", "TMST": "heure d’été du Turkménistan", "ChST": "heure des Chamorro", "WAT": "heure normale d’Afrique de l’Ouest", "HEOG": "heure d’été de l’Ouest du Groenland", "ARST": "heure d’été de l’Argentine", "AEDT": "heure d’été de l’Est de l’Australie", "CHADT": "heure d’été des îles Chatham", "LHDT": "heure d’été de Lord Howe", "WARST": "heure d’été de l’Ouest argentin", "HAT": "heure d’été de Terre-Neuve", "GMT": "heure moyenne de Greenwich", "MDT": "heure d’été de Macao", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "TMT": "heure normale du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est"}, } } @@ -431,7 +431,12 @@ func (fr *fr_GF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_GF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_GF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_GF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_GN/fr_GN.go b/fr_GN/fr_GN.go index 0845728de..ebb8000c4 100644 --- a/fr_GN/fr_GN.go +++ b/fr_GN/fr_GN.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "FG", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "FG", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ACWST": "heure normale du centre-ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "MST": "heure normale de Macao", "CLT": "heure normale du Chili", "COST": "heure d’été de Colombie", "VET": "heure du Venezuela", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "ACDT": "heure d’été du centre de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "WEZ": "heure normale d’Europe de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "EAT": "heure normale d’Afrique de l’Est", "CHADT": "heure d’été des îles Chatham", "GFT": "heure de la Guyane française", "NZST": "heure normale de la Nouvelle-Zélande", "MEZ": "heure normale d’Europe centrale", "AST": "heure normale de l’Atlantique", "TMST": "heure d’été du Turkménistan", "ChST": "heure des Chamorro", "∅∅∅": "heure d’été de Brasilia", "OEZ": "heure normale d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "ADT": "heure d’été de l’Atlantique", "PST": "heure normale du Pacifique nord-américain", "JDT": "heure d’été du Japon", "HKT": "heure normale de Hong Kong", "SGT": "heure de Singapour", "ECT": "heure de l’Équateur", "SAST": "heure normale d’Afrique méridionale", "WAT": "heure normale d’Afrique de l’Ouest", "IST": "heure de l’Inde", "HNT": "heure normale de Terre-Neuve", "WITA": "heure du Centre indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "LHST": "heure normale de Lord Howe", "GMT": "heure moyenne de Greenwich", "OESZ": "heure d’été d’Europe de l’Est", "AEDT": "heure d’été de l’Est de l’Australie", "AKDT": "heure d’été de l’Alaska", "GYT": "heure du Guyana", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "UYST": "heure d’été de l’Uruguay", "WESZ": "heure d’été d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "TMT": "heure normale du Turkménistan", "UYT": "heure normale de l’Uruguay", "COT": "heure normale de Colombie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "BOT": "heure de Bolivie", "MDT": "heure d’été de Macao", "CHAST": "heure normale des îles Chatham", "SRT": "heure du Suriname", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PDT": "heure d’été du Pacifique", "LHDT": "heure d’été de Lord Howe", "JST": "heure normale du Japon", "AEST": "heure normale de l’Est de l’Australie", "ART": "heure normale d’Argentine", "CST": "heure normale du centre nord-américain", "CAT": "heure normale d’Afrique centrale", "ACST": "heure normale du centre de l’Australie", "ARST": "heure d’été de l’Argentine", "AKST": "heure normale de l’Alaska", "BT": "heure du Bhoutan", "WIB": "heure de l’Ouest indonésien", "CDT": "heure d’été du Centre"}, + timezones: map[string]string{"UYST": "heure d’été de l’Uruguay", "PST": "heure normale du Pacifique nord-américain", "LHDT": "heure d’été de Lord Howe", "NZDT": "heure d’été de la Nouvelle-Zélande", "OEZ": "heure normale d’Europe de l’Est", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "SGT": "heure de Singapour", "MST": "heure normale de Macao", "ECT": "heure de l’Équateur", "SAST": "heure normale d’Afrique méridionale", "HECU": "heure d’été de Cuba", "MDT": "heure d’été de Macao", "UYT": "heure normale de l’Uruguay", "ARST": "heure d’été de l’Argentine", "HNOG": "heure normale de l’Ouest du Groenland", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "IST": "heure de l’Inde", "OESZ": "heure d’été d’Europe de l’Est", "WARST": "heure d’été de l’Ouest argentin", "HNT": "heure normale de Terre-Neuve", "ART": "heure normale d’Argentine", "HEPMX": "heure d’été du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "CLST": "heure d’été du Chili", "WAT": "heure normale d’Afrique de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "WITA": "heure du Centre indonésien", "MESZ": "heure d’été d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "JDT": "heure d’été du Japon", "HNCU": "heure normale de Cuba", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "HNEG": "heure normale de l’Est du Groenland", "GFT": "heure de la Guyane française", "TMST": "heure d’été du Turkménistan", "LHST": "heure normale de Lord Howe", "CHADT": "heure d’été des îles Chatham", "TMT": "heure normale du Turkménistan", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "SRT": "heure du Suriname", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "AEDT": "heure d’été de l’Est de l’Australie", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "CAT": "heure normale d’Afrique centrale", "WIB": "heure de l’Ouest indonésien", "VET": "heure du Venezuela", "HEOG": "heure d’été de l’Ouest du Groenland", "BT": "heure du Bhoutan", "WESZ": "heure d’été d’Europe de l’Ouest", "PDT": "heure d’été du Pacifique", "CLT": "heure normale du Chili", "ChST": "heure des Chamorro", "∅∅∅": "heure d’été des Açores", "CDT": "heure d’été du Centre", "MYT": "heure de la Malaisie", "ACDT": "heure d’été du centre de l’Australie", "CHAST": "heure normale des îles Chatham", "EST": "heure normale de l’Est nord-américain", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "MEZ": "heure normale d’Europe centrale", "HEEG": "heure d’été de l’Est du Groenland", "COT": "heure normale de Colombie", "GMT": "heure moyenne de Greenwich", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "JST": "heure normale du Japon", "HNPMX": "heure normale du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WIT": "heure de l’Est indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "BOT": "heure de Bolivie", "COST": "heure d’été de Colombie", "WART": "heure normale de l’Ouest argentin", "CST": "heure normale du centre nord-américain"}, } } @@ -431,7 +431,12 @@ func (fr *fr_GN) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_GN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_GN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_GN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_GP/fr_GP.go b/fr_GP/fr_GP.go index a69c636c7..59c8e5f6e 100644 --- a/fr_GP/fr_GP.go +++ b/fr_GP/fr_GP.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ACST": "heure normale du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "HNT": "heure normale de Terre-Neuve", "UYT": "heure normale de l’Uruguay", "EAT": "heure normale d’Afrique de l’Est", "TMT": "heure normale du Turkménistan", "MDT": "heure d’été de Macao", "GFT": "heure de la Guyane française", "HKST": "heure d’été de Hong Kong", "WESZ": "heure d’été d’Europe de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "SAST": "heure normale d’Afrique méridionale", "MST": "heure normale de Macao", "BT": "heure du Bhoutan", "ACDT": "heure d’été du centre de l’Australie", "ART": "heure normale d’Argentine", "CAT": "heure normale d’Afrique centrale", "WEZ": "heure normale d’Europe de l’Ouest", "WIT": "heure de l’Est indonésien", "MEZ": "heure normale d’Europe centrale", "ECT": "heure de l’Équateur", "PDT": "heure d’été du Pacifique", "LHDT": "heure d’été de Lord Howe", "SGT": "heure de Singapour", "AST": "heure normale de l’Atlantique", "WIB": "heure de l’Ouest indonésien", "WAT": "heure normale d’Afrique de l’Ouest", "GMT": "heure moyenne de Greenwich", "OESZ": "heure d’été d’Europe de l’Est", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "CLST": "heure d’été du Chili", "UYST": "heure d’été de l’Uruguay", "IST": "heure de l’Inde", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "CLT": "heure normale du Chili", "WARST": "heure d’été de l’Ouest argentin", "AEST": "heure normale de l’Est de l’Australie", "ARST": "heure d’été de l’Argentine", "ADT": "heure d’été de l’Atlantique", "∅∅∅": "heure d’été de Brasilia", "MESZ": "heure d’été d’Europe centrale", "AKDT": "heure d’été de l’Alaska", "WART": "heure normale de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "HAT": "heure d’été de Terre-Neuve", "JST": "heure normale du Japon", "CHAST": "heure normale des îles Chatham", "CHADT": "heure d’été des îles Chatham", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EST": "heure normale de l’Est nord-américain", "BOT": "heure de Bolivie", "NZDT": "heure d’été de la Nouvelle-Zélande", "TMST": "heure d’été du Turkménistan", "VET": "heure du Venezuela", "AWDT": "heure d’été de l’Ouest de l’Australie", "SRT": "heure du Suriname", "LHST": "heure normale de Lord Howe", "HKT": "heure normale de Hong Kong", "OEZ": "heure normale d’Europe de l’Est", "COT": "heure normale de Colombie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ChST": "heure des Chamorro", "AWST": "heure normale de l’Ouest de l’Australie", "CDT": "heure d’été du Centre", "COST": "heure d’été de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "WITA": "heure du Centre indonésien", "NZST": "heure normale de la Nouvelle-Zélande", "JDT": "heure d’été du Japon"}, + timezones: map[string]string{"PST": "heure normale du Pacifique nord-américain", "OEZ": "heure normale d’Europe de l’Est", "CST": "heure normale du centre nord-américain", "CDT": "heure d’été du Centre", "MYT": "heure de la Malaisie", "WITA": "heure du Centre indonésien", "MESZ": "heure d’été d’Europe centrale", "CAT": "heure normale d’Afrique centrale", "BOT": "heure de Bolivie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AKST": "heure normale de l’Alaska", "AKDT": "heure d’été de l’Alaska", "GFT": "heure de la Guyane française", "TMT": "heure normale du Turkménistan", "ECT": "heure de l’Équateur", "COT": "heure normale de Colombie", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "EAT": "heure normale d’Afrique de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "ChST": "heure des Chamorro", "ACDT": "heure d’été du centre de l’Australie", "SGT": "heure de Singapour", "WIB": "heure de l’Ouest indonésien", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HAT": "heure d’été de Terre-Neuve", "ARST": "heure d’été de l’Argentine", "WEZ": "heure normale d’Europe de l’Ouest", "HNPMX": "heure normale du Pacifique mexicain", "HEEG": "heure d’été de l’Est du Groenland", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "AWST": "heure normale de l’Ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "CLT": "heure normale du Chili", "ACST": "heure normale du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "GYT": "heure du Guyana", "MST": "heure normale des Rocheuses", "JDT": "heure d’été du Japon", "HNEG": "heure normale de l’Est du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "COST": "heure d’été de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "LHST": "heure normale de Lord Howe", "ADT": "heure d’été de l’Atlantique", "WIT": "heure de l’Est indonésien", "HNOG": "heure normale de l’Ouest du Groenland", "HEOG": "heure d’été de l’Ouest du Groenland", "EDT": "heure d’été de l’Est", "AEST": "heure normale de l’Est de l’Australie", "CHAST": "heure normale des îles Chatham", "JST": "heure normale du Japon", "IST": "heure de l’Inde", "TMST": "heure d’été du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZDT": "heure d’été de la Nouvelle-Zélande", "HECU": "heure d’été de Cuba", "MDT": "heure d’été des Rocheuses", "SRT": "heure du Suriname", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "HNCU": "heure normale de Cuba", "UYT": "heure normale de l’Uruguay", "HAST": "heure normale d’Hawaii - Aléoutiennes", "∅∅∅": "heure d’été de l’Amazonie", "OESZ": "heure d’été d’Europe de l’Est", "WARST": "heure d’été de l’Ouest argentin", "GMT": "heure moyenne de Greenwich", "BT": "heure du Bhoutan", "HKT": "heure normale de Hong Kong", "CLST": "heure d’été du Chili", "WART": "heure normale de l’Ouest argentin", "UYST": "heure d’été de l’Uruguay"}, } } @@ -431,7 +431,12 @@ func (fr *fr_GP) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_GP) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_GP) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_GP) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_GQ/fr_GQ.go b/fr_GQ/fr_GQ.go index da400236d..d7f1d0a07 100644 --- a/fr_GQ/fr_GQ.go +++ b/fr_GQ/fr_GQ.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"SRT": "heure du Suriname", "IST": "heure de l’Inde", "MYT": "heure de la Malaisie", "ACWST": "heure normale du centre-ouest de l’Australie", "TMST": "heure d’été du Turkménistan", "CLT": "heure normale du Chili", "HKST": "heure d’été de Hong Kong", "MEZ": "heure normale d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "NZDT": "heure d’été de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "MDT": "heure d’été des Rocheuses", "BOT": "heure de Bolivie", "NZST": "heure normale de la Nouvelle-Zélande", "LHDT": "heure d’été de Lord Howe", "∅∅∅": "heure d’été de l’Acre", "WAST": "heure d’été d’Afrique de l’Ouest", "JST": "heure normale du Japon", "ChST": "heure des Chamorro", "UYST": "heure d’été de l’Uruguay", "VET": "heure du Venezuela", "ACDT": "heure d’été du centre de l’Australie", "ART": "heure normale d’Argentine", "GMT": "heure moyenne de Greenwich", "AKST": "heure normale de l’Alaska", "EAT": "heure normale d’Afrique de l’Est", "WAT": "heure normale d’Afrique de l’Ouest", "TMT": "heure normale du Turkménistan", "BT": "heure du Bhoutan", "WESZ": "heure d’été d’Europe de l’Ouest", "SGT": "heure de Singapour", "EDT": "heure d’été de l’Est", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "AWDT": "heure d’été de l’Ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AKDT": "heure d’été de l’Alaska", "HNT": "heure normale de Terre-Neuve", "WIT": "heure de l’Est indonésien", "COT": "heure normale de Colombie", "EST": "heure normale de l’Est nord-américain", "SAST": "heure normale d’Afrique méridionale", "JDT": "heure d’été du Japon", "LHST": "heure normale de Lord Howe", "ECT": "heure de l’Équateur", "ADT": "heure d’été de l’Atlantique", "CDT": "heure d’été du Centre", "ARST": "heure d’été de l’Argentine", "MST": "heure normale des Rocheuses", "CAT": "heure normale d’Afrique centrale", "AWST": "heure normale de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "HKT": "heure normale de Hong Kong", "WIB": "heure de l’Ouest indonésien", "ACST": "heure normale du centre de l’Australie", "AST": "heure normale de l’Atlantique", "CHAST": "heure normale des îles Chatham", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "OESZ": "heure d’été d’Europe de l’Est", "PDT": "heure d’été du Pacifique", "WITA": "heure du Centre indonésien", "GFT": "heure de la Guyane française", "AEDT": "heure d’été de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "COST": "heure d’été de Colombie", "MESZ": "heure d’été d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "CLST": "heure d’été du Chili", "CHADT": "heure d’été des îles Chatham", "OEZ": "heure normale d’Europe de l’Est", "WEZ": "heure normale d’Europe de l’Ouest"}, + timezones: map[string]string{"HNPM": "heure normale de Saint-Pierre-et-Miquelon", "COST": "heure d’été de Colombie", "MDT": "heure d’été de Macao", "HNPMX": "heure normale du Pacifique mexicain", "WIT": "heure de l’Est indonésien", "PDT": "heure d’été du Pacifique", "HKT": "heure normale de Hong Kong", "WAST": "heure d’été d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "EDT": "heure d’été de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "WIB": "heure de l’Ouest indonésien", "VET": "heure du Venezuela", "HEEG": "heure d’été de l’Est du Groenland", "MYT": "heure de la Malaisie", "HNOG": "heure normale de l’Ouest du Groenland", "ACDT": "heure d’été du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "HNT": "heure normale de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "UYST": "heure d’été de l’Uruguay", "CHADT": "heure d’été des îles Chatham", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "UYT": "heure normale de l’Uruguay", "HAT": "heure d’été de Terre-Neuve", "JST": "heure normale du Japon", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "WART": "heure normale de l’Ouest argentin", "GYT": "heure du Guyana", "LHST": "heure normale de Lord Howe", "IST": "heure de l’Inde", "GFT": "heure de la Guyane française", "CAT": "heure normale d’Afrique centrale", "MESZ": "heure d’été d’Europe centrale", "EAT": "heure normale d’Afrique de l’Est", "AST": "heure normale de l’Atlantique", "SRT": "heure du Suriname", "WEZ": "heure normale d’Europe de l’Ouest", "AEDT": "heure d’été de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "OEZ": "heure normale d’Europe de l’Est", "HNCU": "heure normale de Cuba", "ACWST": "heure normale du centre-ouest de l’Australie", "ARST": "heure d’été de l’Argentine", "CLT": "heure normale du Chili", "TMST": "heure d’été du Turkménistan", "ACST": "heure normale du centre de l’Australie", "ADT": "heure d’été de l’Atlantique", "ART": "heure normale d’Argentine", "GMT": "heure moyenne de Greenwich", "HECU": "heure d’été de Cuba", "HEOG": "heure d’été de l’Ouest du Groenland", "AWST": "heure normale de l’Ouest de l’Australie", "ECT": "heure de l’Équateur", "SGT": "heure de Singapour", "MST": "heure normale de Macao", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "BOT": "heure de Bolivie", "WARST": "heure d’été de l’Ouest argentin", "WITA": "heure du Centre indonésien", "CLST": "heure d’été du Chili", "ChST": "heure des Chamorro", "EST": "heure normale de l’Est nord-américain", "AKST": "heure normale de l’Alaska", "AKDT": "heure d’été de l’Alaska", "WESZ": "heure d’été d’Europe de l’Ouest", "AEST": "heure normale de l’Est de l’Australie", "TMT": "heure normale du Turkménistan", "COT": "heure normale de Colombie", "CDT": "heure d’été du Centre", "BT": "heure du Bhoutan", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "∅∅∅": "heure d’été de l’Amazonie", "JDT": "heure d’été du Japon", "CST": "heure normale du centre nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "LHDT": "heure d’été de Lord Howe", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "HNEG": "heure normale de l’Est du Groenland"}, } } @@ -431,7 +431,12 @@ func (fr *fr_GQ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_GQ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_GQ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_GQ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_HT/fr_HT.go b/fr_HT/fr_HT.go index 459842ed6..5984bec27 100644 --- a/fr_HT/fr_HT.go +++ b/fr_HT/fr_HT.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "G", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "G", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -71,11 +71,11 @@ func New() locales.Translator { daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsWide: []string{"", ""}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"AEDT": "heure d’été de l’Est de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "JST": "heure normale du Japon", "MYT": "heure de la Malaisie", "GYT": "heure du Guyana", "WESZ": "heure d’été d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "EAT": "heure normale d’Afrique de l’Est", "HNT": "heure normale de Terre-Neuve", "ART": "heure normale d’Argentine", "WARST": "heure d’été de l’Ouest argentin", "CST": "heure normale du centre nord-américain", "BT": "heure du Bhoutan", "MDT": "heure d’été des Rocheuses", "CHAST": "heure normale des îles Chatham", "ECT": "heure de l’Équateur", "LHST": "heure normale de Lord Howe", "CLST": "heure d’été du Chili", "UYT": "heure normale de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "ChST": "heure des Chamorro", "AST": "heure normale de l’Atlantique", "NZST": "heure normale de la Nouvelle-Zélande", "AWDT": "heure d’été de l’Ouest de l’Australie", "WIT": "heure de l’Est indonésien", "GMT": "heure moyenne de Greenwich", "HKT": "heure normale de Hong Kong", "ACDT": "heure d’été du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "COST": "heure d’été de Colombie", "VET": "heure du Venezuela", "SGT": "heure de Singapour", "IST": "heure de l’Inde", "MST": "heure normale des Rocheuses", "HAT": "heure d’été de Terre-Neuve", "ACWST": "heure normale du centre-ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "WAT": "heure normale d’Afrique de l’Ouest", "PST": "heure normale du Pacifique nord-américain", "BOT": "heure de Bolivie", "AWST": "heure normale de l’Ouest de l’Australie", "ARST": "heure d’été de l’Argentine", "SAST": "heure normale d’Afrique méridionale", "PDT": "heure d’été du Pacifique", "TMT": "heure normale du Turkménistan", "CLT": "heure normale du Chili", "UYST": "heure d’été de l’Uruguay", "AEST": "heure normale de l’Est de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "∅∅∅": "heure d’été des Açores", "CDT": "heure d’été du Centre", "LHDT": "heure d’été de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "AKST": "heure normale de l’Alaska", "OESZ": "heure d’été d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "MESZ": "heure d’été d’Europe centrale", "JDT": "heure d’été du Japon", "NZDT": "heure d’été de la Nouvelle-Zélande", "TMST": "heure d’été du Turkménistan", "WEZ": "heure normale d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "CHADT": "heure d’été des îles Chatham", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "AKDT": "heure d’été de l’Alaska", "ACWDT": "heure d’été du centre-ouest de l’Australie", "SRT": "heure du Suriname", "CAT": "heure normale d’Afrique centrale"}, + timezones: map[string]string{"GMT": "heure moyenne de Greenwich", "VET": "heure du Venezuela", "HNOG": "heure normale de l’Ouest du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "AKST": "heure normale de l’Alaska", "WIT": "heure de l’Est indonésien", "WESZ": "heure d’été d’Europe de l’Ouest", "ARST": "heure d’été de l’Argentine", "CHAST": "heure normale des îles Chatham", "WAT": "heure normale d’Afrique de l’Ouest", "COST": "heure d’été de Colombie", "EDT": "heure d’été de l’Est", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "HAT": "heure d’été de Terre-Neuve", "PST": "heure normale du Pacifique nord-américain", "CLST": "heure d’été du Chili", "BOT": "heure de Bolivie", "EAT": "heure normale d’Afrique de l’Est", "SRT": "heure du Suriname", "HNT": "heure normale de Terre-Neuve", "LHST": "heure normale de Lord Howe", "CAT": "heure normale d’Afrique centrale", "MYT": "heure de la Malaisie", "HKT": "heure normale de Hong Kong", "ChST": "heure des Chamorro", "CST": "heure normale du centre nord-américain", "WIB": "heure de l’Ouest indonésien", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PDT": "heure d’été du Pacifique", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "UYST": "heure d’été de l’Uruguay", "MESZ": "heure d’été d’Europe centrale", "ACST": "heure normale du centre de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "HECU": "heure d’été de Cuba", "AKDT": "heure d’été de l’Alaska", "UYT": "heure normale de l’Uruguay", "ACWST": "heure normale du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "WEZ": "heure normale d’Europe de l’Ouest", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "GFT": "heure de la Guyane française", "SGT": "heure de Singapour", "MST": "heure normale de Macao", "EST": "heure normale de l’Est nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "ECT": "heure de l’Équateur", "WART": "heure normale de l’Ouest argentin", "∅∅∅": "heure d’été des Açores", "HEEG": "heure d’été de l’Est du Groenland", "MEZ": "heure normale d’Europe centrale", "IST": "heure de l’Inde", "SAST": "heure normale d’Afrique méridionale", "MDT": "heure d’été de Macao", "HKST": "heure d’été de Hong Kong", "WITA": "heure du Centre indonésien", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZDT": "heure d’été de la Nouvelle-Zélande", "JDT": "heure d’été du Japon", "HNEG": "heure normale de l’Est du Groenland", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HNCU": "heure normale de Cuba", "GYT": "heure du Guyana", "ART": "heure normale d’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "TMST": "heure d’été du Turkménistan", "OEZ": "heure normale d’Europe de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "HEPMX": "heure d’été du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "LHDT": "heure d’été de Lord Howe", "TMT": "heure normale du Turkménistan", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "CHADT": "heure d’été des îles Chatham", "JST": "heure normale du Japon", "HEOG": "heure d’été de l’Ouest du Groenland", "AWDT": "heure d’été de l’Ouest de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "COT": "heure normale de Colombie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_HT) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_HT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_HT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_HT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_KM/fr_KM.go b/fr_KM/fr_KM.go index fdc0b642f..2aa3aeeb9 100644 --- a/fr_KM/fr_KM.go +++ b/fr_KM/fr_KM.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "CF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "CF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"HADT": "heure d’été d’Hawaii - Aléoutiennes", "WARST": "heure d’été de l’Ouest argentin", "SAST": "heure normale d’Afrique méridionale", "WAT": "heure normale d’Afrique de l’Ouest", "AWST": "heure normale de l’Ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "GMT": "heure moyenne de Greenwich", "CLT": "heure normale du Chili", "LHST": "heure normale de Lord Howe", "MYT": "heure de la Malaisie", "HKST": "heure d’été de Hong Kong", "MEZ": "heure normale d’Europe centrale", "VET": "heure du Venezuela", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "ADT": "heure d’été de l’Atlantique", "CDT": "heure d’été du Centre", "OESZ": "heure d’été d’Europe de l’Est", "CHAST": "heure normale des îles Chatham", "CLST": "heure d’été du Chili", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "EAT": "heure normale d’Afrique de l’Est", "EDT": "heure d’été de l’Est", "BT": "heure du Bhoutan", "HNT": "heure normale de Terre-Neuve", "COST": "heure d’été de Colombie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "WITA": "heure du Centre indonésien", "CST": "heure normale du centre nord-américain", "ChST": "heure des Chamorro", "ACDT": "heure d’été du centre de l’Australie", "LHDT": "heure d’été de Lord Howe", "JDT": "heure d’été du Japon", "HAST": "heure normale d’Hawaii - Aléoutiennes", "GYT": "heure du Guyana", "BOT": "heure de Bolivie", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "GFT": "heure de la Guyane française", "PDT": "heure d’été du Pacifique", "WIB": "heure de l’Ouest indonésien", "IST": "heure de l’Inde", "AKST": "heure normale de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "∅∅∅": "heure d’été des Açores", "WIT": "heure de l’Est indonésien", "CHADT": "heure d’été des îles Chatham", "ACWST": "heure normale du centre-ouest de l’Australie", "AST": "heure normale de l’Atlantique", "TMT": "heure normale du Turkménistan", "CAT": "heure normale d’Afrique centrale", "UYST": "heure d’été de l’Uruguay", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "ARST": "heure d’été de l’Argentine", "MDT": "heure d’été des Rocheuses", "WART": "heure normale de l’Ouest argentin", "AKDT": "heure d’été de l’Alaska", "TMST": "heure d’été du Turkménistan", "HAT": "heure d’été de Terre-Neuve", "ART": "heure normale d’Argentine", "EST": "heure normale de l’Est nord-américain", "JST": "heure normale du Japon", "SGT": "heure de Singapour", "MST": "heure normale des Rocheuses", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "UYT": "heure normale de l’Uruguay", "SRT": "heure du Suriname"}, + timezones: map[string]string{"MYT": "heure de la Malaisie", "ACWST": "heure normale du centre-ouest de l’Australie", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "COST": "heure d’été de Colombie", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "MESZ": "heure d’été d’Europe centrale", "IST": "heure de l’Inde", "EDT": "heure d’été de l’Est", "SRT": "heure du Suriname", "HNOG": "heure normale de l’Ouest du Groenland", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "BOT": "heure de Bolivie", "OESZ": "heure d’été d’Europe de l’Est", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "HNT": "heure normale de Terre-Neuve", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "TMST": "heure d’été du Turkménistan", "ACDT": "heure d’été du centre de l’Australie", "HNEG": "heure normale de l’Est du Groenland", "VET": "heure du Venezuela", "WIT": "heure de l’Est indonésien", "LHDT": "heure d’été de Lord Howe", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "WAST": "heure d’été d’Afrique de l’Ouest", "WART": "heure normale de l’Ouest argentin", "MST": "heure normale de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "CDT": "heure d’été du Centre", "WEZ": "heure normale d’Europe de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "CLST": "heure d’été du Chili", "ChST": "heure des Chamorro", "WIB": "heure de l’Ouest indonésien", "UYST": "heure d’été de l’Uruguay", "AST": "heure normale de l’Atlantique", "PST": "heure normale du Pacifique nord-américain", "AWDT": "heure d’été de l’Ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "UYT": "heure normale de l’Uruguay", "HEOG": "heure d’été de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "EST": "heure normale de l’Est nord-américain", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "GMT": "heure moyenne de Greenwich", "AKST": "heure normale de l’Alaska", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "CHAST": "heure normale des îles Chatham", "JDT": "heure d’été du Japon", "WARST": "heure d’été de l’Ouest argentin", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "AKDT": "heure d’été de l’Alaska", "BT": "heure du Bhoutan", "ARST": "heure d’été de l’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "CLT": "heure normale du Chili", "CHADT": "heure d’été des îles Chatham", "∅∅∅": "heure d’été de l’Amazonie", "GFT": "heure de la Guyane française", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "ART": "heure normale d’Argentine", "HKST": "heure d’été de Hong Kong", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "SGT": "heure de Singapour", "HNPMX": "heure normale du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "JST": "heure normale du Japon", "MDT": "heure d’été de Macao", "GYT": "heure du Guyana", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HECU": "heure d’été de Cuba", "AEST": "heure normale de l’Est de l’Australie", "HKT": "heure normale de Hong Kong", "LHST": "heure normale de Lord Howe", "HNCU": "heure normale de Cuba"}, } } @@ -431,7 +431,12 @@ func (fr *fr_KM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_KM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_KM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_KM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_LU/fr_LU.go b/fr_LU/fr_LU.go index 15e40fc37..40c3deb7f 100644 --- a/fr_LU/fr_LU.go +++ b/fr_LU/fr_LU.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"UYST": "heure d’été de l’Uruguay", "WART": "heure normale de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "EAT": "heure normale d’Afrique de l’Est", "AKDT": "heure d’été de l’Alaska", "ECT": "heure de l’Équateur", "CDT": "heure d’été du Centre", "CLST": "heure d’été du Chili", "SRT": "heure du Suriname", "OEZ": "heure normale d’Europe de l’Est", "WEZ": "heure normale d’Europe de l’Ouest", "VET": "heure du Venezuela", "COST": "heure d’été de Colombie", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "MYT": "heure de la Malaisie", "HNT": "heure normale de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "SGT": "heure de Singapour", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "NZST": "heure normale de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "GMT": "heure moyenne de Greenwich", "UYT": "heure normale de l’Uruguay", "AEDT": "heure d’été de l’Est de l’Australie", "CAT": "heure normale d’Afrique centrale", "ART": "heure normale d’Argentine", "WITA": "heure du Centre indonésien", "MDT": "heure d’été des Rocheuses", "OESZ": "heure d’été d’Europe de l’Est", "CLT": "heure normale du Chili", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "WARST": "heure d’été de l’Ouest argentin", "AST": "heure normale de l’Atlantique", "IST": "heure de l’Inde", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "MESZ": "heure d’été d’Europe centrale", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ARST": "heure d’été de l’Argentine", "WAST": "heure d’été d’Afrique de l’Ouest", "EDT": "heure d’été de l’Est", "GFT": "heure de la Guyane française", "WESZ": "heure d’été d’Europe de l’Ouest", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "SAST": "heure normale d’Afrique méridionale", "WIT": "heure de l’Est indonésien", "MEZ": "heure normale d’Europe centrale", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "∅∅∅": "heure d’été du Pérou", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "NZDT": "heure d’été de la Nouvelle-Zélande", "AWST": "heure normale de l’Ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "AEST": "heure normale de l’Est de l’Australie", "ADT": "heure d’été de l’Atlantique", "TMST": "heure d’été du Turkménistan", "BT": "heure du Bhoutan", "JDT": "heure d’été du Japon", "WAT": "heure normale d’Afrique de l’Ouest", "AKST": "heure normale de l’Alaska", "ACDT": "heure d’été du centre de l’Australie", "ACWST": "heure normale du centre-ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "JST": "heure normale du Japon", "WIB": "heure de l’Ouest indonésien"}, + timezones: map[string]string{"BOT": "heure de Bolivie", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure d’été d’Europe de l’Est", "MST": "heure normale de Macao", "TMT": "heure normale du Turkménistan", "ECT": "heure de l’Équateur", "HEPMX": "heure d’été du Pacifique mexicain", "WIB": "heure de l’Ouest indonésien", "HAT": "heure d’été de Terre-Neuve", "HNOG": "heure normale de l’Ouest du Groenland", "PDT": "heure d’été du Pacifique", "WEZ": "heure normale d’Europe de l’Ouest", "WITA": "heure du Centre indonésien", "NZST": "heure normale de la Nouvelle-Zélande", "WART": "heure normale de l’Ouest argentin", "UYT": "heure normale de l’Uruguay", "WIT": "heure de l’Est indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "JST": "heure normale du Japon", "ACDT": "heure d’été du centre de l’Australie", "ADT": "heure d’été de l’Atlantique", "GYT": "heure du Guyana", "MESZ": "heure d’été d’Europe centrale", "HNEG": "heure normale de l’Est du Groenland", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "MEZ": "heure normale d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "∅∅∅": "heure d’été de l’Amazonie", "TMST": "heure d’été du Turkménistan", "ACST": "heure normale du centre de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLST": "heure d’été du Chili", "SRT": "heure du Suriname", "GFT": "heure de la Guyane française", "WARST": "heure d’été de l’Ouest argentin", "CDT": "heure d’été du Centre", "PST": "heure normale du Pacifique nord-américain", "MYT": "heure de la Malaisie", "HNT": "heure normale de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "CLT": "heure normale du Chili", "ChST": "heure des Chamorro", "GMT": "heure moyenne de Greenwich", "HNCU": "heure normale de Cuba", "AKST": "heure normale de l’Alaska", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "EAT": "heure normale d’Afrique de l’Est", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "MDT": "heure d’été de Macao", "CST": "heure normale du centre nord-américain", "AEDT": "heure d’été de l’Est de l’Australie", "IST": "heure de l’Inde", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AST": "heure normale de l’Atlantique", "UYST": "heure d’été de l’Uruguay", "ARST": "heure d’été de l’Argentine", "ACWST": "heure normale du centre-ouest de l’Australie", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "WAT": "heure normale d’Afrique de l’Ouest", "COT": "heure normale de Colombie", "COST": "heure d’été de Colombie", "SGT": "heure de Singapour", "BT": "heure du Bhoutan", "HEOG": "heure d’été de l’Ouest du Groenland", "WESZ": "heure d’été d’Europe de l’Ouest", "CHAST": "heure normale des îles Chatham", "LHST": "heure normale de Lord Howe", "HECU": "heure d’été de Cuba", "HNPMX": "heure normale du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "AWST": "heure normale de l’Ouest de l’Australie", "JDT": "heure d’été du Japon", "CAT": "heure normale d’Afrique centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie"}, } } @@ -425,7 +425,12 @@ func (fr *fr_LU) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -439,7 +444,12 @@ func (fr *fr_LU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (fr *fr_LU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +484,12 @@ func (fr *fr_LU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MA/fr_MA.go b/fr_MA/fr_MA.go index 2b85987f2..95bee0435 100644 --- a/fr_MA/fr_MA.go +++ b/fr_MA/fr_MA.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"EAT": "heure normale d’Afrique de l’Est", "SAST": "heure normale d’Afrique méridionale", "AKDT": "heure d’été de l’Alaska", "CST": "heure normale du centre nord-américain", "ART": "heure normale d’Argentine", "HKT": "heure normale de Hong Kong", "SGT": "heure de Singapour", "VET": "heure du Venezuela", "AEST": "heure normale de l’Est de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "OEZ": "heure normale d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "AST": "heure normale de l’Atlantique", "MST": "heure normale des Rocheuses", "MYT": "heure de la Malaisie", "BT": "heure du Bhoutan", "LHST": "heure normale de Lord Howe", "ChST": "heure des Chamorro", "ECT": "heure de l’Équateur", "HNT": "heure normale de Terre-Neuve", "CDT": "heure d’été du Centre", "JST": "heure normale du Japon", "CHADT": "heure d’été des îles Chatham", "MDT": "heure d’été des Rocheuses", "CAT": "heure normale d’Afrique centrale", "UYT": "heure normale de l’Uruguay", "ACWDT": "heure d’été du centre-ouest de l’Australie", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "ACWST": "heure normale du centre-ouest de l’Australie", "WEZ": "heure normale d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WART": "heure normale de l’Ouest argentin", "EDT": "heure d’été de l’Est", "COT": "heure normale de Colombie", "HAT": "heure d’été de Terre-Neuve", "CLT": "heure normale du Chili", "IST": "heure de l’Inde", "CHAST": "heure normale des îles Chatham", "COST": "heure d’été de Colombie", "ARST": "heure d’été de l’Argentine", "WAST": "heure d’été d’Afrique de l’Ouest", "BOT": "heure de Bolivie", "WIT": "heure de l’Est indonésien", "∅∅∅": "heure d’été de Brasilia", "MEZ": "heure normale d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "ADT": "heure d’été de l’Atlantique", "WAT": "heure normale d’Afrique de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "SRT": "heure du Suriname", "ACDT": "heure d’été du centre de l’Australie", "AKST": "heure normale de l’Alaska", "WITA": "heure du Centre indonésien", "GYT": "heure du Guyana", "GMT": "heure moyenne de Greenwich", "JDT": "heure d’été du Japon", "OESZ": "heure d’été d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AEDT": "heure d’été de l’Est de l’Australie", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "UYST": "heure d’été de l’Uruguay", "TMST": "heure d’été du Turkménistan", "AWST": "heure normale de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "TMT": "heure normale du Turkménistan"}, + timezones: map[string]string{"HEPMX": "heure d’été du Pacifique mexicain", "WIT": "heure de l’Est indonésien", "BT": "heure du Bhoutan", "PDT": "heure d’été du Pacifique", "WEZ": "heure normale d’Europe de l’Ouest", "AWST": "heure normale de l’Ouest de l’Australie", "SAST": "heure normale d’Afrique méridionale", "ChST": "heure des Chamorro", "WARST": "heure d’été de l’Ouest argentin", "COT": "heure normale de Colombie", "SRT": "heure du Suriname", "PST": "heure normale du Pacifique nord-américain", "LHDT": "heure d’été de Lord Howe", "∅∅∅": "heure d’été de l’Amazonie", "ECT": "heure de l’Équateur", "EST": "heure normale de l’Est nord-américain", "MYT": "heure de la Malaisie", "HAT": "heure d’été de Terre-Neuve", "LHST": "heure normale de Lord Howe", "TMST": "heure d’été du Turkménistan", "WAST": "heure d’été d’Afrique de l’Ouest", "AEDT": "heure d’été de l’Est de l’Australie", "IST": "heure de l’Inde", "JST": "heure normale du Japon", "EDT": "heure d’été de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HKT": "heure normale de Hong Kong", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "BOT": "heure de Bolivie", "COST": "heure d’été de Colombie", "HECU": "heure d’été de Cuba", "MST": "heure normale de Macao", "UYST": "heure d’été de l’Uruguay", "HEEG": "heure d’été de l’Est du Groenland", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "ACWST": "heure normale du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "MDT": "heure d’été de Macao", "WIB": "heure de l’Ouest indonésien", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "EAT": "heure normale d’Afrique de l’Est", "OEZ": "heure normale d’Europe de l’Est", "HNCU": "heure normale de Cuba", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WESZ": "heure d’été d’Europe de l’Ouest", "HNOG": "heure normale de l’Ouest du Groenland", "HEOG": "heure d’été de l’Ouest du Groenland", "HKST": "heure d’été de Hong Kong", "AWDT": "heure d’été de l’Ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "HNEG": "heure normale de l’Est du Groenland", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HNPMX": "heure normale du Pacifique mexicain", "CDT": "heure d’été du Centre", "UYT": "heure normale de l’Uruguay", "GFT": "heure de la Guyane française", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "JDT": "heure d’été du Japon", "TMT": "heure normale du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "WITA": "heure du Centre indonésien", "MESZ": "heure d’été d’Europe centrale", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "VET": "heure du Venezuela", "CLST": "heure d’été du Chili", "WART": "heure normale de l’Ouest argentin", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "ARST": "heure d’été de l’Argentine", "AKDT": "heure d’été de l’Alaska", "GYT": "heure du Guyana", "CHAST": "heure normale des îles Chatham", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "CAT": "heure normale d’Afrique centrale", "WAT": "heure normale d’Afrique de l’Ouest", "SGT": "heure de Singapour", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ART": "heure normale d’Argentine", "GMT": "heure moyenne de Greenwich", "HNT": "heure normale de Terre-Neuve"}, } } @@ -425,7 +425,12 @@ func (fr *fr_MA) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -439,7 +444,12 @@ func (fr *fr_MA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (fr *fr_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +484,12 @@ func (fr *fr_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MC/fr_MC.go b/fr_MC/fr_MC.go index 2e5b617f4..646796108 100644 --- a/fr_MC/fr_MC.go +++ b/fr_MC/fr_MC.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"GYT": "heure du Guyana", "JDT": "heure d’été du Japon", "ACWST": "heure normale du centre-ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "WESZ": "heure d’été d’Europe de l’Ouest", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AEDT": "heure d’été de l’Est de l’Australie", "EDT": "heure d’été de l’Est", "WART": "heure normale de l’Ouest argentin", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CST": "heure normale du centre nord-américain", "MDT": "heure d’été des Rocheuses", "BOT": "heure de Bolivie", "CLT": "heure normale du Chili", "ACST": "heure normale du centre de l’Australie", "WITA": "heure du Centre indonésien", "WIT": "heure de l’Est indonésien", "GMT": "heure moyenne de Greenwich", "AEST": "heure normale de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "TMT": "heure normale du Turkménistan", "MEZ": "heure normale d’Europe centrale", "MESZ": "heure d’été d’Europe centrale", "ARST": "heure d’été de l’Argentine", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale des Rocheuses", "HAST": "heure normale d’Hawaii - Aléoutiennes", "IST": "heure de l’Inde", "SAST": "heure normale d’Afrique méridionale", "CDT": "heure d’été du Centre", "CHAST": "heure normale des îles Chatham", "WARST": "heure d’été de l’Ouest argentin", "OESZ": "heure d’été d’Europe de l’Est", "VET": "heure du Venezuela", "ACDT": "heure d’été du centre de l’Australie", "PDT": "heure d’été du Pacifique", "AWDT": "heure d’été de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "OEZ": "heure normale d’Europe de l’Est", "SGT": "heure de Singapour", "NZST": "heure normale de la Nouvelle-Zélande", "WEZ": "heure normale d’Europe de l’Ouest", "COT": "heure normale de Colombie", "WIB": "heure de l’Ouest indonésien", "MYT": "heure de la Malaisie", "CAT": "heure normale d’Afrique centrale", "HKT": "heure normale de Hong Kong", "TMST": "heure d’été du Turkménistan", "BT": "heure du Bhoutan", "AKST": "heure normale de l’Alaska", "HNT": "heure normale de Terre-Neuve", "LHST": "heure normale de Lord Howe", "LHDT": "heure d’été de Lord Howe", "WAST": "heure d’été d’Afrique de l’Ouest", "CLST": "heure d’été du Chili", "GFT": "heure de la Guyane française", "COST": "heure d’été de Colombie", "ECT": "heure de l’Équateur", "AKDT": "heure d’été de l’Alaska", "WAT": "heure normale d’Afrique de l’Ouest", "ChST": "heure des Chamorro", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "CHADT": "heure d’été des îles Chatham", "SRT": "heure du Suriname", "HKST": "heure d’été de Hong Kong", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "∅∅∅": "heure d’été des Açores", "HAT": "heure d’été de Terre-Neuve", "ART": "heure normale d’Argentine"}, + timezones: map[string]string{"JDT": "heure d’été du Japon", "BT": "heure du Bhoutan", "HNT": "heure normale de Terre-Neuve", "ART": "heure normale d’Argentine", "AEST": "heure normale de l’Est de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "ECT": "heure de l’Équateur", "HNPMX": "heure normale du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "HEOG": "heure d’été de l’Ouest du Groenland", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "AST": "heure normale de l’Atlantique", "WIB": "heure de l’Ouest indonésien", "WESZ": "heure d’été d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "ChST": "heure des Chamorro", "CST": "heure normale du centre nord-américain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HKT": "heure normale de Hong Kong", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "IST": "heure de l’Inde", "WARST": "heure d’été de l’Ouest argentin", "HNCU": "heure normale de Cuba", "HAT": "heure d’été de Terre-Neuve", "ARST": "heure d’été de l’Argentine", "JST": "heure normale du Japon", "GFT": "heure de la Guyane française", "TMST": "heure d’été du Turkménistan", "ACDT": "heure d’été du centre de l’Australie", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "UYST": "heure d’été de l’Uruguay", "VET": "heure du Venezuela", "PST": "heure normale du Pacifique nord-américain", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "COST": "heure d’été de Colombie", "EST": "heure normale de l’Est nord-américain", "GYT": "heure du Guyana", "HNOG": "heure normale de l’Ouest du Groenland", "HEEG": "heure d’été de l’Est du Groenland", "LHST": "heure normale de Lord Howe", "SAST": "heure normale d’Afrique méridionale", "GMT": "heure moyenne de Greenwich", "SGT": "heure de Singapour", "MDT": "heure d’été de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "∅∅∅": "heure d’été de l’Amazonie", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "UYT": "heure normale de l’Uruguay", "AWDT": "heure d’été de l’Ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "HNEG": "heure normale de l’Est du Groenland", "TMT": "heure normale du Turkménistan", "EAT": "heure normale d’Afrique de l’Est", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "OESZ": "heure d’été d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "HECU": "heure d’été de Cuba", "CHADT": "heure d’été des îles Chatham", "MYT": "heure de la Malaisie", "SRT": "heure du Suriname", "PDT": "heure d’été du Pacifique", "CHAST": "heure normale des îles Chatham", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "MST": "heure normale de Macao", "WIT": "heure de l’Est indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "CLST": "heure d’été du Chili", "ACST": "heure normale du centre de l’Australie", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "WITA": "heure du Centre indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MC) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MF/fr_MF.go b/fr_MF/fr_MF.go index 622a05553..a5e5673c7 100644 --- a/fr_MF/fr_MF.go +++ b/fr_MF/fr_MF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ARST": "heure d’été de l’Argentine", "WARST": "heure d’été de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "JDT": "heure d’été du Japon", "GFT": "heure de la Guyane française", "OEZ": "heure normale d’Europe de l’Est", "MEZ": "heure normale d’Europe centrale", "AWST": "heure normale de l’Ouest de l’Australie", "VET": "heure du Venezuela", "ACDT": "heure d’été du centre de l’Australie", "AST": "heure normale de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "WIT": "heure de l’Est indonésien", "EAT": "heure normale d’Afrique de l’Est", "COT": "heure normale de Colombie", "TMST": "heure d’été du Turkménistan", "NZST": "heure normale de la Nouvelle-Zélande", "SRT": "heure du Suriname", "WEZ": "heure normale d’Europe de l’Ouest", "ART": "heure normale d’Argentine", "MYT": "heure de la Malaisie", "∅∅∅": "heure d’été des Açores", "CDT": "heure d’été du Centre", "BOT": "heure de Bolivie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AEDT": "heure d’été de l’Est de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "CLST": "heure d’été du Chili", "JST": "heure normale du Japon", "GMT": "heure moyenne de Greenwich", "LHDT": "heure d’été de Lord Howe", "IST": "heure de l’Inde", "UYT": "heure normale de l’Uruguay", "CHAST": "heure normale des îles Chatham", "ECT": "heure de l’Équateur", "WIB": "heure de l’Ouest indonésien", "ADT": "heure d’été de l’Atlantique", "HAT": "heure d’été de Terre-Neuve", "CLT": "heure normale du Chili", "WESZ": "heure d’été d’Europe de l’Ouest", "ACST": "heure normale du centre de l’Australie", "CHADT": "heure d’été des îles Chatham", "SGT": "heure de Singapour", "AEST": "heure normale de l’Est de l’Australie", "EDT": "heure d’été de l’Est", "MDT": "heure d’été des Rocheuses", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "CAT": "heure normale d’Afrique centrale", "AKST": "heure normale de l’Alaska", "UYST": "heure d’été de l’Uruguay", "COST": "heure d’été de Colombie", "MESZ": "heure d’été d’Europe centrale", "WART": "heure normale de l’Ouest argentin", "HNT": "heure normale de Terre-Neuve", "AKDT": "heure d’été de l’Alaska", "HAST": "heure normale d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "LHST": "heure normale de Lord Howe", "WAT": "heure normale d’Afrique de l’Ouest", "WITA": "heure du Centre indonésien", "ChST": "heure des Chamorro", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "NZDT": "heure d’été de la Nouvelle-Zélande", "BT": "heure du Bhoutan", "ACWST": "heure normale du centre-ouest de l’Australie"}, + timezones: map[string]string{"HKT": "heure normale de Hong Kong", "ECT": "heure de l’Équateur", "AWST": "heure normale de l’Ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "HECU": "heure d’été de Cuba", "WEZ": "heure normale d’Europe de l’Ouest", "LHST": "heure normale de Lord Howe", "LHDT": "heure d’été de Lord Howe", "CLST": "heure d’été du Chili", "HEEG": "heure d’été de l’Est du Groenland", "NZST": "heure normale de la Nouvelle-Zélande", "AKDT": "heure d’été de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "MESZ": "heure d’été d’Europe centrale", "TMT": "heure normale du Turkménistan", "WARST": "heure d’été de l’Ouest argentin", "ART": "heure normale d’Argentine", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZDT": "heure d’été de la Nouvelle-Zélande", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HAT": "heure d’été de Terre-Neuve", "CAT": "heure normale d’Afrique centrale", "HNPMX": "heure normale du Pacifique mexicain", "EDT": "heure d’été de l’Est", "UYT": "heure normale de l’Uruguay", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "BT": "heure du Bhoutan", "SAST": "heure normale d’Afrique méridionale", "CLT": "heure normale du Chili", "ARST": "heure d’été de l’Argentine", "CST": "heure normale du centre nord-américain", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "HEOG": "heure d’été de l’Ouest du Groenland", "JDT": "heure d’été du Japon", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "WIB": "heure de l’Ouest indonésien", "ACST": "heure normale du centre de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "MST": "heure normale de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "VET": "heure du Venezuela", "WIT": "heure de l’Est indonésien", "SRT": "heure du Suriname", "ACWDT": "heure d’été du centre-ouest de l’Australie", "GFT": "heure de la Guyane française", "WART": "heure normale de l’Ouest argentin", "UYST": "heure d’été de l’Uruguay", "WITA": "heure du Centre indonésien", "HNEG": "heure normale de l’Est du Groenland", "HNCU": "heure normale de Cuba", "COT": "heure normale de Colombie", "WESZ": "heure d’été d’Europe de l’Ouest", "∅∅∅": "heure d’été de l’Amazonie", "ChST": "heure des Chamorro", "COST": "heure d’été de Colombie", "GMT": "heure moyenne de Greenwich", "HKST": "heure d’été de Hong Kong", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "ACDT": "heure d’été du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "ADT": "heure d’été de l’Atlantique", "MYT": "heure de la Malaisie", "CHADT": "heure d’été des îles Chatham", "MEZ": "heure normale d’Europe centrale", "JST": "heure normale du Japon", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "HNOG": "heure normale de l’Ouest du Groenland", "CHAST": "heure normale des îles Chatham", "SGT": "heure de Singapour", "EST": "heure normale de l’Est nord-américain", "WAST": "heure d’été d’Afrique de l’Ouest", "CDT": "heure d’été du Centre", "AWDT": "heure d’été de l’Ouest de l’Australie", "IST": "heure de l’Inde", "BOT": "heure de Bolivie", "AEST": "heure normale de l’Est de l’Australie", "TMST": "heure d’été du Turkménistan", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AEDT": "heure d’été de l’Est de l’Australie", "MDT": "heure d’été de Macao", "ACWST": "heure normale du centre-ouest de l’Australie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MG/fr_MG.go b/fr_MG/fr_MG.go index 6d73004cc..ab797d855 100644 --- a/fr_MG/fr_MG.go +++ b/fr_MG/fr_MG.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"LHDT": "heure d’été de Lord Howe", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "SAST": "heure normale d’Afrique méridionale", "CST": "heure normale du centre nord-américain", "NZST": "heure normale de la Nouvelle-Zélande", "WIT": "heure de l’Est indonésien", "LHST": "heure normale de Lord Howe", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "WAT": "heure normale d’Afrique de l’Ouest", "CDT": "heure d’été du Centre", "MST": "heure normale des Rocheuses", "ECT": "heure de l’Équateur", "ACWST": "heure normale du centre-ouest de l’Australie", "COT": "heure normale de Colombie", "TMT": "heure normale du Turkménistan", "BT": "heure du Bhoutan", "JDT": "heure d’été du Japon", "CHAST": "heure normale des îles Chatham", "SRT": "heure du Suriname", "VET": "heure du Venezuela", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "IST": "heure de l’Inde", "AKST": "heure normale de l’Alaska", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "ADT": "heure d’été de l’Atlantique", "CHADT": "heure d’été des îles Chatham", "COST": "heure d’été de Colombie", "ACDT": "heure d’été du centre de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "MDT": "heure d’été des Rocheuses", "ChST": "heure des Chamorro", "CLST": "heure d’été du Chili", "WESZ": "heure d’été d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "ARST": "heure d’été de l’Argentine", "WART": "heure normale de l’Ouest argentin", "ACWDT": "heure d’été du centre-ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "AWDT": "heure d’été de l’Ouest de l’Australie", "JST": "heure normale du Japon", "GMT": "heure moyenne de Greenwich", "CLT": "heure normale du Chili", "HKT": "heure normale de Hong Kong", "MYT": "heure de la Malaisie", "NZDT": "heure d’été de la Nouvelle-Zélande", "HNT": "heure normale de Terre-Neuve", "WEZ": "heure normale d’Europe de l’Ouest", "AST": "heure normale de l’Atlantique", "ACST": "heure normale du centre de l’Australie", "SGT": "heure de Singapour", "AKDT": "heure d’été de l’Alaska", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "WITA": "heure du Centre indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "∅∅∅": "heure d’été des Açores", "GYT": "heure du Guyana", "GFT": "heure de la Guyane française", "OEZ": "heure normale d’Europe de l’Est", "UYT": "heure normale de l’Uruguay", "OESZ": "heure d’été d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "AEDT": "heure d’été de l’Est de l’Australie", "TMST": "heure d’été du Turkménistan", "HAT": "heure d’été de Terre-Neuve"}, + timezones: map[string]string{"HAST": "heure normale d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "MESZ": "heure d’été d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "EDT": "heure d’été de l’Est", "PST": "heure normale du Pacifique nord-américain", "AEST": "heure normale de l’Est de l’Australie", "HKT": "heure normale de Hong Kong", "COST": "heure d’été de Colombie", "HAT": "heure d’été de Terre-Neuve", "HNCU": "heure normale de Cuba", "CDT": "heure d’été du Centre", "TMST": "heure d’été du Turkménistan", "WAST": "heure d’été d’Afrique de l’Ouest", "MYT": "heure de la Malaisie", "WEZ": "heure normale d’Europe de l’Ouest", "CLT": "heure normale du Chili", "HNEG": "heure normale de l’Est du Groenland", "BOT": "heure de Bolivie", "EAT": "heure normale d’Afrique de l’Est", "UYST": "heure d’été de l’Uruguay", "HNT": "heure normale de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "CHADT": "heure d’été des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "ChST": "heure des Chamorro", "TMT": "heure normale du Turkménistan", "WARST": "heure d’été de l’Ouest argentin", "MST": "heure normale de Macao", "ART": "heure normale d’Argentine", "AWDT": "heure d’été de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "OEZ": "heure normale d’Europe de l’Est", "SRT": "heure du Suriname", "PDT": "heure d’été du Pacifique", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CLST": "heure d’été du Chili", "GFT": "heure de la Guyane française", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "MDT": "heure d’été de Macao", "UYT": "heure normale de l’Uruguay", "AKDT": "heure d’été de l’Alaska", "ADT": "heure d’été de l’Atlantique", "WESZ": "heure d’été d’Europe de l’Ouest", "AWST": "heure normale de l’Ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "ACST": "heure normale du centre de l’Australie", "HNPMX": "heure normale du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "VET": "heure du Venezuela", "BT": "heure du Bhoutan", "HEOG": "heure d’été de l’Ouest du Groenland", "LHST": "heure normale de Lord Howe", "NZST": "heure normale de la Nouvelle-Zélande", "∅∅∅": "heure d’été du Pérou", "CAT": "heure normale d’Afrique centrale", "WART": "heure normale de l’Ouest argentin", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "GMT": "heure moyenne de Greenwich", "WIB": "heure de l’Ouest indonésien", "HEPMX": "heure d’été du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "WIT": "heure de l’Est indonésien", "ARST": "heure d’été de l’Argentine", "HNOG": "heure normale de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "HECU": "heure d’été de Cuba", "EST": "heure normale de l’Est nord-américain", "HEEG": "heure d’été de l’Est du Groenland", "WAT": "heure normale d’Afrique de l’Ouest", "ECT": "heure de l’Équateur", "GYT": "heure du Guyana", "ACWST": "heure normale du centre-ouest de l’Australie", "IST": "heure de l’Inde", "ACDT": "heure d’été du centre de l’Australie", "SGT": "heure de Singapour", "AEDT": "heure d’été de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AKST": "heure normale de l’Alaska", "HADT": "heure d’été d’Hawaii - Aléoutiennes"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_ML/fr_ML.go b/fr_ML/fr_ML.go index 5942e359e..54b09914a 100644 --- a/fr_ML/fr_ML.go +++ b/fr_ML/fr_ML.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"COST": "heure d’été de Colombie", "IST": "heure de l’Inde", "EDT": "heure d’été de l’Est", "TMST": "heure d’été du Turkménistan", "UYT": "heure normale de l’Uruguay", "CHADT": "heure d’été des îles Chatham", "COT": "heure normale de Colombie", "MESZ": "heure d’été d’Europe centrale", "AST": "heure normale de l’Atlantique", "WITA": "heure du Centre indonésien", "CDT": "heure d’été du Centre", "∅∅∅": "heure d’été de Brasilia", "GFT": "heure de la Guyane française", "PST": "heure normale du Pacifique nord-américain", "BOT": "heure de Bolivie", "HAT": "heure d’été de Terre-Neuve", "ART": "heure normale d’Argentine", "LHST": "heure normale de Lord Howe", "WAST": "heure d’été d’Afrique de l’Ouest", "JST": "heure normale du Japon", "GMT": "heure moyenne de Greenwich", "AEDT": "heure d’été de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "BT": "heure du Bhoutan", "UYST": "heure d’été de l’Uruguay", "WIT": "heure de l’Est indonésien", "CAT": "heure normale d’Afrique centrale", "ADT": "heure d’été de l’Atlantique", "MDT": "heure d’été des Rocheuses", "GYT": "heure du Guyana", "HNT": "heure normale de Terre-Neuve", "CLT": "heure normale du Chili", "ACST": "heure normale du centre de l’Australie", "PDT": "heure d’été du Pacifique", "LHDT": "heure d’été de Lord Howe", "SRT": "heure du Suriname", "MYT": "heure de la Malaisie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AKST": "heure normale de l’Alaska", "AEST": "heure normale de l’Est de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "EST": "heure normale de l’Est nord-américain", "SGT": "heure de Singapour", "VET": "heure du Venezuela", "OEZ": "heure normale d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "AWST": "heure normale de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "WIB": "heure de l’Ouest indonésien", "ACWDT": "heure d’été du centre-ouest de l’Australie", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "CLST": "heure d’été du Chili", "WEZ": "heure normale d’Europe de l’Ouest", "ACDT": "heure d’été du centre de l’Australie", "CST": "heure normale du centre nord-américain", "AWDT": "heure d’été de l’Ouest de l’Australie", "WESZ": "heure d’été d’Europe de l’Ouest", "WART": "heure normale de l’Ouest argentin", "ChST": "heure des Chamorro", "JDT": "heure d’été du Japon", "OESZ": "heure d’été d’Europe de l’Est", "SAST": "heure normale d’Afrique méridionale", "NZST": "heure normale de la Nouvelle-Zélande", "ECT": "heure de l’Équateur", "EAT": "heure normale d’Afrique de l’Est", "MEZ": "heure normale d’Europe centrale", "ARST": "heure d’été de l’Argentine"}, + timezones: map[string]string{"TMST": "heure d’été du Turkménistan", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "SGT": "heure de Singapour", "UYT": "heure normale de l’Uruguay", "AKDT": "heure d’été de l’Alaska", "MST": "heure normale des Rocheuses", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HKST": "heure d’été de Hong Kong", "HEPMX": "heure d’été du Pacifique mexicain", "WEZ": "heure normale d’Europe de l’Ouest", "WAT": "heure normale d’Afrique de l’Ouest", "PDT": "heure d’été du Pacifique", "LHST": "heure normale de Lord Howe", "JST": "heure normale du Japon", "EST": "heure normale de l’Est nord-américain", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "WARST": "heure d’été de l’Ouest argentin", "AWST": "heure normale de l’Ouest de l’Australie", "HKT": "heure normale de Hong Kong", "LHDT": "heure d’été de Lord Howe", "EDT": "heure d’été de l’Est", "NZDT": "heure d’été de la Nouvelle-Zélande", "SAST": "heure normale d’Afrique méridionale", "BOT": "heure de Bolivie", "CST": "heure normale du centre nord-américain", "ADT": "heure d’été de l’Atlantique", "VET": "heure du Venezuela", "WIT": "heure de l’Est indonésien", "SRT": "heure du Suriname", "CAT": "heure normale d’Afrique centrale", "BT": "heure du Bhoutan", "ARST": "heure d’été de l’Argentine", "AEST": "heure normale de l’Est de l’Australie", "MESZ": "heure d’été d’Europe centrale", "∅∅∅": "heure d’été de l’Amazonie", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "HEOG": "heure d’été de l’Ouest du Groenland", "MEZ": "heure normale d’Europe centrale", "CHAST": "heure normale des îles Chatham", "CLST": "heure d’été du Chili", "HNEG": "heure normale de l’Est du Groenland", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "HECU": "heure d’été de Cuba", "EAT": "heure normale d’Afrique de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "HAT": "heure d’été de Terre-Neuve", "ART": "heure normale d’Argentine", "ACST": "heure normale du centre de l’Australie", "UYST": "heure d’été de l’Uruguay", "GYT": "heure du Guyana", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CHADT": "heure d’été des îles Chatham", "TMT": "heure normale du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "HNCU": "heure normale de Cuba", "AKST": "heure normale de l’Alaska", "MDT": "heure d’été des Rocheuses", "AEDT": "heure d’été de l’Est de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "WESZ": "heure d’été d’Europe de l’Ouest", "WITA": "heure du Centre indonésien", "COT": "heure normale de Colombie", "GMT": "heure moyenne de Greenwich", "WART": "heure normale de l’Ouest argentin", "CDT": "heure d’été du Centre", "HNOG": "heure normale de l’Ouest du Groenland", "IST": "heure de l’Inde", "JDT": "heure d’été du Japon", "ECT": "heure de l’Équateur", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "HNPMX": "heure normale du Pacifique mexicain", "MYT": "heure de la Malaisie", "WIB": "heure de l’Ouest indonésien", "PST": "heure normale du Pacifique nord-américain", "AWDT": "heure d’été de l’Ouest de l’Australie", "ChST": "heure des Chamorro"}, } } @@ -431,7 +431,12 @@ func (fr *fr_ML) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_ML) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_ML) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_ML) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MQ/fr_MQ.go b/fr_MQ/fr_MQ.go index 23df7001e..423db2ca6 100644 --- a/fr_MQ/fr_MQ.go +++ b/fr_MQ/fr_MQ.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"LHDT": "heure d’été de Lord Howe", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "OEZ": "heure normale d’Europe de l’Est", "HKST": "heure d’été de Hong Kong", "AST": "heure normale de l’Atlantique", "CAT": "heure normale d’Afrique centrale", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "WAT": "heure normale d’Afrique de l’Ouest", "PDT": "heure d’été du Pacifique", "MDT": "heure d’été des Rocheuses", "AWST": "heure normale de l’Ouest de l’Australie", "WESZ": "heure d’été d’Europe de l’Ouest", "SRT": "heure du Suriname", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "WITA": "heure du Centre indonésien", "GYT": "heure du Guyana", "LHST": "heure normale de Lord Howe", "HKT": "heure normale de Hong Kong", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "AKDT": "heure d’été de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "CST": "heure normale du centre nord-américain", "ARST": "heure d’été de l’Argentine", "WARST": "heure d’été de l’Ouest argentin", "BOT": "heure de Bolivie", "HNT": "heure normale de Terre-Neuve", "UYST": "heure d’été de l’Uruguay", "ACDT": "heure d’été du centre de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AEST": "heure normale de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "HAT": "heure d’été de Terre-Neuve", "JDT": "heure d’été du Japon", "∅∅∅": "heure d’été de Brasilia", "GFT": "heure de la Guyane française", "MEZ": "heure normale d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "WIT": "heure de l’Est indonésien", "CHAST": "heure normale des îles Chatham", "GMT": "heure moyenne de Greenwich", "CHADT": "heure d’été des îles Chatham", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "MST": "heure normale des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "WIB": "heure de l’Ouest indonésien", "WART": "heure normale de l’Ouest argentin", "IST": "heure de l’Inde", "TMST": "heure d’été du Turkménistan", "ChST": "heure des Chamorro", "BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "ADT": "heure d’été de l’Atlantique", "TMT": "heure normale du Turkménistan", "JST": "heure normale du Japon", "MESZ": "heure d’été d’Europe centrale", "SGT": "heure de Singapour", "EAT": "heure normale d’Afrique de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "CLST": "heure d’été du Chili", "UYT": "heure normale de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "ACST": "heure normale du centre de l’Australie", "COST": "heure d’été de Colombie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie"}, + timezones: map[string]string{"ECT": "heure de l’Équateur", "HEPMX": "heure d’été du Pacifique mexicain", "MYT": "heure de la Malaisie", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "CLT": "heure normale du Chili", "OEZ": "heure normale d’Europe de l’Est", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "WIT": "heure de l’Est indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "CHAST": "heure normale des îles Chatham", "AST": "heure normale de l’Atlantique", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SAST": "heure normale d’Afrique méridionale", "HNEG": "heure normale de l’Est du Groenland", "TMT": "heure normale du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest", "EST": "heure normale de l’Est nord-américain", "UYST": "heure d’été de l’Uruguay", "PST": "heure normale du Pacifique nord-américain", "HEEG": "heure d’été de l’Est du Groenland", "TMST": "heure d’été du Turkménistan", "ACDT": "heure d’été du centre de l’Australie", "ART": "heure normale d’Argentine", "ARST": "heure d’été de l’Argentine", "NZST": "heure normale de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "GMT": "heure moyenne de Greenwich", "ACWST": "heure normale du centre-ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "∅∅∅": "heure d’été de l’Amazonie", "WAST": "heure d’été d’Afrique de l’Ouest", "MDT": "heure d’été de Macao", "UYT": "heure normale de l’Uruguay", "SRT": "heure du Suriname", "ADT": "heure d’été de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "HAT": "heure d’été de Terre-Neuve", "WITA": "heure du Centre indonésien", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "MST": "heure normale de Macao", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKDT": "heure d’été de l’Alaska", "PDT": "heure d’été du Pacifique", "AEDT": "heure d’été de l’Est de l’Australie", "HKST": "heure d’été de Hong Kong", "LHST": "heure normale de Lord Howe", "HECU": "heure d’été de Cuba", "WIB": "heure de l’Ouest indonésien", "HNOG": "heure normale de l’Ouest du Groenland", "CDT": "heure d’été du Centre", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "BOT": "heure de Bolivie", "GFT": "heure de la Guyane française", "WART": "heure normale de l’Ouest argentin", "HNPMX": "heure normale du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "CLST": "heure d’été du Chili", "JDT": "heure d’été du Japon", "WARST": "heure d’été de l’Ouest argentin", "EDT": "heure d’été de l’Est", "VET": "heure du Venezuela", "HNCU": "heure normale de Cuba", "IST": "heure de l’Inde", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "BT": "heure du Bhoutan", "HEOG": "heure d’été de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "CAT": "heure normale d’Afrique centrale", "COST": "heure d’été de Colombie", "SGT": "heure de Singapour", "GYT": "heure du Guyana", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "AKST": "heure normale de l’Alaska", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "MEZ": "heure normale d’Europe centrale"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MQ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MQ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MQ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MQ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MR/fr_MR.go b/fr_MR/fr_MR.go index 0893bcafe..c9d5fca67 100644 --- a/fr_MR/fr_MR.go +++ b/fr_MR/fr_MR.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "UM", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "UM", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"EAT": "heure normale d’Afrique de l’Est", "MYT": "heure de la Malaisie", "CHADT": "heure d’été des îles Chatham", "VET": "heure du Venezuela", "PST": "heure normale du Pacifique nord-américain", "TMT": "heure normale du Turkménistan", "LHST": "heure normale de Lord Howe", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "AEDT": "heure d’été de l’Est de l’Australie", "COT": "heure normale de Colombie", "AST": "heure normale de l’Atlantique", "ADT": "heure d’été de l’Atlantique", "IST": "heure de l’Inde", "NZST": "heure normale de la Nouvelle-Zélande", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "ChST": "heure des Chamorro", "AEST": "heure normale de l’Est de l’Australie", "AKST": "heure normale de l’Alaska", "LHDT": "heure d’été de Lord Howe", "HKST": "heure d’été de Hong Kong", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "WARST": "heure d’été de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "TMST": "heure d’été du Turkménistan", "CDT": "heure d’été du Centre", "BOT": "heure de Bolivie", "BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ECT": "heure de l’Équateur", "WIT": "heure de l’Est indonésien", "GMT": "heure moyenne de Greenwich", "UYT": "heure normale de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "SGT": "heure de Singapour", "MDT": "heure d’été des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "JDT": "heure d’été du Japon", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ARST": "heure d’été de l’Argentine", "SAST": "heure normale d’Afrique méridionale", "AKDT": "heure d’été de l’Alaska", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "MST": "heure normale des Rocheuses", "CAT": "heure normale d’Afrique centrale", "AWST": "heure normale de l’Ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "SRT": "heure du Suriname", "OEZ": "heure normale d’Europe de l’Est", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "NZDT": "heure d’été de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "WART": "heure normale de l’Ouest argentin", "PDT": "heure d’été du Pacifique", "UYST": "heure d’été de l’Uruguay", "JST": "heure normale du Japon", "ACWST": "heure normale du centre-ouest de l’Australie", "WITA": "heure du Centre indonésien", "∅∅∅": "heure d’été du Pérou", "HNT": "heure normale de Terre-Neuve", "CLT": "heure normale du Chili", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "CHAST": "heure normale des îles Chatham"}, + timezones: map[string]string{"AEST": "heure normale de l’Est de l’Australie", "WITA": "heure du Centre indonésien", "CAT": "heure normale d’Afrique centrale", "COST": "heure d’été de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "ChST": "heure des Chamorro", "WESZ": "heure d’été d’Europe de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "EDT": "heure d’été de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HECU": "heure d’été de Cuba", "MST": "heure normale de Macao", "MYT": "heure de la Malaisie", "UYT": "heure normale de l’Uruguay", "AKST": "heure normale de l’Alaska", "WAST": "heure d’été d’Afrique de l’Ouest", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "MESZ": "heure d’été d’Europe centrale", "CLT": "heure normale du Chili", "NZST": "heure normale de la Nouvelle-Zélande", "TMST": "heure d’été du Turkménistan", "WART": "heure normale de l’Ouest argentin", "HNOG": "heure normale de l’Ouest du Groenland", "LHDT": "heure d’été de Lord Howe", "AWDT": "heure d’été de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "LHST": "heure normale de Lord Howe", "WARST": "heure d’été de l’Ouest argentin", "HEPMX": "heure d’été du Pacifique mexicain", "VET": "heure du Venezuela", "CST": "heure normale du centre nord-américain", "BT": "heure du Bhoutan", "WIB": "heure de l’Ouest indonésien", "HNT": "heure normale de Terre-Neuve", "HKT": "heure normale de Hong Kong", "BOT": "heure de Bolivie", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "AKDT": "heure d’été de l’Alaska", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "SRT": "heure du Suriname", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "OESZ": "heure d’été d’Europe de l’Est", "MDT": "heure d’été de Macao", "GYT": "heure du Guyana", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLST": "heure d’été du Chili", "HNEG": "heure normale de l’Est du Groenland", "WEZ": "heure normale d’Europe de l’Ouest", "TMT": "heure normale du Turkménistan", "ACST": "heure normale du centre de l’Australie", "SGT": "heure de Singapour", "UYST": "heure d’été de l’Uruguay", "WIT": "heure de l’Est indonésien", "HEOG": "heure d’été de l’Ouest du Groenland", "PDT": "heure d’été du Pacifique", "HAT": "heure d’été de Terre-Neuve", "AWST": "heure normale de l’Ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "∅∅∅": "heure d’été du Pérou", "HNPMX": "heure normale du Pacifique mexicain", "AST": "heure normale de l’Atlantique", "GFT": "heure de la Guyane française", "ACDT": "heure d’été du centre de l’Australie", "CHADT": "heure d’été des îles Chatham", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "COT": "heure normale de Colombie", "ART": "heure normale d’Argentine", "EAT": "heure normale d’Afrique de l’Est", "WAT": "heure normale d’Afrique de l’Ouest", "ECT": "heure de l’Équateur", "IST": "heure de l’Inde", "HEEG": "heure d’été de l’Est du Groenland", "GMT": "heure moyenne de Greenwich", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "CHAST": "heure normale des îles Chatham", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ARST": "heure d’été de l’Argentine"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_MU/fr_MU.go b/fr_MU/fr_MU.go index 32e6e9ba2..09ac44aac 100644 --- a/fr_MU/fr_MU.go +++ b/fr_MU/fr_MU.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"WART": "heure normale de l’Ouest argentin", "WAT": "heure normale d’Afrique de l’Ouest", "IST": "heure de l’Inde", "∅∅∅": "heure d’été des Açores", "GYT": "heure du Guyana", "BT": "heure du Bhoutan", "GMT": "heure moyenne de Greenwich", "ACDT": "heure d’été du centre de l’Australie", "SGT": "heure de Singapour", "AKDT": "heure d’été de l’Alaska", "ADT": "heure d’été de l’Atlantique", "CST": "heure normale du centre nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLST": "heure d’été du Chili", "CHAST": "heure normale des îles Chatham", "EAT": "heure normale d’Afrique de l’Est", "SAST": "heure normale d’Afrique méridionale", "TMST": "heure d’été du Turkménistan", "WARST": "heure d’été de l’Ouest argentin", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "EST": "heure normale de l’Est nord-américain", "HAT": "heure d’été de Terre-Neuve", "LHST": "heure normale de Lord Howe", "WESZ": "heure d’été d’Europe de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "WIT": "heure de l’Est indonésien", "SRT": "heure du Suriname", "OESZ": "heure d’été d’Europe de l’Est", "UYST": "heure d’été de l’Uruguay", "MDT": "heure d’été des Rocheuses", "ECT": "heure de l’Équateur", "PDT": "heure d’été du Pacifique", "AST": "heure normale de l’Atlantique", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "WITA": "heure du Centre indonésien", "CLT": "heure normale du Chili", "LHDT": "heure d’été de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "WIB": "heure de l’Ouest indonésien", "JDT": "heure d’été du Japon", "WEZ": "heure normale d’Europe de l’Ouest", "VET": "heure du Venezuela", "ARST": "heure d’été de l’Argentine", "CHADT": "heure d’été des îles Chatham", "MEZ": "heure normale d’Europe centrale", "AWST": "heure normale de l’Ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "MESZ": "heure d’été d’Europe centrale", "EDT": "heure d’été de l’Est", "CDT": "heure d’été du Centre", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "UYT": "heure normale de l’Uruguay", "ART": "heure normale d’Argentine", "WAST": "heure d’été d’Afrique de l’Ouest", "TMT": "heure normale du Turkménistan", "HNT": "heure normale de Terre-Neuve", "JST": "heure normale du Japon", "HKST": "heure d’été de Hong Kong", "AKST": "heure normale de l’Alaska", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "MST": "heure normale des Rocheuses", "HKT": "heure normale de Hong Kong", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "MYT": "heure de la Malaisie", "CAT": "heure normale d’Afrique centrale", "GFT": "heure de la Guyane française", "COST": "heure d’été de Colombie"}, + timezones: map[string]string{"CAT": "heure normale d’Afrique centrale", "WART": "heure normale de l’Ouest argentin", "GYT": "heure du Guyana", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "CLST": "heure d’été du Chili", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "WIT": "heure de l’Est indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "JDT": "heure d’été du Japon", "OESZ": "heure d’été d’Europe de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "HEPMX": "heure d’été du Pacifique mexicain", "EST": "heure normale de l’Est nord-américain", "MYT": "heure de la Malaisie", "PST": "heure normale du Pacifique nord-américain", "HECU": "heure d’été de Cuba", "PDT": "heure d’été du Pacifique", "EAT": "heure normale d’Afrique de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AEDT": "heure d’été de l’Est de l’Australie", "TMT": "heure normale du Turkménistan", "UYST": "heure d’été de l’Uruguay", "ACWST": "heure normale du centre-ouest de l’Australie", "HEOG": "heure d’été de l’Ouest du Groenland", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "COST": "heure d’été de Colombie", "HNCU": "heure normale de Cuba", "∅∅∅": "heure d’été des Açores", "AKST": "heure normale de l’Alaska", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HNOG": "heure normale de l’Ouest du Groenland", "CHAST": "heure normale des îles Chatham", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "MST": "heure normale de Macao", "AKDT": "heure d’été de l’Alaska", "AST": "heure normale de l’Atlantique", "SAST": "heure normale d’Afrique méridionale", "BOT": "heure de Bolivie", "GMT": "heure moyenne de Greenwich", "ART": "heure normale d’Argentine", "JST": "heure normale du Japon", "HNEG": "heure normale de l’Est du Groenland", "ChST": "heure des Chamorro", "HNT": "heure normale de Terre-Neuve", "HEEG": "heure d’été de l’Est du Groenland", "BT": "heure du Bhoutan", "SRT": "heure du Suriname", "AWST": "heure normale de l’Ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "LHST": "heure normale de Lord Howe", "GFT": "heure de la Guyane française", "COT": "heure normale de Colombie", "UYT": "heure normale de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "HAT": "heure d’été de Terre-Neuve", "ARST": "heure d’été de l’Argentine", "WITA": "heure du Centre indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLT": "heure normale du Chili", "MDT": "heure d’été de Macao", "VET": "heure du Venezuela", "CHADT": "heure d’été des îles Chatham", "TMST": "heure d’été du Turkménistan", "SGT": "heure de Singapour", "CST": "heure normale du centre nord-américain", "CDT": "heure d’été du Centre", "ADT": "heure d’été de l’Atlantique", "IST": "heure de l’Inde", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HKST": "heure d’été de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale"}, } } @@ -431,7 +431,12 @@ func (fr *fr_MU) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_MU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_MU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_MU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_NC/fr_NC.go b/fr_NC/fr_NC.go index 9e118cc7b..66d4bdf4b 100644 --- a/fr_NC/fr_NC.go +++ b/fr_NC/fr_NC.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ACDT": "heure d’été du centre de l’Australie", "ARST": "heure d’été de l’Argentine", "WARST": "heure d’été de l’Ouest argentin", "MDT": "heure d’été de Macao", "CAT": "heure normale d’Afrique centrale", "OEZ": "heure normale d’Europe de l’Est", "OESZ": "heure d’été d’Europe de l’Est", "HKT": "heure normale de Hong Kong", "IST": "heure de l’Inde", "AKST": "heure normale de l’Alaska", "AKDT": "heure d’été de l’Alaska", "SRT": "heure du Suriname", "ECT": "heure de l’Équateur", "MESZ": "heure d’été d’Europe centrale", "ACST": "heure normale du centre de l’Australie", "BT": "heure du Bhoutan", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "NZDT": "heure d’été de la Nouvelle-Zélande", "HKST": "heure d’été de Hong Kong", "SGT": "heure de Singapour", "HAST": "heure normale d’Hawaii - Aléoutiennes", "BOT": "heure de Bolivie", "MST": "heure normale de Macao", "HAT": "heure d’été de Terre-Neuve", "WEZ": "heure normale d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "GMT": "heure moyenne de Greenwich", "GFT": "heure de la Guyane française", "WAST": "heure d’été d’Afrique de l’Ouest", "TMT": "heure normale du Turkménistan", "HNT": "heure normale de Terre-Neuve", "CLST": "heure d’été du Chili", "LHDT": "heure d’été de Lord Howe", "ART": "heure normale d’Argentine", "PDT": "heure d’été du Pacifique", "WIT": "heure de l’Est indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "∅∅∅": "heure d’été de Brasilia", "AST": "heure normale de l’Atlantique", "SAST": "heure normale d’Afrique méridionale", "GYT": "heure du Guyana", "LHST": "heure normale de Lord Howe", "COT": "heure normale de Colombie", "COST": "heure d’été de Colombie", "WIB": "heure de l’Ouest indonésien", "CDT": "heure d’été du Centre", "TMST": "heure d’été du Turkménistan", "CLT": "heure normale du Chili", "AWDT": "heure d’été de l’Ouest de l’Australie", "JST": "heure normale du Japon", "WESZ": "heure d’été d’Europe de l’Ouest", "WART": "heure normale de l’Ouest argentin", "CHADT": "heure d’été des îles Chatham", "VET": "heure du Venezuela", "EDT": "heure d’été de l’Est", "WITA": "heure du Centre indonésien", "JDT": "heure d’été du Japon", "WAT": "heure normale d’Afrique de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "AEDT": "heure d’été de l’Est de l’Australie", "MYT": "heure de la Malaisie", "UYST": "heure d’été de l’Uruguay", "ACWST": "heure normale du centre-ouest de l’Australie", "ADT": "heure d’été de l’Atlantique", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "CST": "heure normale du centre nord-américain", "ChST": "heure des Chamorro", "UYT": "heure normale de l’Uruguay", "CHAST": "heure normale des îles Chatham", "EST": "heure normale de l’Est nord-américain", "PST": "heure normale du Pacifique nord-américain"}, + timezones: map[string]string{"EST": "heure normale de l’Est nord-américain", "WESZ": "heure d’été d’Europe de l’Ouest", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "OEZ": "heure normale d’Europe de l’Est", "∅∅∅": "heure d’été de l’Amazonie", "NZDT": "heure d’été de la Nouvelle-Zélande", "UYST": "heure d’été de l’Uruguay", "ART": "heure normale d’Argentine", "HEOG": "heure d’été de l’Ouest du Groenland", "EAT": "heure normale d’Afrique de l’Est", "AKDT": "heure d’été de l’Alaska", "GMT": "heure moyenne de Greenwich", "EDT": "heure d’été de l’Est", "CDT": "heure d’été du Centre", "WITA": "heure du Centre indonésien", "AEDT": "heure d’été de l’Est de l’Australie", "CHADT": "heure d’été des îles Chatham", "BOT": "heure de Bolivie", "TMST": "heure d’été du Turkménistan", "ACWST": "heure normale du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "HAST": "heure normale d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "BT": "heure du Bhoutan", "CLT": "heure normale du Chili", "GYT": "heure du Guyana", "HNPMX": "heure normale du Pacifique mexicain", "WIT": "heure de l’Est indonésien", "PST": "heure normale du Pacifique nord-américain", "NZST": "heure normale de la Nouvelle-Zélande", "ACST": "heure normale du centre de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "WAST": "heure d’été d’Afrique de l’Ouest", "SGT": "heure de Singapour", "MYT": "heure de la Malaisie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AWST": "heure normale de l’Ouest de l’Australie", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "GFT": "heure de la Guyane française", "ACDT": "heure d’été du centre de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "WART": "heure normale de l’Ouest argentin", "MST": "heure normale de Macao", "UYT": "heure normale de l’Uruguay", "ARST": "heure d’été de l’Argentine", "CHAST": "heure normale des îles Chatham", "JDT": "heure d’été du Japon", "HEEG": "heure d’été de l’Est du Groenland", "ADT": "heure d’été de l’Atlantique", "WIB": "heure de l’Ouest indonésien", "AEST": "heure normale de l’Est de l’Australie", "CAT": "heure normale d’Afrique centrale", "CST": "heure normale du centre nord-américain", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "OESZ": "heure d’été d’Europe de l’Est", "HECU": "heure d’été de Cuba", "MDT": "heure d’été de Macao", "WEZ": "heure normale d’Europe de l’Ouest", "PDT": "heure d’été du Pacifique", "HNEG": "heure normale de l’Est du Groenland", "HNCU": "heure normale de Cuba", "VET": "heure du Venezuela", "LHDT": "heure d’été de Lord Howe", "MESZ": "heure d’été d’Europe centrale", "JST": "heure normale du Japon", "ECT": "heure de l’Équateur", "COST": "heure d’été de Colombie", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "AST": "heure normale de l’Atlantique", "HKT": "heure normale de Hong Kong", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "ChST": "heure des Chamorro", "COT": "heure normale de Colombie", "IST": "heure de l’Inde", "LHST": "heure normale de Lord Howe", "HEPMX": "heure d’été du Pacifique mexicain", "AKST": "heure normale de l’Alaska", "HKST": "heure d’été de Hong Kong", "WAT": "heure normale d’Afrique de l’Ouest", "HNOG": "heure normale de l’Ouest du Groenland"}, } } @@ -431,7 +431,12 @@ func (fr *fr_NC) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_NC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_NC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_NC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_NE/fr_NE.go b/fr_NE/fr_NE.go index 1c3aea36a..a6c6e33a2 100644 --- a/fr_NE/fr_NE.go +++ b/fr_NE/fr_NE.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"UYT": "heure normale de l’Uruguay", "NZDT": "heure d’été de la Nouvelle-Zélande", "SAST": "heure normale d’Afrique méridionale", "WAST": "heure d’été d’Afrique de l’Ouest", "AKST": "heure normale de l’Alaska", "GMT": "heure moyenne de Greenwich", "HKT": "heure normale de Hong Kong", "HKST": "heure d’été de Hong Kong", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "EST": "heure normale de l’Est nord-américain", "WITA": "heure du Centre indonésien", "GYT": "heure du Guyana", "MDT": "heure d’été des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "ARST": "heure d’été de l’Argentine", "LHST": "heure normale de Lord Howe", "AEST": "heure normale de l’Est de l’Australie", "AST": "heure normale de l’Atlantique", "AWST": "heure normale de l’Ouest de l’Australie", "ACWST": "heure normale du centre-ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "∅∅∅": "heure d’été de l’Amazonie", "MEZ": "heure normale d’Europe centrale", "EDT": "heure d’été de l’Est", "IST": "heure de l’Inde", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "WAT": "heure normale d’Afrique de l’Ouest", "VET": "heure du Venezuela", "HAST": "heure normale d’Hawaii - Aléoutiennes", "UYST": "heure d’été de l’Uruguay", "SRT": "heure du Suriname", "MESZ": "heure d’été d’Europe centrale", "TMT": "heure normale du Turkménistan", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "OESZ": "heure d’été d’Europe de l’Est", "MST": "heure normale des Rocheuses", "HNT": "heure normale de Terre-Neuve", "LHDT": "heure d’été de Lord Howe", "WIB": "heure de l’Ouest indonésien", "ACWDT": "heure d’été du centre-ouest de l’Australie", "TMST": "heure d’été du Turkménistan", "BT": "heure du Bhoutan", "CHAST": "heure normale des îles Chatham", "SGT": "heure de Singapour", "COT": "heure normale de Colombie", "BOT": "heure de Bolivie", "ChST": "heure des Chamorro", "CLT": "heure normale du Chili", "ACST": "heure normale du centre de l’Australie", "PDT": "heure d’été du Pacifique", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "CST": "heure normale du centre nord-américain", "HAT": "heure d’été de Terre-Neuve", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "ART": "heure normale d’Argentine", "WARST": "heure d’été de l’Ouest argentin", "WART": "heure normale de l’Ouest argentin", "AKDT": "heure d’été de l’Alaska", "CDT": "heure d’été du Centre", "GFT": "heure de la Guyane française", "OEZ": "heure normale d’Europe de l’Est", "CHADT": "heure d’été des îles Chatham", "ECT": "heure de l’Équateur", "AEDT": "heure d’été de l’Est de l’Australie"}, + timezones: map[string]string{"WARST": "heure d’été de l’Ouest argentin", "HECU": "heure d’été de Cuba", "MST": "heure normale de Macao", "UYT": "heure normale de l’Uruguay", "HKST": "heure d’été de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "AWST": "heure normale de l’Ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "WART": "heure normale de l’Ouest argentin", "ECT": "heure de l’Équateur", "AST": "heure normale de l’Atlantique", "GYT": "heure du Guyana", "HAT": "heure d’été de Terre-Neuve", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "CLT": "heure normale du Chili", "HEEG": "heure d’été de l’Est du Groenland", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "COST": "heure d’été de Colombie", "CST": "heure normale du centre nord-américain", "JST": "heure normale du Japon", "CLST": "heure d’été du Chili", "∅∅∅": "heure d’été des Açores", "WIT": "heure de l’Est indonésien", "ART": "heure normale d’Argentine", "AEST": "heure normale de l’Est de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "HNEG": "heure normale de l’Est du Groenland", "TMT": "heure normale du Turkménistan", "EST": "heure normale de l’Est nord-américain", "WIB": "heure de l’Ouest indonésien", "HAST": "heure normale d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "PDT": "heure d’été du Pacifique", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "LHST": "heure normale de Lord Howe", "WAT": "heure normale d’Afrique de l’Ouest", "HEPMX": "heure d’été du Pacifique mexicain", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "ARST": "heure d’été de l’Argentine", "HKT": "heure normale de Hong Kong", "COT": "heure normale de Colombie", "GFT": "heure de la Guyane française", "OEZ": "heure normale d’Europe de l’Est", "UYST": "heure d’été de l’Uruguay", "AWDT": "heure d’été de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "JDT": "heure d’été du Japon", "MDT": "heure d’été de Macao", "VET": "heure du Venezuela", "HEOG": "heure d’été de l’Ouest du Groenland", "WEZ": "heure normale d’Europe de l’Ouest", "CAT": "heure normale d’Afrique centrale", "AKST": "heure normale de l’Alaska", "ADT": "heure d’été de l’Atlantique", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "SGT": "heure de Singapour", "BT": "heure du Bhoutan", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WESZ": "heure d’été d’Europe de l’Ouest", "NZDT": "heure d’été de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "WAST": "heure d’été d’Afrique de l’Ouest", "GMT": "heure moyenne de Greenwich", "CDT": "heure d’été du Centre", "ACWST": "heure normale du centre-ouest de l’Australie", "WITA": "heure du Centre indonésien", "AEDT": "heure d’été de l’Est de l’Australie", "HNCU": "heure normale de Cuba", "AKDT": "heure d’été de l’Alaska", "HNOG": "heure normale de l’Ouest du Groenland", "IST": "heure de l’Inde", "OESZ": "heure d’été d’Europe de l’Est", "HNT": "heure normale de Terre-Neuve", "PST": "heure normale du Pacifique nord-américain", "LHDT": "heure d’été de Lord Howe", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "HNPMX": "heure normale du Pacifique mexicain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CHADT": "heure d’été des îles Chatham", "SAST": "heure normale d’Afrique méridionale", "TMST": "heure d’été du Turkménistan"}, } } @@ -431,7 +431,12 @@ func (fr *fr_NE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_NE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_NE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_NE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_PF/fr_PF.go b/fr_PF/fr_PF.go index a82c39741..c440d81ce 100644 --- a/fr_PF/fr_PF.go +++ b/fr_PF/fr_PF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"CLST": "heure d’été du Chili", "MEZ": "heure normale d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WART": "heure normale de l’Ouest argentin", "EDT": "heure d’été de l’Est", "AKDT": "heure d’été de l’Alaska", "TMST": "heure d’été du Turkménistan", "LHST": "heure normale de Lord Howe", "EST": "heure normale de l’Est nord-américain", "ADT": "heure d’été de l’Atlantique", "WAST": "heure d’été d’Afrique de l’Ouest", "BOT": "heure de Bolivie", "JDT": "heure d’été du Japon", "CHADT": "heure d’été des îles Chatham", "ACST": "heure normale du centre de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "MST": "heure normale des Rocheuses", "PST": "heure normale du Pacifique nord-américain", "CLT": "heure normale du Chili", "SRT": "heure du Suriname", "OESZ": "heure d’été d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "ARST": "heure d’été de l’Argentine", "∅∅∅": "heure d’été de l’Acre", "OEZ": "heure normale d’Europe de l’Est", "ACWDT": "heure d’été du centre-ouest de l’Australie", "MDT": "heure d’été des Rocheuses", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "GYT": "heure du Guyana", "NZST": "heure normale de la Nouvelle-Zélande", "BT": "heure du Bhoutan", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "WIT": "heure de l’Est indonésien", "CHAST": "heure normale des îles Chatham", "MESZ": "heure d’été d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "PDT": "heure d’été du Pacifique", "NZDT": "heure d’été de la Nouvelle-Zélande", "CST": "heure normale du centre nord-américain", "HKST": "heure d’été de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "AKST": "heure normale de l’Alaska", "TMT": "heure normale du Turkménistan", "GFT": "heure de la Guyane française", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "IST": "heure de l’Inde", "HAT": "heure d’été de Terre-Neuve", "GMT": "heure moyenne de Greenwich", "UYST": "heure d’été de l’Uruguay", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "CDT": "heure d’été du Centre", "CAT": "heure normale d’Afrique centrale", "LHDT": "heure d’été de Lord Howe", "WEZ": "heure normale d’Europe de l’Ouest", "ChST": "heure des Chamorro", "HNT": "heure normale de Terre-Neuve", "JST": "heure normale du Japon", "AEDT": "heure d’été de l’Est de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "WITA": "heure du Centre indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "HKT": "heure normale de Hong Kong", "SGT": "heure de Singapour", "ACWST": "heure normale du centre-ouest de l’Australie", "AST": "heure normale de l’Atlantique", "MYT": "heure de la Malaisie"}, + timezones: map[string]string{"HENOMX": "heure d’été du Nord-Ouest du Mexique", "AST": "heure normale de l’Atlantique", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "CLST": "heure d’été du Chili", "ACST": "heure normale du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "GYT": "heure du Guyana", "MYT": "heure de la Malaisie", "UYT": "heure normale de l’Uruguay", "IST": "heure de l’Inde", "CLT": "heure normale du Chili", "COST": "heure d’été de Colombie", "EDT": "heure d’été de l’Est", "CDT": "heure d’été du Centre", "WEZ": "heure normale d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "OESZ": "heure d’été d’Europe de l’Est", "MST": "heure normale de Macao", "SGT": "heure de Singapour", "MDT": "heure d’été de Macao", "HNPMX": "heure normale du Pacifique mexicain", "AWST": "heure normale de l’Ouest de l’Australie", "TMT": "heure normale du Turkménistan", "ChST": "heure des Chamorro", "HEOG": "heure d’été de l’Ouest du Groenland", "LHDT": "heure d’été de Lord Howe", "CHAST": "heure normale des îles Chatham", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "HNT": "heure normale de Terre-Neuve", "HNOG": "heure normale de l’Ouest du Groenland", "HNEG": "heure normale de l’Est du Groenland", "BT": "heure du Bhoutan", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WESZ": "heure d’été d’Europe de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "LHST": "heure normale de Lord Howe", "AKST": "heure normale de l’Alaska", "WIB": "heure de l’Ouest indonésien", "ART": "heure normale d’Argentine", "AEST": "heure normale de l’Est de l’Australie", "HNCU": "heure normale de Cuba", "WIT": "heure de l’Est indonésien", "ECT": "heure de l’Équateur", "CAT": "heure normale d’Afrique centrale", "CST": "heure normale du centre nord-américain", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "JST": "heure normale du Japon", "ACDT": "heure d’été du centre de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "UYST": "heure d’été de l’Uruguay", "JDT": "heure d’été du Japon", "NZDT": "heure d’été de la Nouvelle-Zélande", "WITA": "heure du Centre indonésien", "MEZ": "heure normale d’Europe centrale", "SAST": "heure normale d’Afrique méridionale", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "WARST": "heure d’été de l’Ouest argentin", "ARST": "heure d’été de l’Argentine", "BOT": "heure de Bolivie", "HEEG": "heure d’été de l’Est du Groenland", "ADT": "heure d’été de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "∅∅∅": "heure d’été de l’Amazonie", "WAST": "heure d’été d’Afrique de l’Ouest", "COT": "heure normale de Colombie", "WART": "heure normale de l’Ouest argentin", "HECU": "heure d’été de Cuba", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie", "CHADT": "heure d’été des îles Chatham", "TMST": "heure d’été du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest"}, } } @@ -431,7 +431,12 @@ func (fr *fr_PF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_PF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_PF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_PF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_PM/fr_PM.go b/fr_PM/fr_PM.go index eeebd96d1..e218b1277 100644 --- a/fr_PM/fr_PM.go +++ b/fr_PM/fr_PM.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"HAT": "heure d’été de Terre-Neuve", "JST": "heure normale du Japon", "∅∅∅": "heure d’été de Brasilia", "SRT": "heure du Suriname", "WARST": "heure d’été de l’Ouest argentin", "ART": "heure normale d’Argentine", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "IST": "heure de l’Inde", "PDT": "heure d’été du Pacifique", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "WIT": "heure de l’Est indonésien", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "WART": "heure normale de l’Ouest argentin", "AWDT": "heure d’été de l’Ouest de l’Australie", "WEZ": "heure normale d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "AEDT": "heure d’été de l’Est de l’Australie", "CLST": "heure d’été du Chili", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "ACDT": "heure d’été du centre de l’Australie", "AKDT": "heure d’été de l’Alaska", "MYT": "heure de la Malaisie", "HNT": "heure normale de Terre-Neuve", "ACST": "heure normale du centre de l’Australie", "SGT": "heure de Singapour", "ACWST": "heure normale du centre-ouest de l’Australie", "GYT": "heure du Guyana", "BT": "heure du Bhoutan", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "MDT": "heure d’été de Macao", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "GFT": "heure de la Guyane française", "VET": "heure du Venezuela", "EST": "heure normale de l’Est nord-américain", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "COST": "heure d’été de Colombie", "WITA": "heure du Centre indonésien", "CDT": "heure d’été du Centre", "AWST": "heure normale de l’Ouest de l’Australie", "JDT": "heure d’été du Japon", "LHST": "heure normale de Lord Howe", "ECT": "heure de l’Équateur", "MST": "heure normale de Macao", "AKST": "heure normale de l’Alaska", "SAST": "heure normale d’Afrique méridionale", "WAST": "heure d’été d’Afrique de l’Ouest", "GMT": "heure moyenne de Greenwich", "CHAST": "heure normale des îles Chatham", "HKST": "heure d’été de Hong Kong", "MESZ": "heure d’été d’Europe centrale", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "BOT": "heure de Bolivie", "UYT": "heure normale de l’Uruguay", "ARST": "heure d’été de l’Argentine", "NZDT": "heure d’été de la Nouvelle-Zélande", "HKT": "heure normale de Hong Kong", "WIB": "heure de l’Ouest indonésien", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AST": "heure normale de l’Atlantique", "WAT": "heure normale d’Afrique de l’Ouest"}, + timezones: map[string]string{"NZST": "heure normale de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "CAT": "heure normale d’Afrique centrale", "WAT": "heure normale d’Afrique de l’Ouest", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale de Macao", "WIB": "heure de l’Ouest indonésien", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "SRT": "heure du Suriname", "∅∅∅": "heure d’été de l’Amazonie", "TMT": "heure normale du Turkménistan", "OEZ": "heure normale d’Europe de l’Est", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "HKST": "heure d’été de Hong Kong", "MEZ": "heure normale d’Europe centrale", "BOT": "heure de Bolivie", "HNEG": "heure normale de l’Est du Groenland", "ACDT": "heure d’été du centre de l’Australie", "IST": "heure de l’Inde", "ChST": "heure des Chamorro", "OESZ": "heure d’été d’Europe de l’Est", "MDT": "heure d’été de Macao", "AWST": "heure normale de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "WAST": "heure d’été d’Afrique de l’Ouest", "COST": "heure d’été de Colombie", "CDT": "heure d’été du Centre", "CHAST": "heure normale des îles Chatham", "MYT": "heure de la Malaisie", "LHDT": "heure d’été de Lord Howe", "CLT": "heure normale du Chili", "WART": "heure normale de l’Ouest argentin", "WEZ": "heure normale d’Europe de l’Ouest", "HNT": "heure normale de Terre-Neuve", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "EDT": "heure d’été de l’Est", "HEPMX": "heure d’été du Pacifique mexicain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HKT": "heure normale de Hong Kong", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "SGT": "heure de Singapour", "HECU": "heure d’été de Cuba", "AKDT": "heure d’été de l’Alaska", "WESZ": "heure d’été d’Europe de l’Ouest", "HNOG": "heure normale de l’Ouest du Groenland", "JDT": "heure d’été du Japon", "WARST": "heure d’été de l’Ouest argentin", "AST": "heure normale de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "SAST": "heure normale d’Afrique méridionale", "ECT": "heure de l’Équateur", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "BT": "heure du Bhoutan", "ART": "heure normale d’Argentine", "LHST": "heure normale de Lord Howe", "CHADT": "heure d’été des îles Chatham", "JST": "heure normale du Japon", "EAT": "heure normale d’Afrique de l’Est", "ACWST": "heure normale du centre-ouest de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HEOG": "heure d’été de l’Ouest du Groenland", "AEDT": "heure d’été de l’Est de l’Australie", "COT": "heure normale de Colombie", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "GYT": "heure du Guyana", "WIT": "heure de l’Est indonésien", "ARST": "heure d’été de l’Argentine", "WITA": "heure du Centre indonésien", "HEEG": "heure d’été de l’Est du Groenland", "TMST": "heure d’été du Turkménistan", "ACST": "heure normale du centre de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AKST": "heure normale de l’Alaska", "ADT": "heure d’été de l’Atlantique", "AEST": "heure normale de l’Est de l’Australie", "GMT": "heure moyenne de Greenwich", "HNPMX": "heure normale du Pacifique mexicain", "CST": "heure normale du centre nord-américain", "VET": "heure du Venezuela", "HAT": "heure d’été de Terre-Neuve"}, } } @@ -431,7 +431,12 @@ func (fr *fr_PM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_PM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_PM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_PM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_RE/fr_RE.go b/fr_RE/fr_RE.go index a6d973582..d399f0ffe 100644 --- a/fr_RE/fr_RE.go +++ b/fr_RE/fr_RE.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -69,13 +69,13 @@ func New() locales.Translator { daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"ARST": "heure d’été de l’Argentine", "NZST": "heure normale de la Nouvelle-Zélande", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "LHST": "heure normale de Lord Howe", "SRT": "heure du Suriname", "WITA": "heure du Centre indonésien", "CLT": "heure normale du Chili", "COT": "heure normale de Colombie", "AEST": "heure normale de l’Est de l’Australie", "ART": "heure normale d’Argentine", "HNT": "heure normale de Terre-Neuve", "COST": "heure d’été de Colombie", "MEZ": "heure normale d’Europe centrale", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ADT": "heure d’été de l’Atlantique", "TMST": "heure d’été du Turkménistan", "MYT": "heure de la Malaisie", "GMT": "heure moyenne de Greenwich", "IST": "heure de l’Inde", "BT": "heure du Bhoutan", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "MESZ": "heure d’été d’Europe centrale", "WARST": "heure d’été de l’Ouest argentin", "EDT": "heure d’été de l’Est", "PDT": "heure d’été du Pacifique", "WESZ": "heure d’été d’Europe de l’Ouest", "CHADT": "heure d’été des îles Chatham", "WART": "heure normale de l’Ouest argentin", "WAT": "heure normale d’Afrique de l’Ouest", "WAST": "heure d’été d’Afrique de l’Ouest", "AKST": "heure normale de l’Alaska", "MDT": "heure d’été des Rocheuses", "CDT": "heure d’été du Centre", "NZDT": "heure d’été de la Nouvelle-Zélande", "SAST": "heure normale d’Afrique méridionale", "AWDT": "heure d’été de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "OESZ": "heure d’été d’Europe de l’Est", "ECT": "heure de l’Équateur", "ACWST": "heure normale du centre-ouest de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "GYT": "heure du Guyana", "WEZ": "heure normale d’Europe de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "ACDT": "heure d’été du centre de l’Australie", "LHDT": "heure d’été de Lord Howe", "ChST": "heure des Chamorro", "EAT": "heure normale d’Afrique de l’Est", "TMT": "heure normale du Turkménistan", "MST": "heure normale des Rocheuses", "UYST": "heure d’été de l’Uruguay", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AST": "heure normale de l’Atlantique", "CST": "heure normale du centre nord-américain", "WIB": "heure de l’Ouest indonésien", "AEDT": "heure d’été de l’Est de l’Australie", "EST": "heure normale de l’Est nord-américain", "HKT": "heure normale de Hong Kong", "∅∅∅": "heure d’été des Açores", "PST": "heure normale du Pacifique nord-américain", "HAT": "heure d’été de Terre-Neuve", "UYT": "heure normale de l’Uruguay", "HKST": "heure d’été de Hong Kong", "SGT": "heure de Singapour", "VET": "heure du Venezuela", "AKDT": "heure d’été de l’Alaska", "CLST": "heure d’été du Chili", "WIT": "heure de l’Est indonésien", "JST": "heure normale du Japon", "JDT": "heure d’été du Japon", "AWST": "heure normale de l’Ouest de l’Australie"}, + timezones: map[string]string{"BOT": "heure de Bolivie", "EAT": "heure normale d’Afrique de l’Est", "UYT": "heure normale de l’Uruguay", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "WAST": "heure d’été d’Afrique de l’Ouest", "AST": "heure normale de l’Atlantique", "BT": "heure du Bhoutan", "WEZ": "heure normale d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "∅∅∅": "heure d’été des Açores", "GYT": "heure du Guyana", "UYST": "heure d’été de l’Uruguay", "HNEG": "heure normale de l’Est du Groenland", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "HAT": "heure d’été de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "ChST": "heure des Chamorro", "VET": "heure du Venezuela", "HEOG": "heure d’été de l’Ouest du Groenland", "AEDT": "heure d’été de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "CLST": "heure d’été du Chili", "GMT": "heure moyenne de Greenwich", "WIB": "heure de l’Ouest indonésien", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AEST": "heure normale de l’Est de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "HKST": "heure d’été de Hong Kong", "OESZ": "heure d’été d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "MYT": "heure de la Malaisie", "SRT": "heure du Suriname", "HKT": "heure normale de Hong Kong", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "JDT": "heure d’été du Japon", "HECU": "heure d’été de Cuba", "HNOG": "heure normale de l’Ouest du Groenland", "WESZ": "heure d’été d’Europe de l’Ouest", "ARST": "heure d’été de l’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "LHST": "heure normale de Lord Howe", "NZDT": "heure d’été de la Nouvelle-Zélande", "IST": "heure de l’Inde", "HNCU": "heure normale de Cuba", "CDT": "heure d’été du Centre", "PDT": "heure d’été du Pacifique", "TMT": "heure normale du Turkménistan", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "CHADT": "heure d’été des îles Chatham", "MESZ": "heure d’été d’Europe centrale", "NZST": "heure normale de la Nouvelle-Zélande", "GFT": "heure de la Guyane française", "TMST": "heure d’été du Turkménistan", "CAT": "heure normale d’Afrique centrale", "HNPMX": "heure normale du Pacifique mexicain", "WIT": "heure de l’Est indonésien", "HNT": "heure normale de Terre-Neuve", "AKDT": "heure d’été de l’Alaska", "ART": "heure normale d’Argentine", "ACST": "heure normale du centre de l’Australie", "EDT": "heure d’été de l’Est", "MDT": "heure d’été de Macao", "HEPMX": "heure d’été du Pacifique mexicain", "HEEG": "heure d’été de l’Est du Groenland", "WAT": "heure normale d’Afrique de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "SAST": "heure normale d’Afrique méridionale", "SGT": "heure de Singapour", "ADT": "heure d’été de l’Atlantique", "AWDT": "heure d’été de l’Ouest de l’Australie", "PST": "heure normale du Pacifique nord-américain", "COT": "heure normale de Colombie", "MST": "heure normale de Macao", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "EST": "heure normale de l’Est nord-américain", "LHDT": "heure d’été de Lord Howe", "JST": "heure normale du Japon"}, } } @@ -431,7 +431,12 @@ func (fr *fr_RE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_RE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_RE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_RE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_RW/fr_RW.go b/fr_RW/fr_RW.go index 1edd6dfd6..69048d68b 100644 --- a/fr_RW/fr_RW.go +++ b/fr_RW/fr_RW.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"WIT": "heure de l’Est indonésien", "JDT": "heure d’été du Japon", "AST": "heure normale de l’Atlantique", "NZDT": "heure d’été de la Nouvelle-Zélande", "ACST": "heure normale du centre de l’Australie", "WART": "heure normale de l’Ouest argentin", "BOT": "heure de Bolivie", "WAST": "heure d’été d’Afrique de l’Ouest", "WITA": "heure du Centre indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ART": "heure normale d’Argentine", "CAT": "heure normale d’Afrique centrale", "AWDT": "heure d’été de l’Ouest de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "MEZ": "heure normale d’Europe centrale", "CDT": "heure d’été du Centre", "NZST": "heure normale de la Nouvelle-Zélande", "SRT": "heure du Suriname", "MESZ": "heure d’été d’Europe centrale", "SGT": "heure de Singapour", "ACWDT": "heure d’été du centre-ouest de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "PDT": "heure d’été du Pacifique", "CST": "heure normale du centre nord-américain", "CLST": "heure d’été du Chili", "COST": "heure d’été de Colombie", "EAT": "heure normale d’Afrique de l’Est", "GMT": "heure moyenne de Greenwich", "WEZ": "heure normale d’Europe de l’Ouest", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "AKDT": "heure d’été de l’Alaska", "ADT": "heure d’été de l’Atlantique", "GYT": "heure du Guyana", "CLT": "heure normale du Chili", "HKST": "heure d’été de Hong Kong", "VET": "heure du Venezuela", "EDT": "heure d’été de l’Est", "∅∅∅": "heure d’été des Açores", "UYST": "heure d’été de l’Uruguay", "JST": "heure normale du Japon", "OESZ": "heure d’été d’Europe de l’Est", "CHAST": "heure normale des îles Chatham", "ACDT": "heure d’été du centre de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "EST": "heure normale de l’Est nord-américain", "HAT": "heure d’été de Terre-Neuve", "LHDT": "heure d’été de Lord Howe", "UYT": "heure normale de l’Uruguay", "ACWST": "heure normale du centre-ouest de l’Australie", "IST": "heure de l’Inde", "MST": "heure normale des Rocheuses", "ChST": "heure des Chamorro", "HNT": "heure normale de Terre-Neuve", "HKT": "heure normale de Hong Kong", "WIB": "heure de l’Ouest indonésien", "PST": "heure normale du Pacifique nord-américain", "MDT": "heure d’été des Rocheuses", "BT": "heure du Bhoutan", "LHST": "heure normale de Lord Howe", "GFT": "heure de la Guyane française", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ARST": "heure d’été de l’Argentine", "MYT": "heure de la Malaisie", "WESZ": "heure d’été d’Europe de l’Ouest", "CHADT": "heure d’été des îles Chatham", "AEDT": "heure d’été de l’Est de l’Australie", "AKST": "heure normale de l’Alaska", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "WARST": "heure d’été de l’Ouest argentin"}, + timezones: map[string]string{"WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "LHDT": "heure d’été de Lord Howe", "MST": "heure normale de Macao", "HNT": "heure normale de Terre-Neuve", "EDT": "heure d’été de l’Est", "GYT": "heure du Guyana", "AEDT": "heure d’été de l’Est de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "JST": "heure normale du Japon", "OESZ": "heure d’été d’Europe de l’Est", "CHADT": "heure d’été des îles Chatham", "WARST": "heure d’été de l’Ouest argentin", "COST": "heure d’été de Colombie", "VET": "heure du Venezuela", "ACST": "heure normale du centre de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "MDT": "heure d’été de Macao", "CST": "heure normale du centre nord-américain", "UYT": "heure normale de l’Uruguay", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "HKT": "heure normale de Hong Kong", "∅∅∅": "heure d’été de l’Amazonie", "HEPMX": "heure d’été du Pacifique mexicain", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HNPMX": "heure normale du Pacifique mexicain", "WIT": "heure de l’Est indonésien", "HEEG": "heure d’été de l’Est du Groenland", "ECT": "heure de l’Équateur", "HEOG": "heure d’été de l’Ouest du Groenland", "MEZ": "heure normale d’Europe centrale", "ACWST": "heure normale du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "GMT": "heure moyenne de Greenwich", "CAT": "heure normale d’Afrique centrale", "WART": "heure normale de l’Ouest argentin", "ChST": "heure des Chamorro", "HECU": "heure d’été de Cuba", "BT": "heure du Bhoutan", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "IST": "heure de l’Inde", "CLT": "heure normale du Chili", "WITA": "heure du Centre indonésien", "TMST": "heure d’été du Turkménistan", "EAT": "heure normale d’Afrique de l’Est", "PDT": "heure d’été du Pacifique", "OEZ": "heure normale d’Europe de l’Est", "SRT": "heure du Suriname", "WIB": "heure de l’Ouest indonésien", "AEST": "heure normale de l’Est de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MESZ": "heure d’été d’Europe centrale", "SAST": "heure normale d’Afrique méridionale", "WAST": "heure d’été d’Afrique de l’Ouest", "SGT": "heure de Singapour", "HNCU": "heure normale de Cuba", "CDT": "heure d’été du Centre", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "JDT": "heure d’été du Japon", "HNEG": "heure normale de l’Est du Groenland", "AKST": "heure normale de l’Alaska", "AKDT": "heure d’été de l’Alaska", "AST": "heure normale de l’Atlantique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ART": "heure normale d’Argentine", "HKST": "heure d’été de Hong Kong", "CLST": "heure d’été du Chili", "EST": "heure normale de l’Est nord-américain", "CHAST": "heure normale des îles Chatham", "ACDT": "heure d’été du centre de l’Australie", "COT": "heure normale de Colombie", "BOT": "heure de Bolivie", "WAT": "heure normale d’Afrique de l’Ouest", "ADT": "heure d’été de l’Atlantique", "MYT": "heure de la Malaisie", "UYST": "heure d’été de l’Uruguay", "ARST": "heure d’été de l’Argentine", "GFT": "heure de la Guyane française", "TMT": "heure normale du Turkménistan", "HNOG": "heure normale de l’Ouest du Groenland", "LHST": "heure normale de Lord Howe"}, } } @@ -431,7 +431,12 @@ func (fr *fr_RW) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_RW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_RW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_RW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_SC/fr_SC.go b/fr_SC/fr_SC.go index 94d0ec8ea..0b9d90b12 100644 --- a/fr_SC/fr_SC.go +++ b/fr_SC/fr_SC.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"HNT": "heure normale de Terre-Neuve", "CHAST": "heure normale des îles Chatham", "WEZ": "heure normale d’Europe de l’Ouest", "ACDT": "heure d’été du centre de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "ACWST": "heure normale du centre-ouest de l’Australie", "PST": "heure normale du Pacifique nord-américain", "HKT": "heure normale de Hong Kong", "SRT": "heure du Suriname", "AKST": "heure normale de l’Alaska", "AWDT": "heure d’été de l’Ouest de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLST": "heure d’été du Chili", "GMT": "heure moyenne de Greenwich", "OESZ": "heure d’été d’Europe de l’Est", "AEDT": "heure d’été de l’Est de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CDT": "heure d’été du Centre", "SGT": "heure de Singapour", "MESZ": "heure d’été d’Europe centrale", "HAT": "heure d’été de Terre-Neuve", "JDT": "heure d’été du Japon", "PDT": "heure d’été du Pacifique", "WITA": "heure du Centre indonésien", "UYT": "heure normale de l’Uruguay", "HKST": "heure d’été de Hong Kong", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WAST": "heure d’été d’Afrique de l’Ouest", "BT": "heure du Bhoutan", "WART": "heure normale de l’Ouest argentin", "EAT": "heure normale d’Afrique de l’Est", "MST": "heure normale des Rocheuses", "CST": "heure normale du centre nord-américain", "WARST": "heure d’été de l’Ouest argentin", "LHST": "heure normale de Lord Howe", "AST": "heure normale de l’Atlantique", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "COT": "heure normale de Colombie", "ECT": "heure de l’Équateur", "WAT": "heure normale d’Afrique de l’Ouest", "EST": "heure normale de l’Est nord-américain", "UYST": "heure d’été de l’Uruguay", "EDT": "heure d’été de l’Est", "MYT": "heure de la Malaisie", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "∅∅∅": "heure d’été de l’Acre", "GFT": "heure de la Guyane française", "COST": "heure d’été de Colombie", "AEST": "heure normale de l’Est de l’Australie", "IST": "heure de l’Inde", "NZST": "heure normale de la Nouvelle-Zélande", "JST": "heure normale du Japon", "WIT": "heure de l’Est indonésien", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "ARST": "heure d’été de l’Argentine", "GYT": "heure du Guyana", "ADT": "heure d’été de l’Atlantique", "MDT": "heure d’été des Rocheuses", "VET": "heure du Venezuela", "ACST": "heure normale du centre de l’Australie", "AKDT": "heure d’été de l’Alaska", "CLT": "heure normale du Chili"}, + timezones: map[string]string{"NZDT": "heure d’été de la Nouvelle-Zélande", "WIB": "heure de l’Ouest indonésien", "SGT": "heure de Singapour", "MDT": "heure d’été de Macao", "CST": "heure normale du centre nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HAT": "heure d’été de Terre-Neuve", "HEOG": "heure d’été de l’Ouest du Groenland", "HNEG": "heure normale de l’Est du Groenland", "HECU": "heure d’été de Cuba", "ChST": "heure des Chamorro", "EAT": "heure normale d’Afrique de l’Est", "EST": "heure normale de l’Est nord-américain", "BT": "heure du Bhoutan", "ACWST": "heure normale du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "JST": "heure normale du Japon", "TMST": "heure d’été du Turkménistan", "HNCU": "heure normale de Cuba", "CDT": "heure d’été du Centre", "ARST": "heure d’été de l’Argentine", "HKST": "heure d’été de Hong Kong", "AEDT": "heure d’été de l’Est de l’Australie", "LHST": "heure normale de Lord Howe", "JDT": "heure d’été du Japon", "ECT": "heure de l’Équateur", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "PDT": "heure d’été du Pacifique", "GFT": "heure de la Guyane française", "WAST": "heure d’été d’Afrique de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "ACST": "heure normale du centre de l’Australie", "ACDT": "heure d’été du centre de l’Australie", "GYT": "heure du Guyana", "SRT": "heure du Suriname", "HNOG": "heure normale de l’Ouest du Groenland", "CHAST": "heure normale des îles Chatham", "MEZ": "heure normale d’Europe centrale", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "BOT": "heure de Bolivie", "MST": "heure normale de Macao", "AKDT": "heure d’été de l’Alaska", "ART": "heure normale d’Argentine", "LHDT": "heure d’été de Lord Howe", "TMT": "heure normale du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "WART": "heure normale de l’Ouest argentin", "HNPMX": "heure normale du Pacifique mexicain", "HEPMX": "heure d’été du Pacifique mexicain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "VET": "heure du Venezuela", "∅∅∅": "heure d’été de l’Amazonie", "HEEG": "heure d’été de l’Est du Groenland", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "CAT": "heure normale d’Afrique centrale", "IST": "heure de l’Inde", "OEZ": "heure normale d’Europe de l’Est", "ADT": "heure d’été de l’Atlantique", "WITA": "heure du Centre indonésien", "WARST": "heure d’été de l’Ouest argentin", "GMT": "heure moyenne de Greenwich", "AKST": "heure normale de l’Alaska", "HKT": "heure normale de Hong Kong", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "COST": "heure d’été de Colombie", "AWDT": "heure d’été de l’Ouest de l’Australie", "UYT": "heure normale de l’Uruguay", "AWST": "heure normale de l’Ouest de l’Australie", "WIT": "heure de l’Est indonésien", "NZST": "heure normale de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "COT": "heure normale de Colombie", "UYST": "heure d’été de l’Uruguay", "PST": "heure normale du Pacifique nord-américain", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "WAT": "heure normale d’Afrique de l’Ouest", "MYT": "heure de la Malaisie", "SAST": "heure normale d’Afrique méridionale", "CLST": "heure d’été du Chili"}, } } @@ -431,7 +431,12 @@ func (fr *fr_SC) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_SC) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_SC) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_SC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_SN/fr_SN.go b/fr_SN/fr_SN.go index 749864963..1b9cdf21c 100644 --- a/fr_SN/fr_SN.go +++ b/fr_SN/fr_SN.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -69,13 +69,13 @@ func New() locales.Translator { daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, daysShort: []string{"di", "lu", "ma", "me", "je", "ve", "sa"}, daysWide: []string{"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"OEZ": "heure normale d’Europe de l’Est", "MEZ": "heure normale d’Europe centrale", "ART": "heure normale d’Argentine", "EST": "heure normale de l’Est nord-américain", "PST": "heure normale du Pacifique nord-américain", "AWDT": "heure d’été de l’Ouest de l’Australie", "∅∅∅": "heure d’été de Brasilia", "MESZ": "heure d’été d’Europe centrale", "WART": "heure normale de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "PDT": "heure d’été du Pacifique", "UYT": "heure normale de l’Uruguay", "SRT": "heure du Suriname", "COST": "heure d’été de Colombie", "ACWST": "heure normale du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "JDT": "heure d’été du Japon", "LHST": "heure normale de Lord Howe", "CHADT": "heure d’été des îles Chatham", "HKST": "heure d’été de Hong Kong", "COT": "heure normale de Colombie", "ACDT": "heure d’été du centre de l’Australie", "TMT": "heure normale du Turkménistan", "AWST": "heure normale de l’Ouest de l’Australie", "BOT": "heure de Bolivie", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "VET": "heure du Venezuela", "SGT": "heure de Singapour", "ARST": "heure d’été de l’Argentine", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CHAST": "heure normale des îles Chatham", "MYT": "heure de la Malaisie", "GYT": "heure du Guyana", "ADT": "heure d’été de l’Atlantique", "NZDT": "heure d’été de la Nouvelle-Zélande", "WAT": "heure normale d’Afrique de l’Ouest", "CST": "heure normale du centre nord-américain", "NZST": "heure normale de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "JST": "heure normale du Japon", "WARST": "heure d’été de l’Ouest argentin", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "AST": "heure normale de l’Atlantique", "TMST": "heure d’été du Turkménistan", "CLST": "heure d’été du Chili", "LHDT": "heure d’été de Lord Howe", "ECT": "heure de l’Équateur", "ACST": "heure normale du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AKDT": "heure d’été de l’Alaska", "WIT": "heure de l’Est indonésien", "BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "HAST": "heure normale d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "CDT": "heure d’été du Centre", "CLT": "heure normale du Chili", "EAT": "heure normale d’Afrique de l’Est", "SAST": "heure normale d’Afrique méridionale", "MST": "heure normale des Rocheuses", "GMT": "heure moyenne de Greenwich", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "IST": "heure de l’Inde", "EDT": "heure d’été de l’Est", "CAT": "heure normale d’Afrique centrale", "GFT": "heure de la Guyane française", "WEZ": "heure normale d’Europe de l’Ouest", "MDT": "heure d’été des Rocheuses"}, + timezones: map[string]string{"ECT": "heure de l’Équateur", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "WESZ": "heure d’été d’Europe de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "∅∅∅": "heure d’été de l’Amazonie", "GFT": "heure de la Guyane française", "WAT": "heure normale d’Afrique de l’Ouest", "WIT": "heure de l’Est indonésien", "ARST": "heure d’été de l’Argentine", "MESZ": "heure d’été d’Europe centrale", "NZST": "heure normale de la Nouvelle-Zélande", "AKDT": "heure d’été de l’Alaska", "OESZ": "heure d’été d’Europe de l’Est", "GMT": "heure moyenne de Greenwich", "AWDT": "heure d’été de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "CLST": "heure d’été du Chili", "JST": "heure normale du Japon", "CAT": "heure normale d’Afrique centrale", "WIB": "heure de l’Ouest indonésien", "ART": "heure normale d’Argentine", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HAT": "heure d’été de Terre-Neuve", "ACST": "heure normale du centre de l’Australie", "HNCU": "heure normale de Cuba", "AST": "heure normale de l’Atlantique", "HNOG": "heure normale de l’Ouest du Groenland", "NZDT": "heure d’été de la Nouvelle-Zélande", "JDT": "heure d’été du Japon", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "MDT": "heure d’été des Rocheuses", "PDT": "heure d’été du Pacifique", "WITA": "heure du Centre indonésien", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "HEPMX": "heure d’été du Pacifique mexicain", "SGT": "heure de Singapour", "LHST": "heure normale de Lord Howe", "BOT": "heure de Bolivie", "EAT": "heure normale d’Afrique de l’Est", "MST": "heure normale des Rocheuses", "SRT": "heure du Suriname", "ACWST": "heure normale du centre-ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "AEST": "heure normale de l’Est de l’Australie", "WART": "heure normale de l’Ouest argentin", "COST": "heure d’été de Colombie", "HECU": "heure d’été de Cuba", "MYT": "heure de la Malaisie", "GYT": "heure du Guyana", "HEOG": "heure d’été de l’Ouest du Groenland", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLT": "heure normale du Chili", "ACDT": "heure d’été du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "ChST": "heure des Chamorro", "CST": "heure normale du centre nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HNEG": "heure normale de l’Est du Groenland", "WARST": "heure d’été de l’Ouest argentin", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "HNPMX": "heure normale du Pacifique mexicain", "ADT": "heure d’été de l’Atlantique", "VET": "heure du Venezuela", "WEZ": "heure normale d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "TMST": "heure d’été du Turkménistan", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "AEDT": "heure d’été de l’Est de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "CHAST": "heure normale des îles Chatham", "IST": "heure de l’Inde", "WAST": "heure d’été d’Afrique de l’Ouest", "BT": "heure du Bhoutan", "AWST": "heure normale de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "CDT": "heure d’été du Centre", "PST": "heure normale du Pacifique nord-américain", "HKST": "heure d’été de Hong Kong", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "EDT": "heure d’été de l’Est"}, } } @@ -431,7 +431,12 @@ func (fr *fr_SN) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_SN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_SN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_SN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_SY/fr_SY.go b/fr_SY/fr_SY.go index 0cd4f0c97..c4352abc8 100644 --- a/fr_SY/fr_SY.go +++ b/fr_SY/fr_SY.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "LS", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "LS", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"GYT": "heure du Guyana", "MDT": "heure d’été des Rocheuses", "ACST": "heure normale du centre de l’Australie", "EST": "heure normale de l’Est nord-américain", "EDT": "heure d’été de l’Est", "SAST": "heure normale d’Afrique méridionale", "CHAST": "heure normale des îles Chatham", "AST": "heure normale de l’Atlantique", "ChST": "heure des Chamorro", "BOT": "heure de Bolivie", "UYST": "heure d’été de l’Uruguay", "OESZ": "heure d’été d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "WART": "heure normale de l’Ouest argentin", "WARST": "heure d’été de l’Ouest argentin", "∅∅∅": "heure d’été des Açores", "WIB": "heure de l’Ouest indonésien", "COST": "heure d’été de Colombie", "IST": "heure de l’Inde", "HKT": "heure normale de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "WAST": "heure d’été d’Afrique de l’Ouest", "CLT": "heure normale du Chili", "GFT": "heure de la Guyane française", "ACWDT": "heure d’été du centre-ouest de l’Australie", "TMST": "heure d’été du Turkménistan", "CDT": "heure d’été du Centre", "GMT": "heure moyenne de Greenwich", "MST": "heure normale des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "WEZ": "heure normale d’Europe de l’Ouest", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ACWST": "heure normale du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "JST": "heure normale du Japon", "ECT": "heure de l’Équateur", "ADT": "heure d’été de l’Atlantique", "EAT": "heure normale d’Afrique de l’Est", "SRT": "heure du Suriname", "TMT": "heure normale du Turkménistan", "BT": "heure du Bhoutan", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "LHST": "heure normale de Lord Howe", "JDT": "heure d’été du Japon", "MEZ": "heure normale d’Europe centrale", "SGT": "heure de Singapour", "ART": "heure normale d’Argentine", "MYT": "heure de la Malaisie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKST": "heure normale de l’Alaska", "PDT": "heure d’été du Pacifique", "WIT": "heure de l’Est indonésien", "UYT": "heure normale de l’Uruguay", "CHADT": "heure d’été des îles Chatham", "AWST": "heure normale de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "COT": "heure normale de Colombie", "PST": "heure normale du Pacifique nord-américain", "WAT": "heure normale d’Afrique de l’Ouest", "CST": "heure normale du centre nord-américain", "VET": "heure du Venezuela", "ARST": "heure d’été de l’Argentine", "CLST": "heure d’été du Chili", "CAT": "heure normale d’Afrique centrale", "ACDT": "heure d’été du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "AKDT": "heure d’été de l’Alaska", "WITA": "heure du Centre indonésien"}, + timezones: map[string]string{"WART": "heure normale de l’Ouest argentin", "UYT": "heure normale de l’Uruguay", "ARST": "heure d’été de l’Argentine", "AEST": "heure normale de l’Est de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "CLT": "heure normale du Chili", "TMST": "heure d’été du Turkménistan", "HNEG": "heure normale de l’Est du Groenland", "WAST": "heure d’été d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "WIB": "heure de l’Ouest indonésien", "SRT": "heure du Suriname", "HAT": "heure d’été de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "LHDT": "heure d’été de Lord Howe", "HEEG": "heure d’été de l’Est du Groenland", "HNCU": "heure normale de Cuba", "EST": "heure normale de l’Est nord-américain", "MST": "heure normale de Macao", "HNOG": "heure normale de l’Ouest du Groenland", "PST": "heure normale du Pacifique nord-américain", "MEZ": "heure normale d’Europe centrale", "LHST": "heure normale de Lord Howe", "ECT": "heure de l’Équateur", "NZDT": "heure d’été de la Nouvelle-Zélande", "ACDT": "heure d’été du centre de l’Australie", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "ADT": "heure d’été de l’Atlantique", "AKST": "heure normale de l’Alaska", "GFT": "heure de la Guyane française", "SAST": "heure normale d’Afrique méridionale", "OESZ": "heure d’été d’Europe de l’Est", "∅∅∅": "heure d’été du Pérou", "SGT": "heure de Singapour", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "NZST": "heure normale de la Nouvelle-Zélande", "COST": "heure d’été de Colombie", "CHADT": "heure d’été des îles Chatham", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "JDT": "heure d’été du Japon", "IST": "heure de l’Inde", "WARST": "heure d’été de l’Ouest argentin", "COT": "heure normale de Colombie", "HECU": "heure d’été de Cuba", "CDT": "heure d’été du Centre", "ACWST": "heure normale du centre-ouest de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "WAT": "heure normale d’Afrique de l’Ouest", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EDT": "heure d’été de l’Est", "HNPMX": "heure normale du Pacifique mexicain", "WEZ": "heure normale d’Europe de l’Ouest", "ACWDT": "heure d’été du centre-ouest de l’Australie", "ACST": "heure normale du centre de l’Australie", "EAT": "heure normale d’Afrique de l’Est", "VET": "heure du Venezuela", "WITA": "heure du Centre indonésien", "CST": "heure normale du centre nord-américain", "GYT": "heure du Guyana", "BOT": "heure de Bolivie", "ART": "heure normale d’Argentine", "AWST": "heure normale de l’Ouest de l’Australie", "JST": "heure normale du Japon", "OEZ": "heure normale d’Europe de l’Est", "CAT": "heure normale d’Afrique centrale", "GMT": "heure moyenne de Greenwich", "MDT": "heure d’été de Macao", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "HNT": "heure normale de Terre-Neuve", "TMT": "heure normale du Turkménistan", "ChST": "heure des Chamorro", "HEPMX": "heure d’été du Pacifique mexicain", "HEOG": "heure d’été de l’Ouest du Groenland", "MESZ": "heure d’été d’Europe centrale", "AST": "heure normale de l’Atlantique", "UYST": "heure d’été de l’Uruguay", "BT": "heure du Bhoutan", "PDT": "heure d’été du Pacifique", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLST": "heure d’été du Chili"}, } } @@ -431,7 +431,12 @@ func (fr *fr_SY) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_SY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_SY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_SY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_TD/fr_TD.go b/fr_TD/fr_TD.go index 5b332bb61..70a468447 100644 --- a/fr_TD/fr_TD.go +++ b/fr_TD/fr_TD.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"HKST": "heure d’été de Hong Kong", "COT": "heure normale de Colombie", "ARST": "heure d’été de l’Argentine", "WAT": "heure normale d’Afrique de l’Ouest", "AKDT": "heure d’été de l’Alaska", "BT": "heure du Bhoutan", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "EST": "heure normale de l’Est nord-américain", "HNT": "heure normale de Terre-Neuve", "PDT": "heure d’été du Pacifique", "NZDT": "heure d’été de la Nouvelle-Zélande", "UYST": "heure d’été de l’Uruguay", "HKT": "heure normale de Hong Kong", "CHADT": "heure d’été des îles Chatham", "GYT": "heure du Guyana", "MDT": "heure d’été des Rocheuses", "CAT": "heure normale d’Afrique centrale", "ACDT": "heure d’été du centre de l’Australie", "HAT": "heure d’été de Terre-Neuve", "CLST": "heure d’été du Chili", "GMT": "heure moyenne de Greenwich", "UYT": "heure normale de l’Uruguay", "AST": "heure normale de l’Atlantique", "MYT": "heure de la Malaisie", "JDT": "heure d’été du Japon", "GFT": "heure de la Guyane française", "SRT": "heure du Suriname", "EAT": "heure normale d’Afrique de l’Est", "AKST": "heure normale de l’Alaska", "PST": "heure normale du Pacifique nord-américain", "WIT": "heure de l’Est indonésien", "JST": "heure normale du Japon", "AEDT": "heure d’été de l’Est de l’Australie", "SAST": "heure normale d’Afrique méridionale", "WAST": "heure d’été d’Afrique de l’Ouest", "NZST": "heure normale de la Nouvelle-Zélande", "WARST": "heure d’été de l’Ouest argentin", "TMT": "heure normale du Turkménistan", "BOT": "heure de Bolivie", "LHST": "heure normale de Lord Howe", "ChST": "heure des Chamorro", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "ACST": "heure normale du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "AEST": "heure normale de l’Est de l’Australie", "EDT": "heure d’été de l’Est", "CST": "heure normale du centre nord-américain", "CDT": "heure d’été du Centre", "∅∅∅": "heure d’été de l’Acre", "MEZ": "heure normale d’Europe centrale", "ECT": "heure de l’Équateur", "WIB": "heure de l’Ouest indonésien", "ACWST": "heure normale du centre-ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "SGT": "heure de Singapour", "ART": "heure normale d’Argentine", "TMST": "heure d’été du Turkménistan", "LHDT": "heure d’été de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "HAST": "heure normale d’Hawaii - Aléoutiennes", "IST": "heure de l’Inde", "WITA": "heure du Centre indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "CHAST": "heure normale des îles Chatham", "ADT": "heure d’été de l’Atlantique", "MST": "heure normale des Rocheuses", "AWST": "heure normale de l’Ouest de l’Australie", "CLT": "heure normale du Chili", "OESZ": "heure d’été d’Europe de l’Est", "COST": "heure d’été de Colombie", "VET": "heure du Venezuela"}, + timezones: map[string]string{"AST": "heure normale de l’Atlantique", "HKST": "heure d’été de Hong Kong", "LHST": "heure normale de Lord Howe", "IST": "heure de l’Inde", "WIB": "heure de l’Ouest indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "HNOG": "heure normale de l’Ouest du Groenland", "AWST": "heure normale de l’Ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "JST": "heure normale du Japon", "CAT": "heure normale d’Afrique centrale", "SGT": "heure de Singapour", "UYT": "heure normale de l’Uruguay", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ART": "heure normale d’Argentine", "ACST": "heure normale du centre de l’Australie", "HEPMX": "heure d’été du Pacifique mexicain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "HKT": "heure normale de Hong Kong", "WAST": "heure d’été d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "EST": "heure normale de l’Est nord-américain", "HNPMX": "heure normale du Pacifique mexicain", "AKDT": "heure d’été de l’Alaska", "GYT": "heure du Guyana", "PDT": "heure d’été du Pacifique", "AWDT": "heure d’été de l’Ouest de l’Australie", "CHADT": "heure d’été des îles Chatham", "JDT": "heure d’été du Japon", "WAT": "heure normale d’Afrique de l’Ouest", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "HAT": "heure d’été de Terre-Neuve", "HEOG": "heure d’été de l’Ouest du Groenland", "MESZ": "heure d’été d’Europe centrale", "HNEG": "heure normale de l’Est du Groenland", "EAT": "heure normale d’Afrique de l’Est", "ECT": "heure de l’Équateur", "WART": "heure normale de l’Ouest argentin", "WIT": "heure de l’Est indonésien", "BT": "heure du Bhoutan", "LHDT": "heure d’été de Lord Howe", "CLT": "heure normale du Chili", "TMST": "heure d’été du Turkménistan", "MYT": "heure de la Malaisie", "ChST": "heure des Chamorro", "TMT": "heure normale du Turkménistan", "HECU": "heure d’été de Cuba", "WESZ": "heure d’été d’Europe de l’Ouest", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "CLST": "heure d’été du Chili", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "CST": "heure normale du centre nord-américain", "SRT": "heure du Suriname", "AEST": "heure normale de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "NZDT": "heure d’été de la Nouvelle-Zélande", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "GFT": "heure de la Guyane française", "HNCU": "heure normale de Cuba", "MST": "heure normale de Macao", "MDT": "heure d’été de Macao", "CDT": "heure d’été du Centre", "VET": "heure du Venezuela", "∅∅∅": "heure d’été de l’Amazonie", "OEZ": "heure normale d’Europe de l’Est", "GMT": "heure moyenne de Greenwich", "WITA": "heure du Centre indonésien", "HEEG": "heure d’été de l’Est du Groenland", "COT": "heure normale de Colombie", "UYST": "heure d’été de l’Uruguay", "AKST": "heure normale de l’Alaska", "ARST": "heure d’été de l’Argentine", "SAST": "heure normale d’Afrique méridionale", "BOT": "heure de Bolivie", "ACDT": "heure d’été du centre de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "COST": "heure d’été de Colombie", "PST": "heure normale du Pacifique nord-américain", "ACWDT": "heure d’été du centre-ouest de l’Australie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_TD) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_TD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_TD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_TD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_TG/fr_TG.go b/fr_TG/fr_TG.go index 9d5c395ac..172f76c6b 100644 --- a/fr_TG/fr_TG.go +++ b/fr_TG/fr_TG.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"LHST": "heure normale de Lord Howe", "UYT": "heure normale de l’Uruguay", "WARST": "heure d’été de l’Ouest argentin", "TMST": "heure d’été du Turkménistan", "HNT": "heure normale de Terre-Neuve", "SGT": "heure de Singapour", "IST": "heure de l’Inde", "AKDT": "heure d’été de l’Alaska", "NZST": "heure normale de la Nouvelle-Zélande", "CHAST": "heure normale des îles Chatham", "JDT": "heure d’été du Japon", "ACWDT": "heure d’été du centre-ouest de l’Australie", "PST": "heure normale du Pacifique nord-américain", "TMT": "heure normale du Turkménistan", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "CDT": "heure d’été du Centre", "LHDT": "heure d’été de Lord Howe", "EST": "heure normale de l’Est nord-américain", "WITA": "heure du Centre indonésien", "VET": "heure du Venezuela", "WESZ": "heure d’été d’Europe de l’Ouest", "ACWST": "heure normale du centre-ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "∅∅∅": "heure d’été de Brasilia", "OEZ": "heure normale d’Europe de l’Est", "PDT": "heure d’été du Pacifique", "AWST": "heure normale de l’Ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "SAST": "heure normale d’Afrique méridionale", "WAST": "heure d’été d’Afrique de l’Ouest", "ADT": "heure d’été de l’Atlantique", "CST": "heure normale du centre nord-américain", "HKST": "heure d’été de Hong Kong", "CHADT": "heure d’été des îles Chatham", "GFT": "heure de la Guyane française", "AST": "heure normale de l’Atlantique", "BT": "heure du Bhoutan", "SRT": "heure du Suriname", "OESZ": "heure d’été d’Europe de l’Est", "ACST": "heure normale du centre de l’Australie", "MEZ": "heure normale d’Europe centrale", "EDT": "heure d’été de l’Est", "MST": "heure normale des Rocheuses", "BOT": "heure de Bolivie", "CLT": "heure normale du Chili", "ECT": "heure de l’Équateur", "AKST": "heure normale de l’Alaska", "GMT": "heure moyenne de Greenwich", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "MESZ": "heure d’été d’Europe centrale", "GYT": "heure du Guyana", "JST": "heure normale du Japon", "MDT": "heure d’été des Rocheuses", "NZDT": "heure d’été de la Nouvelle-Zélande", "ChST": "heure des Chamorro", "WEZ": "heure normale d’Europe de l’Ouest", "EAT": "heure normale d’Afrique de l’Est", "COT": "heure normale de Colombie", "WIT": "heure de l’Est indonésien", "UYST": "heure d’été de l’Uruguay", "WIB": "heure de l’Ouest indonésien", "AEDT": "heure d’été de l’Est de l’Australie", "WAT": "heure normale d’Afrique de l’Ouest", "CLST": "heure d’été du Chili", "CAT": "heure normale d’Afrique centrale", "ART": "heure normale d’Argentine", "ARST": "heure d’été de l’Argentine", "MYT": "heure de la Malaisie", "AWDT": "heure d’été de l’Ouest de l’Australie"}, + timezones: map[string]string{"AEDT": "heure d’été de l’Est de l’Australie", "MESZ": "heure d’été d’Europe centrale", "JDT": "heure d’été du Japon", "BOT": "heure de Bolivie", "CAT": "heure normale d’Afrique centrale", "CST": "heure normale du centre nord-américain", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CHAST": "heure normale des îles Chatham", "ChST": "heure des Chamorro", "OESZ": "heure d’été d’Europe de l’Est", "AST": "heure normale de l’Atlantique", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "CHADT": "heure d’été des îles Chatham", "COT": "heure normale de Colombie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "UYST": "heure d’été de l’Uruguay", "WIT": "heure de l’Est indonésien", "AWST": "heure normale de l’Ouest de l’Australie", "SAST": "heure normale d’Afrique méridionale", "HNCU": "heure normale de Cuba", "PDT": "heure d’été du Pacifique", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "LHDT": "heure d’été de Lord Howe", "NZST": "heure normale de la Nouvelle-Zélande", "ACDT": "heure d’été du centre de l’Australie", "GMT": "heure moyenne de Greenwich", "HNT": "heure normale de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "ART": "heure normale d’Argentine", "ARST": "heure d’été de l’Argentine", "LHST": "heure normale de Lord Howe", "NZDT": "heure d’été de la Nouvelle-Zélande", "WAT": "heure normale d’Afrique de l’Ouest", "HNPMX": "heure normale du Pacifique mexicain", "VET": "heure du Venezuela", "HNOG": "heure normale de l’Ouest du Groenland", "HEEG": "heure d’été de l’Est du Groenland", "BT": "heure du Bhoutan", "PST": "heure normale du Pacifique nord-américain", "WESZ": "heure d’été d’Europe de l’Ouest", "MEZ": "heure normale d’Europe centrale", "IST": "heure de l’Inde", "SRT": "heure du Suriname", "HEOG": "heure d’été de l’Ouest du Groenland", "AEST": "heure normale de l’Est de l’Australie", "JST": "heure normale du Japon", "SGT": "heure de Singapour", "MDT": "heure d’été de Macao", "WEZ": "heure normale d’Europe de l’Ouest", "HNEG": "heure normale de l’Est du Groenland", "WART": "heure normale de l’Ouest argentin", "MST": "heure normale de Macao", "CDT": "heure d’été du Centre", "ACST": "heure normale du centre de l’Australie", "OEZ": "heure normale d’Europe de l’Est", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "UYT": "heure normale de l’Uruguay", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "WITA": "heure du Centre indonésien", "GFT": "heure de la Guyane française", "ECT": "heure de l’Équateur", "WARST": "heure d’été de l’Ouest argentin", "COST": "heure d’été de Colombie", "EST": "heure normale de l’Est nord-américain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "CLST": "heure d’été du Chili", "∅∅∅": "heure d’été de l’Amazonie", "AKDT": "heure d’été de l’Alaska", "MYT": "heure de la Malaisie", "TMST": "heure d’été du Turkménistan", "EAT": "heure normale d’Afrique de l’Est", "HECU": "heure d’été de Cuba", "WIB": "heure de l’Ouest indonésien", "ACWST": "heure normale du centre-ouest de l’Australie", "CLT": "heure normale du Chili", "TMT": "heure normale du Turkménistan", "WAST": "heure d’été d’Afrique de l’Ouest", "HEPMX": "heure d’été du Pacifique mexicain", "AKST": "heure normale de l’Alaska", "GYT": "heure du Guyana", "AWDT": "heure d’été de l’Ouest de l’Australie"}, } } @@ -431,7 +431,12 @@ func (fr *fr_TG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_TG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_TG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_TG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_TN/fr_TN.go b/fr_TN/fr_TN.go index 4f455d5e8..16d0d9d34 100644 --- a/fr_TN/fr_TN.go +++ b/fr_TN/fr_TN.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "DT", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "DT", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"CAT": "heure normale d’Afrique centrale", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "GMT": "heure moyenne de Greenwich", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "EDT": "heure d’été de l’Est", "NZST": "heure normale de la Nouvelle-Zélande", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "ACWST": "heure normale du centre-ouest de l’Australie", "SAST": "heure normale d’Afrique méridionale", "PST": "heure normale du Pacifique nord-américain", "EAT": "heure normale d’Afrique de l’Est", "WITA": "heure du Centre indonésien", "MYT": "heure de la Malaisie", "MST": "heure normale des Rocheuses", "WART": "heure normale de l’Ouest argentin", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "GYT": "heure du Guyana", "OEZ": "heure normale d’Europe de l’Est", "VET": "heure du Venezuela", "ART": "heure normale d’Argentine", "ADT": "heure d’été de l’Atlantique", "TMT": "heure normale du Turkménistan", "ChST": "heure des Chamorro", "WAST": "heure d’été d’Afrique de l’Ouest", "MEZ": "heure normale d’Europe centrale", "TMST": "heure d’été du Turkménistan", "OESZ": "heure d’été d’Europe de l’Est", "HNT": "heure normale de Terre-Neuve", "COT": "heure normale de Colombie", "AEDT": "heure d’été de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "ECT": "heure de l’Équateur", "∅∅∅": "heure d’été des Açores", "CLT": "heure normale du Chili", "CLST": "heure d’été du Chili", "LHST": "heure normale de Lord Howe", "WESZ": "heure d’été d’Europe de l’Ouest", "ACST": "heure normale du centre de l’Australie", "AKDT": "heure d’été de l’Alaska", "AWDT": "heure d’été de l’Ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "CHAST": "heure normale des îles Chatham", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AST": "heure normale de l’Atlantique", "MDT": "heure d’été des Rocheuses", "JST": "heure normale du Japon", "CHADT": "heure d’été des îles Chatham", "SGT": "heure de Singapour", "IST": "heure de l’Inde", "AWST": "heure normale de l’Ouest de l’Australie", "WIT": "heure de l’Est indonésien", "JDT": "heure d’été du Japon", "MESZ": "heure d’été d’Europe centrale", "AEST": "heure normale de l’Est de l’Australie", "BOT": "heure de Bolivie", "SRT": "heure du Suriname", "ARST": "heure d’été de l’Argentine", "WAT": "heure normale d’Afrique de l’Ouest", "WEZ": "heure normale d’Europe de l’Ouest", "BT": "heure du Bhoutan", "GFT": "heure de la Guyane française", "ACDT": "heure d’été du centre de l’Australie", "COST": "heure d’été de Colombie", "WIB": "heure de l’Ouest indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "HKST": "heure d’été de Hong Kong", "CST": "heure normale du centre nord-américain"}, + timezones: map[string]string{"MDT": "heure d’été des Rocheuses", "ART": "heure normale d’Argentine", "CHAST": "heure normale des îles Chatham", "IST": "heure de l’Inde", "WAT": "heure normale d’Afrique de l’Ouest", "WARST": "heure d’été de l’Ouest argentin", "HAST": "heure normale d’Hawaii - Aléoutiennes", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "BOT": "heure de Bolivie", "ACST": "heure normale du centre de l’Australie", "HNEG": "heure normale de l’Est du Groenland", "EAT": "heure normale d’Afrique de l’Est", "CAT": "heure normale d’Afrique centrale", "CDT": "heure d’été du Centre", "UYT": "heure normale de l’Uruguay", "TMT": "heure normale du Turkménistan", "ChST": "heure des Chamorro", "HEPMX": "heure d’été du Pacifique mexicain", "WIB": "heure de l’Ouest indonésien", "PST": "heure normale du Pacifique nord-américain", "HKT": "heure normale de Hong Kong", "MEZ": "heure normale d’Europe centrale", "MESZ": "heure d’été d’Europe centrale", "AWDT": "heure d’été de l’Ouest de l’Australie", "HNCU": "heure normale de Cuba", "JST": "heure normale du Japon", "OEZ": "heure normale d’Europe de l’Est", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "GMT": "heure moyenne de Greenwich", "WEZ": "heure normale d’Europe de l’Ouest", "CLST": "heure d’été du Chili", "ECT": "heure de l’Équateur", "HECU": "heure d’été de Cuba", "HNPMX": "heure normale du Pacifique mexicain", "MST": "heure normale des Rocheuses", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "ARST": "heure d’été de l’Argentine", "PDT": "heure d’été du Pacifique", "AEST": "heure normale de l’Est de l’Australie", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "SGT": "heure de Singapour", "EST": "heure normale de l’Est nord-américain", "VET": "heure du Venezuela", "HNT": "heure normale de Terre-Neuve", "SAST": "heure normale d’Afrique méridionale", "TMST": "heure d’été du Turkménistan", "COST": "heure d’été de Colombie", "ADT": "heure d’été de l’Atlantique", "∅∅∅": "heure d’été de l’Amazonie", "AST": "heure normale de l’Atlantique", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "ACWDT": "heure d’été du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "HNOG": "heure normale de l’Ouest du Groenland", "AWST": "heure normale de l’Ouest de l’Australie", "ACWST": "heure normale du centre-ouest de l’Australie", "WITA": "heure du Centre indonésien", "NZDT": "heure d’été de la Nouvelle-Zélande", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "NZST": "heure normale de la Nouvelle-Zélande", "ACDT": "heure d’été du centre de l’Australie", "COT": "heure normale de Colombie", "HEOG": "heure d’été de l’Ouest du Groenland", "JDT": "heure d’été du Japon", "WART": "heure normale de l’Ouest argentin", "AKDT": "heure d’été de l’Alaska", "WAST": "heure d’été d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "EDT": "heure d’été de l’Est", "SRT": "heure du Suriname", "BT": "heure du Bhoutan", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "LHST": "heure normale de Lord Howe", "HEEG": "heure d’été de l’Est du Groenland", "AKST": "heure normale de l’Alaska", "HKST": "heure d’été de Hong Kong", "CLT": "heure normale du Chili", "CST": "heure normale du centre nord-américain", "UYST": "heure d’été de l’Uruguay", "WESZ": "heure d’été d’Europe de l’Ouest", "AEDT": "heure d’été de l’Est de l’Australie", "GFT": "heure de la Guyane française", "GYT": "heure du Guyana"}, } } @@ -431,7 +431,12 @@ func (fr *fr_TN) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_TN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_TN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_TN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_VU/fr_VU.go b/fr_VU/fr_VU.go index 6df1aadac..e22d3908b 100644 --- a/fr_VU/fr_VU.go +++ b/fr_VU/fr_VU.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VT", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VT", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"EDT": "heure d’été de l’Est", "GMT": "heure moyenne de Greenwich", "SRT": "heure du Suriname", "OESZ": "heure d’été d’Europe de l’Est", "ART": "heure normale d’Argentine", "WARST": "heure d’été de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "ACWST": "heure normale du centre-ouest de l’Australie", "HAT": "heure d’été de Terre-Neuve", "WIT": "heure de l’Est indonésien", "LHST": "heure normale de Lord Howe", "JST": "heure normale du Japon", "ACDT": "heure d’été du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "PDT": "heure d’été du Pacifique", "MYT": "heure de la Malaisie", "WEZ": "heure normale d’Europe de l’Ouest", "WESZ": "heure d’été d’Europe de l’Ouest", "OEZ": "heure normale d’Europe de l’Est", "MESZ": "heure d’été d’Europe centrale", "WAST": "heure d’été d’Afrique de l’Ouest", "ChST": "heure des Chamorro", "CAT": "heure normale d’Afrique centrale", "UYT": "heure normale de l’Uruguay", "GFT": "heure de la Guyane française", "ECT": "heure de l’Équateur", "AEDT": "heure d’été de l’Est de l’Australie", "∅∅∅": "heure d’été des Açores", "CHAST": "heure normale des îles Chatham", "WITA": "heure du Centre indonésien", "MDT": "heure d’été des Rocheuses", "BOT": "heure de Bolivie", "BT": "heure du Bhoutan", "CLST": "heure d’été du Chili", "MST": "heure normale des Rocheuses", "COT": "heure normale de Colombie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "IST": "heure de l’Inde", "NZST": "heure normale de la Nouvelle-Zélande", "AWDT": "heure d’été de l’Ouest de l’Australie", "HNT": "heure normale de Terre-Neuve", "JDT": "heure d’été du Japon", "EST": "heure normale de l’Est nord-américain", "ADT": "heure d’été de l’Atlantique", "CLT": "heure normale du Chili", "ARST": "heure d’été de l’Argentine", "AKDT": "heure d’été de l’Alaska", "TMT": "heure normale du Turkménistan", "TMST": "heure d’été du Turkménistan", "AWST": "heure normale de l’Ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "AST": "heure normale de l’Atlantique", "CHADT": "heure d’été des îles Chatham", "ACST": "heure normale du centre de l’Australie", "COST": "heure d’été de Colombie", "MEZ": "heure normale d’Europe centrale", "PST": "heure normale du Pacifique nord-américain", "EAT": "heure normale d’Afrique de l’Est", "GYT": "heure du Guyana", "NZDT": "heure d’été de la Nouvelle-Zélande", "LHDT": "heure d’été de Lord Howe", "HKT": "heure normale de Hong Kong", "CDT": "heure d’été du Centre", "SGT": "heure de Singapour", "UYST": "heure d’été de l’Uruguay", "VET": "heure du Venezuela", "WIB": "heure de l’Ouest indonésien", "SAST": "heure normale d’Afrique méridionale", "HKST": "heure d’été de Hong Kong", "AEST": "heure normale de l’Est de l’Australie", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WAT": "heure normale d’Afrique de l’Ouest"}, + timezones: map[string]string{"WART": "heure normale de l’Ouest argentin", "WARST": "heure d’été de l’Ouest argentin", "CHADT": "heure d’été des îles Chatham", "HAT": "heure d’été de Terre-Neuve", "HKST": "heure d’été de Hong Kong", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "GMT": "heure moyenne de Greenwich", "MST": "heure normale de Macao", "SAST": "heure normale d’Afrique méridionale", "TMT": "heure normale du Turkménistan", "GYT": "heure du Guyana", "UYST": "heure d’été de l’Uruguay", "WESZ": "heure d’été d’Europe de l’Ouest", "ADT": "heure d’été de l’Atlantique", "HNOG": "heure normale de l’Ouest du Groenland", "AEST": "heure normale de l’Est de l’Australie", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "COT": "heure normale de Colombie", "HECU": "heure d’été de Cuba", "AKDT": "heure d’été de l’Alaska", "CHAST": "heure normale des îles Chatham", "CLST": "heure d’été du Chili", "HEPMX": "heure d’été du Pacifique mexicain", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "IST": "heure de l’Inde", "∅∅∅": "heure d’été du Pérou", "CST": "heure normale du centre nord-américain", "PST": "heure normale du Pacifique nord-américain", "ARST": "heure d’été de l’Argentine", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "MEZ": "heure normale d’Europe centrale", "WIT": "heure de l’Est indonésien", "ACWST": "heure normale du centre-ouest de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "AST": "heure normale de l’Atlantique", "HEOG": "heure d’été de l’Ouest du Groenland", "JST": "heure normale du Japon", "ChST": "heure des Chamorro", "EAT": "heure normale d’Afrique de l’Est", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "LHDT": "heure d’été de Lord Howe", "BOT": "heure de Bolivie", "HEEG": "heure d’été de l’Est du Groenland", "TMST": "heure d’été du Turkménistan", "WAT": "heure normale d’Afrique de l’Ouest", "COST": "heure d’été de Colombie", "MYT": "heure de la Malaisie", "NZST": "heure normale de la Nouvelle-Zélande", "OESZ": "heure d’été d’Europe de l’Est", "MDT": "heure d’été de Macao", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "SRT": "heure du Suriname", "HNT": "heure normale de Terre-Neuve", "ECT": "heure de l’Équateur", "AKST": "heure normale de l’Alaska", "CDT": "heure d’été du Centre", "GFT": "heure de la Guyane française", "ACDT": "heure d’été du centre de l’Australie", "UYT": "heure normale de l’Uruguay", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "WITA": "heure du Centre indonésien", "JDT": "heure d’été du Japon", "SGT": "heure de Singapour", "HNCU": "heure normale de Cuba", "ART": "heure normale d’Argentine", "PDT": "heure d’été du Pacifique", "AEDT": "heure d’été de l’Est de l’Australie", "AWDT": "heure d’été de l’Ouest de l’Australie", "HKT": "heure normale de Hong Kong", "LHST": "heure normale de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "WIB": "heure de l’Ouest indonésien", "VET": "heure du Venezuela", "HNEG": "heure normale de l’Est du Groenland", "ACST": "heure normale du centre de l’Australie", "HAST": "heure normale d’Hawaii - Aléoutiennes", "BT": "heure du Bhoutan", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CAT": "heure normale d’Afrique centrale", "EDT": "heure d’été de l’Est", "HNPMX": "heure normale du Pacifique mexicain"}, } } @@ -431,7 +431,12 @@ func (fr *fr_VU) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_VU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_VU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_VU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_WF/fr_WF.go b/fr_WF/fr_WF.go index d12fe5f66..3ce777e6c 100644 --- a/fr_WF/fr_WF.go +++ b/fr_WF/fr_WF.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"SAST": "heure normale d’Afrique méridionale", "HKT": "heure normale de Hong Kong", "EDT": "heure d’été de l’Est", "ADT": "heure d’été de l’Atlantique", "TMT": "heure normale du Turkménistan", "JST": "heure normale du Japon", "SRT": "heure du Suriname", "MESZ": "heure d’été d’Europe centrale", "PST": "heure normale du Pacifique nord-américain", "PDT": "heure d’été du Pacifique", "∅∅∅": "heure d’été de l’Amazonie", "CHADT": "heure d’été des îles Chatham", "ART": "heure normale d’Argentine", "GYT": "heure du Guyana", "MYT": "heure de la Malaisie", "LHST": "heure normale de Lord Howe", "OEZ": "heure normale d’Europe de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "EAT": "heure normale d’Afrique de l’Est", "BOT": "heure de Bolivie", "HAT": "heure d’été de Terre-Neuve", "ACDT": "heure d’été du centre de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "EST": "heure normale de l’Est nord-américain", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKDT": "heure d’été de l’Alaska", "AWDT": "heure d’été de l’Ouest de l’Australie", "CLST": "heure d’été du Chili", "LHDT": "heure d’été de Lord Howe", "OESZ": "heure d’été d’Europe de l’Est", "CHAST": "heure normale des îles Chatham", "AEST": "heure normale de l’Est de l’Australie", "WARST": "heure d’été de l’Ouest argentin", "CDT": "heure d’été du Centre", "MST": "heure normale des Rocheuses", "UYST": "heure d’été de l’Uruguay", "GFT": "heure de la Guyane française", "ACST": "heure normale du centre de l’Australie", "HNT": "heure normale de Terre-Neuve", "VET": "heure du Venezuela", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "CST": "heure normale du centre nord-américain", "NZDT": "heure d’été de la Nouvelle-Zélande", "CLT": "heure normale du Chili", "UYT": "heure normale de l’Uruguay", "SGT": "heure de Singapour", "WAST": "heure d’été d’Afrique de l’Ouest", "GMT": "heure moyenne de Greenwich", "AST": "heure normale de l’Atlantique", "COT": "heure normale de Colombie", "AWST": "heure normale de l’Ouest de l’Australie", "WART": "heure normale de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "CAT": "heure normale d’Afrique centrale", "WIB": "heure de l’Ouest indonésien", "ACWST": "heure normale du centre-ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "ARST": "heure d’été de l’Argentine", "WITA": "heure du Centre indonésien", "TMST": "heure d’été du Turkménistan", "NZST": "heure normale de la Nouvelle-Zélande", "JDT": "heure d’été du Japon", "WEZ": "heure normale d’Europe de l’Ouest", "HKST": "heure d’été de Hong Kong", "WAT": "heure normale d’Afrique de l’Ouest", "IST": "heure de l’Inde", "COST": "heure d’été de Colombie", "ECT": "heure de l’Équateur", "ACWDT": "heure d’été du centre-ouest de l’Australie", "BT": "heure du Bhoutan", "MDT": "heure d’été des Rocheuses", "ChST": "heure des Chamorro", "WIT": "heure de l’Est indonésien"}, + timezones: map[string]string{"CAT": "heure normale d’Afrique centrale", "WAT": "heure normale d’Afrique de l’Ouest", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "CDT": "heure d’été du Centre", "SGT": "heure de Singapour", "HECU": "heure d’été de Cuba", "MST": "heure normale de Macao", "HNPMX": "heure normale du Pacifique mexicain", "ART": "heure normale d’Argentine", "CHAST": "heure normale des îles Chatham", "WART": "heure normale de l’Ouest argentin", "HENOMX": "heure d’été du Nord-Ouest du Mexique", "GYT": "heure du Guyana", "HAST": "heure normale d’Hawaii - Aléoutiennes", "AKST": "heure normale de l’Alaska", "CST": "heure normale du centre nord-américain", "ADT": "heure d’été de l’Atlantique", "BT": "heure du Bhoutan", "OEZ": "heure normale d’Europe de l’Est", "COST": "heure d’été de Colombie", "EDT": "heure d’été de l’Est", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "VET": "heure du Venezuela", "ACWST": "heure normale du centre-ouest de l’Australie", "AEDT": "heure d’été de l’Est de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "HNEG": "heure normale de l’Est du Groenland", "PDT": "heure d’été du Pacifique", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "WAST": "heure d’été d’Afrique de l’Ouest", "OESZ": "heure d’été d’Europe de l’Est", "WIT": "heure de l’Est indonésien", "PST": "heure normale du Pacifique nord-américain", "MEZ": "heure normale d’Europe centrale", "LHDT": "heure d’été de Lord Howe", "CHADT": "heure d’été des îles Chatham", "HNOG": "heure normale de l’Ouest du Groenland", "MESZ": "heure d’été d’Europe centrale", "LHST": "heure normale de Lord Howe", "AKDT": "heure d’été de l’Alaska", "SRT": "heure du Suriname", "HEOG": "heure d’été de l’Ouest du Groenland", "UYT": "heure normale de l’Uruguay", "UYST": "heure d’été de l’Uruguay", "BOT": "heure de Bolivie", "EAT": "heure normale d’Afrique de l’Est", "EST": "heure normale de l’Est nord-américain", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "WITA": "heure du Centre indonésien", "IST": "heure de l’Inde", "JDT": "heure d’été du Japon", "ChST": "heure des Chamorro", "WARST": "heure d’été de l’Ouest argentin", "MYT": "heure de la Malaisie", "WIB": "heure de l’Ouest indonésien", "WEZ": "heure normale d’Europe de l’Ouest", "SAST": "heure normale d’Afrique méridionale", "CLST": "heure d’été du Chili", "∅∅∅": "heure d’été de l’Amazonie", "CLT": "heure normale du Chili", "HEEG": "heure d’été de l’Est du Groenland", "HEPMX": "heure d’été du Pacifique mexicain", "HAT": "heure d’été de Terre-Neuve", "ARST": "heure d’été de l’Argentine", "AEST": "heure normale de l’Est de l’Australie", "HKST": "heure d’été de Hong Kong", "NZST": "heure normale de la Nouvelle-Zélande", "NZDT": "heure d’été de la Nouvelle-Zélande", "TMT": "heure normale du Turkménistan", "ACDT": "heure d’été du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "MDT": "heure d’été de Macao", "HNCU": "heure normale de Cuba", "AWDT": "heure d’été de l’Ouest de l’Australie", "GFT": "heure de la Guyane française", "ECT": "heure de l’Équateur", "GMT": "heure moyenne de Greenwich", "TMST": "heure d’été du Turkménistan", "ACST": "heure normale du centre de l’Australie", "COT": "heure normale de Colombie", "WESZ": "heure d’été d’Europe de l’Ouest", "HKT": "heure normale de Hong Kong", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "JST": "heure normale du Japon"}, } } @@ -431,7 +431,12 @@ func (fr *fr_WF) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_WF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_WF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_WF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fr_YT/fr_YT.go b/fr_YT/fr_YT.go index 7483eecf0..4adffa195 100644 --- a/fr_YT/fr_YT.go +++ b/fr_YT/fr_YT.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. J.-C.", "ap. J.-C."}, erasNarrow: []string{"av. J.-C.", "ap. J.-C."}, erasWide: []string{"avant Jésus-Christ", "après Jésus-Christ"}, - timezones: map[string]string{"WAST": "heure d’été d’Afrique de l’Ouest", "ChST": "heure des Chamorro", "LHST": "heure normale de Lord Howe", "CAT": "heure normale d’Afrique centrale", "LHDT": "heure d’été de Lord Howe", "UYST": "heure d’été de l’Uruguay", "VET": "heure du Venezuela", "AEDT": "heure d’été de l’Est de l’Australie", "PST": "heure normale du Pacifique nord-américain", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "GFT": "heure de la Guyane française", "CHAST": "heure normale des îles Chatham", "ACDT": "heure d’été du centre de l’Australie", "GYT": "heure du Guyana", "HNT": "heure normale de Terre-Neuve", "CLST": "heure d’été du Chili", "NZST": "heure normale de la Nouvelle-Zélande", "BOT": "heure de Bolivie", "AWST": "heure normale de l’Ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "PDT": "heure d’été du Pacifique", "SAST": "heure normale d’Afrique méridionale", "AEST": "heure normale de l’Est de l’Australie", "MEZ": "heure normale d’Europe centrale", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "AST": "heure normale de l’Atlantique", "TMT": "heure normale du Turkménistan", "UYT": "heure normale de l’Uruguay", "ARST": "heure d’été de l’Argentine", "SRT": "heure du Suriname", "ACST": "heure normale du centre de l’Australie", "ACWDT": "heure d’été du centre-ouest de l’Australie", "CST": "heure normale du centre nord-américain", "ART": "heure normale d’Argentine", "WITA": "heure du Centre indonésien", "HAT": "heure d’été de Terre-Neuve", "HKT": "heure normale de Hong Kong", "MST": "heure normale des Rocheuses", "AWDT": "heure d’été de l’Ouest de l’Australie", "GMT": "heure moyenne de Greenwich", "JST": "heure normale du Japon", "EAT": "heure normale d’Afrique de l’Est", "IST": "heure de l’Inde", "AKDT": "heure d’été de l’Alaska", "ACWST": "heure normale du centre-ouest de l’Australie", "CDT": "heure d’été du Centre", "WEZ": "heure normale d’Europe de l’Ouest", "MESZ": "heure d’été d’Europe centrale", "OEZ": "heure normale d’Europe de l’Est", "HAST": "heure normale d’Hawaii - Aléoutiennes", "COST": "heure d’été de Colombie", "WART": "heure normale de l’Ouest argentin", "AKST": "heure normale de l’Alaska", "NZDT": "heure d’été de la Nouvelle-Zélande", "BT": "heure du Bhoutan", "OESZ": "heure d’été d’Europe de l’Est", "HKST": "heure d’été de Hong Kong", "CHADT": "heure d’été des îles Chatham", "SGT": "heure de Singapour", "ECT": "heure de l’Équateur", "TMST": "heure d’été du Turkménistan", "CLT": "heure normale du Chili", "JDT": "heure d’été du Japon", "COT": "heure normale de Colombie", "EDT": "heure d’été de l’Est", "WESZ": "heure d’été d’Europe de l’Ouest", "WIB": "heure de l’Ouest indonésien", "MDT": "heure d’été des Rocheuses", "WARST": "heure d’été de l’Ouest argentin", "ADT": "heure d’été de l’Atlantique", "WAT": "heure normale d’Afrique de l’Ouest", "∅∅∅": "heure d’été du Pérou"}, + timezones: map[string]string{"HEPMX": "heure d’été du Pacifique mexicain", "UYT": "heure normale de l’Uruguay", "WEZ": "heure normale d’Europe de l’Ouest", "ChST": "heure des Chamorro", "GFT": "heure de la Guyane française", "WAT": "heure normale d’Afrique de l’Ouest", "∅∅∅": "heure d’été de Brasilia", "CDT": "heure d’été du Centre", "VET": "heure du Venezuela", "AEST": "heure normale de l’Est de l’Australie", "WITA": "heure du Centre indonésien", "HNPM": "heure normale de Saint-Pierre-et-Miquelon", "IST": "heure de l’Inde", "CLST": "heure d’été du Chili", "COST": "heure d’été de Colombie", "EDT": "heure d’été de l’Est", "SRT": "heure du Suriname", "HKT": "heure normale de Hong Kong", "OESZ": "heure d’été d’Europe de l’Est", "COT": "heure normale de Colombie", "AKST": "heure normale de l’Alaska", "HADT": "heure d’été d’Hawaii - Aléoutiennes", "PST": "heure normale du Pacifique nord-américain", "HEOG": "heure d’été de l’Ouest du Groenland", "HEPM": "heure d’été de Saint-Pierre-et-Miquelon", "ACDT": "heure d’été du centre de l’Australie", "GMT": "heure moyenne de Greenwich", "WESZ": "heure d’été d’Europe de l’Ouest", "HAT": "heure d’été de Terre-Neuve", "HEEG": "heure d’été de l’Est du Groenland", "OEZ": "heure normale d’Europe de l’Est", "WARST": "heure d’été de l’Ouest argentin", "SGT": "heure de Singapour", "AST": "heure normale de l’Atlantique", "HNT": "heure normale de Terre-Neuve", "HNEG": "heure normale de l’Est du Groenland", "HNNOMX": "heure normale du Nord-Ouest du Mexique", "HAST": "heure normale d’Hawaii - Aléoutiennes", "ACWDT": "heure d’été du centre-ouest de l’Australie", "LHDT": "heure d’été de Lord Howe", "JST": "heure normale du Japon", "TMST": "heure d’été du Turkménistan", "UYST": "heure d’été de l’Uruguay", "MYT": "heure de la Malaisie", "WIT": "heure de l’Est indonésien", "AWDT": "heure d’été de l’Ouest de l’Australie", "EST": "heure normale de l’Est nord-américain", "ACWST": "heure normale du centre-ouest de l’Australie", "ARST": "heure d’été de l’Argentine", "WIB": "heure de l’Ouest indonésien", "GYT": "heure du Guyana", "HKST": "heure d’été de Hong Kong", "CST": "heure normale du centre nord-américain", "HNCU": "heure normale de Cuba", "CHADT": "heure d’été des îles Chatham", "CLT": "heure normale du Chili", "TMT": "heure normale du Turkménistan", "ECT": "heure de l’Équateur", "WART": "heure normale de l’Ouest argentin", "HNPMX": "heure normale du Pacifique mexicain", "HNOG": "heure normale de l’Ouest du Groenland", "MESZ": "heure d’été d’Europe centrale", "SAST": "heure normale d’Afrique méridionale", "ACST": "heure normale du centre de l’Australie", "MST": "heure normale de Macao", "AKDT": "heure d’été de l’Alaska", "ADT": "heure d’été de l’Atlantique", "NZST": "heure normale de la Nouvelle-Zélande", "CAT": "heure normale d’Afrique centrale", "EAT": "heure normale d’Afrique de l’Est", "HECU": "heure d’été de Cuba", "BT": "heure du Bhoutan", "PDT": "heure d’été du Pacifique", "CHAST": "heure normale des îles Chatham", "JDT": "heure d’été du Japon", "BOT": "heure de Bolivie", "MDT": "heure d’été de Macao", "ART": "heure normale d’Argentine", "AEDT": "heure d’été de l’Est de l’Australie", "AWST": "heure normale de l’Ouest de l’Australie", "MEZ": "heure normale d’Europe centrale", "LHST": "heure normale de Lord Howe", "NZDT": "heure d’été de la Nouvelle-Zélande", "WAST": "heure d’été d’Afrique de l’Ouest", "HENOMX": "heure d’été du Nord-Ouest du Mexique"}, } } @@ -431,7 +431,12 @@ func (fr *fr_YT) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (fr *fr_YT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (fr *fr_YT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (fr *fr_YT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fur/fur.go b/fur/fur.go index 324c49a67..16be12da1 100644 --- a/fur/fur.go +++ b/fur/fur.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Zen", "Fev", "Mar", "Avr", "Mai", "Jug", "Lui", "Avo", "Set", "Otu", "Nov", "Dic"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pdC", "ddC"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CST": "CST", "WEZ": "Ore standard de Europe ocidentâl", "WESZ": "Ore estive de Europe ocidentâl", "CDT": "CDT", "ChST": "ChST", "JST": "JST", "MYT": "MYT", "SRT": "SRT", "ARST": "ARST", "ADT": "ADT", "PST": "PST", "MST": "MST", "MDT": "MDT", "HKT": "HKT", "ACWST": "ACWST", "AEDT": "AEDT", "EDT": "EDT", "AWST": "AWST", "UYT": "UYT", "CHADT": "CHADT", "AEST": "AEST", "AKDT": "AKDT", "UYST": "UYST", "WIB": "WIB", "EST": "EST", "WITA": "WITA", "∅∅∅": "∅∅∅", "WIT": "WIT", "ECT": "ECT", "WART": "WART", "WAST": "WAST", "COST": "COST", "HADT": "HADT", "WARST": "WARST", "NZDT": "NZDT", "HNT": "HNT", "LHST": "LHST", "ACDT": "ACDT", "SGT": "SGT", "BT": "BT", "HAST": "HAST", "EAT": "EAT", "IST": "IST", "ACWDT": "ACWDT", "PDT": "PDT", "HAT": "HAT", "JDT": "JDT", "CHAST": "CHAST", "ACST": "ACST", "VET": "VET", "LHDT": "LHDT", "AST": "AST", "AKST": "AKST", "MEZ": "Ore standard de Europe centrâl", "WAT": "WAT", "TMT": "TMT", "CLT": "CLT", "ART": "ART", "NZST": "NZST", "BOT": "BOT", "GMT": "GMT", "OEZ": "Ore standard de Europe orientâl", "OESZ": "Ore estive de Europe orientâl", "GYT": "GYT", "CLST": "CLST", "HKST": "HKST", "GFT": "GFT", "MESZ": "Ore estive de Europe centrâl", "CAT": "CAT", "AWDT": "AWDT", "COT": "COT", "SAST": "SAST", "TMST": "TMST"}, + timezones: map[string]string{"JDT": "JDT", "HNEG": "HNEG", "WARST": "WARST", "UYST": "UYST", "WIT": "WIT", "SRT": "SRT", "HEOG": "HEOG", "PDT": "PDT", "ACWST": "ACWST", "HEPM": "HEPM", "NZDT": "NZDT", "AKST": "AKST", "ChST": "ChST", "CHADT": "CHADT", "CLT": "CLT", "BOT": "BOT", "ARST": "ARST", "HNPM": "HNPM", "GFT": "GFT", "ECT": "ECT", "AEST": "AEST", "PST": "PST", "HNCU": "HNCU", "EST": "EST", "ADT": "ADT", "CST": "CST", "AEDT": "AEDT", "OEZ": "Ore standard de Europe orientâl", "COT": "COT", "HNPMX": "HNPMX", "GYT": "GYT", "ACWDT": "ACWDT", "AWST": "AWST", "EAT": "EAT", "HECU": "HECU", "BT": "BT", "MST": "MST", "AWDT": "AWDT", "MEZ": "Ore standard de Europe centrâl", "HEEG": "HEEG", "WAST": "WAST", "UYT": "UYT", "WEZ": "Ore standard de Europe ocidentâl", "TMST": "TMST", "ACDT": "ACDT", "COST": "COST", "VET": "VET", "MYT": "MYT", "CDT": "CDT", "TMT": "TMT", "WAT": "WAT", "HEPMX": "HEPMX", "AKDT": "AKDT", "ART": "ART", "HNOG": "HNOG", "HAT": "HAT", "JST": "JST", "CAT": "CAT", "WART": "WART", "HENOMX": "HENOMX", "AST": "AST", "SGT": "SGT", "MESZ": "Ore estive de Europe centrâl", "HAST": "HAST", "LHST": "LHST", "CHAST": "CHAST", "IST": "IST", "∅∅∅": "∅∅∅", "ACST": "ACST", "HNNOMX": "HNNOMX", "MDT": "MDT", "HKST": "HKST", "CLST": "CLST", "OESZ": "Ore estive de Europe orientâl", "WESZ": "Ore estive de Europe ocidentâl", "HADT": "HADT", "HNT": "HNT", "HKT": "HKT", "WITA": "WITA", "LHDT": "LHDT", "NZST": "NZST", "SAST": "SAST", "WIB": "WIB", "EDT": "EDT", "GMT": "GMT"}, } } @@ -440,7 +440,12 @@ func (fur *fur) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +461,12 @@ func (fur *fur) FmtDateLong(t time.Time) string { b = append(b, fur.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x61, 0x6c}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +484,12 @@ func (fur *fur) FmtDateFull(t time.Time) string { b = append(b, fur.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x61, 0x6c}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fur_IT/fur_IT.go b/fur_IT/fur_IT.go index 1135da29c..829034e0b 100644 --- a/fur_IT/fur_IT.go +++ b/fur_IT/fur_IT.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Zen", "Fev", "Mar", "Avr", "Mai", "Jug", "Lui", "Avo", "Set", "Otu", "Nov", "Dic"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pdC", "ddC"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"IST": "IST", "LHST": "LHST", "VET": "VET", "SGT": "SGT", "COT": "COT", "WARST": "WARST", "MYT": "MYT", "CAT": "CAT", "LHDT": "LHDT", "ACDT": "ACDT", "PDT": "PDT", "TMST": "TMST", "MDT": "MDT", "ART": "ART", "ARST": "ARST", "UYT": "UYT", "AWST": "AWST", "WESZ": "Ore estive de Europe ocidentâl", "ECT": "ECT", "MEZ": "Ore standard de Europe centrâl", "AKDT": "AKDT", "ACWST": "ACWST", "AEST": "AEST", "EST": "EST", "GMT": "GMT", "NZST": "NZST", "WIT": "WIT", "CHADT": "CHADT", "ACST": "ACST", "EDT": "EDT", "MST": "MST", "ADT": "ADT", "WAST": "WAST", "ChST": "ChST", "HNT": "HNT", "GFT": "GFT", "CHAST": "CHAST", "ACWDT": "ACWDT", "PST": "PST", "OESZ": "Ore estive de Europe orientâl", "AEDT": "AEDT", "BT": "BT", "JDT": "JDT", "∅∅∅": "∅∅∅", "AKST": "AKST", "BOT": "BOT", "JST": "JST", "GYT": "GYT", "NZDT": "NZDT", "UYST": "UYST", "HKST": "HKST", "WIB": "WIB", "AST": "AST", "EAT": "EAT", "HKT": "HKT", "WART": "WART", "CST": "CST", "SAST": "SAST", "WITA": "WITA", "CLT": "CLT", "WEZ": "Ore standard de Europe ocidentâl", "WAT": "WAT", "CDT": "CDT", "OEZ": "Ore standard de Europe orientâl", "MESZ": "Ore estive de Europe centrâl", "HAT": "HAT", "COST": "COST", "CLST": "CLST", "AWDT": "AWDT", "SRT": "SRT", "HAST": "HAST", "HADT": "HADT", "TMT": "TMT"}, + timezones: map[string]string{"WAT": "WAT", "MEZ": "Ore standard de Europe centrâl", "CLT": "CLT", "BOT": "BOT", "AEDT": "AEDT", "NZDT": "NZDT", "HEPMX": "HEPMX", "CDT": "CDT", "HNOG": "HNOG", "WITA": "WITA", "EDT": "EDT", "HNEG": "HNEG", "OEZ": "Ore standard de Europe orientâl", "CAT": "CAT", "HENOMX": "HENOMX", "CST": "CST", "VET": "VET", "ACWDT": "ACWDT", "MDT": "MDT", "SRT": "SRT", "ACWST": "ACWST", "WIT": "WIT", "BT": "BT", "HAT": "HAT", "JDT": "JDT", "ECT": "ECT", "AKST": "AKST", "UYST": "UYST", "WIB": "WIB", "GMT": "GMT", "EST": "EST", "IST": "IST", "ACST": "ACST", "AST": "AST", "GYT": "GYT", "HEOG": "HEOG", "CHADT": "CHADT", "JST": "JST", "SGT": "SGT", "CLST": "CLST", "TMT": "TMT", "WART": "WART", "ART": "ART", "PDT": "PDT", "HKT": "HKT", "MYT": "MYT", "HNT": "HNT", "ACDT": "ACDT", "OESZ": "Ore estive de Europe orientâl", "COST": "COST", "HECU": "HECU", "HADT": "HADT", "WEZ": "Ore standard de Europe ocidentâl", "∅∅∅": "∅∅∅", "ChST": "ChST", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HNPMX": "HNPMX", "ADT": "ADT", "UYT": "UYT", "HNPM": "HNPM", "LHST": "LHST", "LHDT": "LHDT", "EAT": "EAT", "WARST": "WARST", "AKDT": "AKDT", "AEST": "AEST", "AWDT": "AWDT", "SAST": "SAST", "GFT": "GFT", "MST": "MST", "PST": "PST", "HKST": "HKST", "HEPM": "HEPM", "NZST": "NZST", "WAST": "WAST", "COT": "COT", "HAST": "HAST", "ARST": "ARST", "WESZ": "Ore estive de Europe ocidentâl", "HEEG": "HEEG", "TMST": "TMST", "AWST": "AWST", "CHAST": "CHAST", "MESZ": "Ore estive de Europe centrâl"}, } } @@ -440,7 +440,12 @@ func (fur *fur_IT) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +461,12 @@ func (fur *fur_IT) FmtDateLong(t time.Time) string { b = append(b, fur.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x61, 0x6c}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +484,12 @@ func (fur *fur_IT) FmtDateFull(t time.Time) string { b = append(b, fur.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x61, 0x6c}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fy/fy.go b/fy/fy.go index fc36bb135..4a6551087 100644 --- a/fy/fy.go +++ b/fy/fy.go @@ -56,15 +56,15 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "C$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJ$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SI$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "C$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJ$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SI$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: "( ", currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mai.", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "des."}, + monthsAbbreviated: []string{"", "Jan", "Feb", "Mrt", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "jannewaris", "febrewaris", "maart", "april", "maaie", "juny", "july", "augustus", "septimber", "oktober", "novimber", "desimber"}, + monthsWide: []string{"", "Jannewaris", "Febrewaris", "Maart", "April", "Maaie", "Juny", "July", "Augustus", "Septimber", "Oktober", "Novimber", "Desimber"}, daysAbbreviated: []string{"si", "mo", "ti", "wo", "to", "fr", "so"}, - daysNarrow: []string{"Z", "M", "D", "W", "D", "V", "Z"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, daysShort: []string{"si", "mo", "ti", "wo", "to", "fr", "so"}, daysWide: []string{"snein", "moandei", "tiisdei", "woansdei", "tongersdei", "freed", "sneon"}, periodsAbbreviated: []string{"AM", "PM"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "n.Kr."}, erasNarrow: []string{"f.K.", "n.K."}, erasWide: []string{"Foar Kristus", "nei Kristus"}, - timezones: map[string]string{"GFT": "Frâns-Guyaanske tiid", "AEDT": "East-Australyske simmertiid", "WARST": "West-Argentynske simmertiid", "PST": "Pasifik-standerttiid", "BOT": "Boliviaanske tiid", "HKST": "Hongkongse simmertiid", "SRT": "Surinaamske tiid", "PDT": "Pasifik-simmertiid", "CST": "Central-standerttiid", "LHDT": "Lord Howe-eilânske simmertiid", "GMT": "Greenwich Mean Time", "∅∅∅": "Acre-simmertiid", "AKDT": "Alaska-simmertiid", "ARST": "Argentynske simmertiid", "HADT": "Hawaii-Aleoetyske simmertiid", "SAST": "Sûd-Afrikaanske tiid", "WITA": "Sintraal-Yndonezyske tiid", "AWST": "West-Australyske standerttiid", "OESZ": "East-Europeeske simmertiid", "AST": "Atlantic-standerttiid", "AWDT": "West-Australyske simmertiid", "WEZ": "West-Europeeske standerttiid", "ART": "Argentynske standerttiid", "CHADT": "Chatham simmertiid", "ACST": "Midden-Australyske standerttiid", "COT": "Kolombiaanske standerttiid", "ACWST": "Midden-Australyske westelijke standerttiid", "AEST": "East-Australyske standerttiid", "EAT": "East-Afrikaanske tiid", "UYT": "Uruguayaanske standerttiid", "CHAST": "Chatham standerttiid", "ECT": "Ecuadoraanske tiid", "WIB": "West-Yndonezyske tiid", "MEZ": "Midden-Europeeske standerttiid", "MESZ": "Midden-Europeeske simmertiid", "AKST": "Alaska-standerttiid", "GYT": "Guyaanske tiid", "MST": "Mountain-standerttiid", "COST": "Kolombiaanske simmertiid", "LHST": "Lord Howe-eilânske standerttiid", "BT": "Bhutaanske tiid", "MDT": "Mountain-simmertiid", "NZDT": "Nij-Seelânske simmertiid", "ChST": "Chamorro-tiid", "HAT": "Newfoundlânske-simmertiid", "WIT": "East-Yndonezyske tiid", "SGT": "Singaporese standerttiid", "ACWDT": "Midden-Australyske westelijke simmertiid", "VET": "Fenezolaanske tiid", "EDT": "Eastern-simmertiid", "MYT": "Maleisyske tiid", "CDT": "Central-simmertiid", "JST": "Japanske standerttiid", "WAT": "West-Afrikaanske standerttiid", "UYST": "Uruguayaanske simmertiid", "IST": "Yndiaaske tiid", "NZST": "Nij-Seelânske standerttiid", "CAT": "Sintraal-Afrikaanske tiid", "JDT": "Japanske simmertiid", "ADT": "Atlantic-simmertiid", "WAST": "West-Afrikaanske simmertiid", "EST": "Eastern-standerttiid", "CLT": "Sileenske standerttiid", "HKT": "Hongkongse standerttiid", "OEZ": "East-Europeeske standerttiid", "ACDT": "Midden-Australyske simmertiid", "WART": "West-Argentynske standerttiid", "HAST": "Hawaii-Aleoetyske standerttiid", "TMT": "Turkmeense standerttiid", "TMST": "Turkmeense simmertiid", "HNT": "Newfoundlânske-standerttiid", "WESZ": "West-Europeeske simmertiid", "CLST": "Sileenske simmertiid"}, + timezones: map[string]string{"EST": "Eastern-standerttiid", "EDT": "Eastern-simmertiid", "UYST": "Uruguayaanske simmertiid", "CAT": "Sintraal-Afrikaanske tiid", "HNCU": "Kubaanske standerttiid", "PDT": "Pasifik-simmertiid", "WESZ": "West-Europeeske simmertiid", "AWST": "West-Australyske standerttiid", "ACDT": "Midden-Australyske simmertiid", "∅∅∅": "Peruaanske simmertiid", "AST": "Atlantic-standerttiid", "WIB": "West-Yndonezyske tiid", "HADT": "Hawaii-Aleoetyske simmertiid", "WITA": "Sintraal-Yndonezyske tiid", "ECT": "Ecuadoraanske tiid", "OEZ": "East-Europeeske standerttiid", "HNPMX": "HNPMX", "PST": "Pasifik-standerttiid", "NZST": "Nij-Seelânske standerttiid", "CHAST": "Chatham standerttiid", "LHST": "Lord Howe-eilânske standerttiid", "HNNOMX": "HNNOMX", "ADT": "Atlantic-simmertiid", "UYT": "Uruguayaanske standerttiid", "AKDT": "Alaska-simmertiid", "BT": "Bhutaanske tiid", "HNOG": "West-Groenlânske standerttiid", "CST": "Central-standerttiid", "WEZ": "West-Europeeske standerttiid", "TMT": "Turkmeense standerttiid", "HEEG": "East-Groenlânske simmertiid", "OESZ": "East-Europeeske simmertiid", "COST": "Kolombiaanske simmertiid", "HEPMX": "HEPMX", "MYT": "Maleisyske tiid", "HKT": "Hongkongse standerttiid", "BOT": "Boliviaanske tiid", "AEDT": "East-Australyske simmertiid", "HKST": "Hongkongse simmertiid", "WAT": "West-Afrikaanske standerttiid", "MDT": "Macause simmertiid", "ART": "Argentynske standerttiid", "AEST": "East-Australyske standerttiid", "AWDT": "West-Australyske simmertiid", "EAT": "East-Afrikaanske tiid", "WARST": "West-Argentynske simmertiid", "HEOG": "West-Groenlânske simmertiid", "IST": "Yndiaaske tiid", "GYT": "Guyaanske tiid", "ACWST": "Midden-Australyske westelijke standerttiid", "HAT": "Newfoundlânske-simmertiid", "HNPM": "Saint Pierre en Miquelon-standerttiid", "AKST": "Alaska-standerttiid", "HAST": "Hawaii-Aleoetyske standerttiid", "ACWDT": "Midden-Australyske westelijke simmertiid", "HNT": "Newfoundlânske-standerttiid", "SAST": "Sûd-Afrikaanske tiid", "JDT": "Japanske simmertiid", "WAST": "West-Afrikaanske simmertiid", "WART": "West-Argentynske standerttiid", "VET": "Fenezolaanske tiid", "HEPM": "Saint Pierre en Miquelon-simmertiid", "MESZ": "Midden-Europeeske simmertiid", "WIT": "East-Yndonezyske tiid", "SRT": "Surinaamske tiid", "TMST": "Turkmeense simmertiid", "GFT": "Frâns-Guyaanske tiid", "COT": "Kolombiaanske standerttiid", "HENOMX": "HENOMX", "GMT": "Greenwich Mean Time", "SGT": "Singaporese standerttiid", "CLST": "Sileenske simmertiid", "ChST": "Chamorro-tiid", "MST": "Macause standerttiid", "ARST": "Argentynske simmertiid", "CLT": "Sileenske standerttiid", "CHADT": "Chatham simmertiid", "HNEG": "East-Groenlânske standerttiid", "ACST": "Midden-Australyske standerttiid", "HECU": "Kubaanske simmertiid", "CDT": "Central-simmertiid", "MEZ": "Midden-Europeeske standerttiid", "NZDT": "Nij-Seelânske simmertiid", "LHDT": "Lord Howe-eilânske simmertiid", "JST": "Japanske standerttiid"}, } } @@ -437,7 +437,12 @@ func (fy *fy) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +456,12 @@ func (fy *fy) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,7 +477,12 @@ func (fy *fy) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/fy_NL/fy_NL.go b/fy_NL/fy_NL.go index 694a04cc9..af27e3946 100644 --- a/fy_NL/fy_NL.go +++ b/fy_NL/fy_NL.go @@ -56,15 +56,15 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: "( ", currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mai.", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "des."}, + monthsAbbreviated: []string{"", "Jan", "Feb", "Mrt", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "jannewaris", "febrewaris", "maart", "april", "maaie", "juny", "july", "augustus", "septimber", "oktober", "novimber", "desimber"}, + monthsWide: []string{"", "Jannewaris", "Febrewaris", "Maart", "April", "Maaie", "Juny", "July", "Augustus", "Septimber", "Oktober", "Novimber", "Desimber"}, daysAbbreviated: []string{"si", "mo", "ti", "wo", "to", "fr", "so"}, - daysNarrow: []string{"Z", "M", "D", "W", "D", "V", "Z"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, daysShort: []string{"si", "mo", "ti", "wo", "to", "fr", "so"}, daysWide: []string{"snein", "moandei", "tiisdei", "woansdei", "tongersdei", "freed", "sneon"}, periodsAbbreviated: []string{"AM", "PM"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "n.Kr."}, erasNarrow: []string{"f.K.", "n.K."}, erasWide: []string{"Foar Kristus", "nei Kristus"}, - timezones: map[string]string{"JDT": "Japanske simmertiid", "MESZ": "Midden-Europeeske simmertiid", "WESZ": "West-Europeeske simmertiid", "CHADT": "Chatham simmertiid", "AEST": "East-Australyske standerttiid", "CHAST": "Chatham standerttiid", "EAT": "East-Afrikaanske tiid", "TMST": "Turkmeense simmertiid", "NZST": "Nij-Seelânske standerttiid", "MEZ": "Midden-Europeeske standerttiid", "SAST": "Sûd-Afrikaanske tiid", "GYT": "Guyaanske tiid", "BOT": "Boliviaanske tiid", "CDT": "Central-simmertiid", "WIT": "East-Yndonezyske tiid", "HKST": "Hongkongse simmertiid", "HADT": "Hawaii-Aleoetyske simmertiid", "WARST": "West-Argentynske simmertiid", "EDT": "Eastern-simmertiid", "BT": "Bhutaanske tiid", "WEZ": "West-Europeeske standerttiid", "AST": "Atlantic-standerttiid", "ADT": "Atlantic-simmertiid", "OESZ": "East-Europeeske simmertiid", "ACST": "Midden-Australyske standerttiid", "SGT": "Singaporese standerttiid", "COT": "Kolombiaanske standerttiid", "IST": "Yndiaaske tiid", "TMT": "Turkmeense standerttiid", "ChST": "Chamorro-tiid", "∅∅∅": "Amazone-simmertiid", "WAT": "West-Afrikaanske standerttiid", "AEDT": "East-Australyske simmertiid", "PST": "Pasifik-standerttiid", "WITA": "Sintraal-Yndonezyske tiid", "CLT": "Sileenske standerttiid", "GMT": "Greenwich Mean Time", "ECT": "Ecuadoraanske tiid", "ACWST": "Midden-Australyske westelijke standerttiid", "WAST": "West-Afrikaanske simmertiid", "MYT": "Maleisyske tiid", "WIB": "West-Yndonezyske tiid", "ART": "Argentynske standerttiid", "WART": "West-Argentynske standerttiid", "EST": "Eastern-standerttiid", "PDT": "Pasifik-simmertiid", "OEZ": "East-Europeeske standerttiid", "ARST": "Argentynske simmertiid", "CST": "Central-standerttiid", "AWST": "West-Australyske standerttiid", "CLST": "Sileenske simmertiid", "UYT": "Uruguayaanske standerttiid", "JST": "Japanske standerttiid", "GFT": "Frâns-Guyaanske tiid", "NZDT": "Nij-Seelânske simmertiid", "MDT": "Mountain-simmertiid", "HAT": "Newfoundlânske-simmertiid", "UYST": "Uruguayaanske simmertiid", "HKT": "Hongkongse standerttiid", "ACWDT": "Midden-Australyske westelijke simmertiid", "AKDT": "Alaska-simmertiid", "AWDT": "West-Australyske simmertiid", "HNT": "Newfoundlânske-standerttiid", "VET": "Fenezolaanske tiid", "HAST": "Hawaii-Aleoetyske standerttiid", "AKST": "Alaska-standerttiid", "COST": "Kolombiaanske simmertiid", "MST": "Mountain-standerttiid", "CAT": "Sintraal-Afrikaanske tiid", "LHST": "Lord Howe-eilânske standerttiid", "LHDT": "Lord Howe-eilânske simmertiid", "SRT": "Surinaamske tiid", "ACDT": "Midden-Australyske simmertiid"}, + timezones: map[string]string{"HNOG": "West-Groenlânske standerttiid", "HNCU": "Kubaanske standerttiid", "UYST": "Uruguayaanske simmertiid", "WIB": "West-Yndonezyske tiid", "MST": "Mountain-standerttiid", "WAST": "West-Afrikaanske simmertiid", "HENOMX": "HENOMX", "SGT": "Singaporese standerttiid", "HAST": "Hawaii-Aleoetyske standerttiid", "NZST": "Nij-Seelânske standerttiid", "ACDT": "Midden-Australyske simmertiid", "ACST": "Midden-Australyske standerttiid", "OEZ": "East-Europeeske standerttiid", "CAT": "Sintraal-Afrikaanske tiid", "HNNOMX": "HNNOMX", "COT": "Kolombiaanske standerttiid", "HNPM": "Saint Pierre en Miquelon-standerttiid", "HEPM": "Saint Pierre en Miquelon-simmertiid", "NZDT": "Nij-Seelânske simmertiid", "PDT": "Pasifik-simmertiid", "AEST": "East-Australyske standerttiid", "AWDT": "West-Australyske simmertiid", "MEZ": "Midden-Europeeske standerttiid", "GFT": "Frâns-Guyaanske tiid", "CST": "Central-standerttiid", "AST": "Atlantic-standerttiid", "BT": "Bhutaanske tiid", "HEPMX": "HEPMX", "AKDT": "Alaska-simmertiid", "ADT": "Atlantic-simmertiid", "IST": "Yndiaaske tiid", "TMST": "Turkmeense simmertiid", "HECU": "Kubaanske simmertiid", "UYT": "Uruguayaanske standerttiid", "ACWDT": "Midden-Australyske westelijke simmertiid", "LHST": "Lord Howe-eilânske standerttiid", "ARST": "Argentynske simmertiid", "EST": "Eastern-standerttiid", "CDT": "Central-simmertiid", "SRT": "Surinaamske tiid", "HNT": "Newfoundlânske-standerttiid", "ChST": "Chamorro-tiid", "HNPMX": "HNPMX", "AKST": "Alaska-standerttiid", "MDT": "Mountain-simmertiid", "WEZ": "West-Europeeske standerttiid", "COST": "Kolombiaanske simmertiid", "MYT": "Maleisyske tiid", "WESZ": "West-Europeeske simmertiid", "CHAST": "Chatham standerttiid", "ECT": "Ecuadoraanske tiid", "EDT": "Eastern-simmertiid", "WIT": "East-Yndonezyske tiid", "HEOG": "West-Groenlânske simmertiid", "HNEG": "East-Groenlânske standerttiid", "ART": "Argentynske standerttiid", "AWST": "West-Australyske standerttiid", "JST": "Japanske standerttiid", "JDT": "Japanske simmertiid", "WAT": "West-Afrikaanske standerttiid", "EAT": "East-Afrikaanske tiid", "GMT": "Greenwich Mean Time", "HKST": "Hongkongse simmertiid", "AEDT": "East-Australyske simmertiid", "CHADT": "Chatham simmertiid", "TMT": "Turkmeense standerttiid", "BOT": "Boliviaanske tiid", "WART": "West-Argentynske standerttiid", "HAT": "Newfoundlânske-simmertiid", "PST": "Pasifik-standerttiid", "HEEG": "East-Groenlânske simmertiid", "ACWST": "Midden-Australyske westelijke standerttiid", "CLST": "Sileenske simmertiid", "HKT": "Hongkongse standerttiid", "WITA": "Sintraal-Yndonezyske tiid", "MESZ": "Midden-Europeeske simmertiid", "LHDT": "Lord Howe-eilânske simmertiid", "SAST": "Sûd-Afrikaanske tiid", "GYT": "Guyaanske tiid", "HADT": "Hawaii-Aleoetyske simmertiid", "VET": "Fenezolaanske tiid", "WARST": "West-Argentynske simmertiid", "∅∅∅": "Amazone-simmertiid", "CLT": "Sileenske standerttiid", "OESZ": "East-Europeeske simmertiid"}, } } @@ -437,7 +437,12 @@ func (fy *fy_NL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +456,12 @@ func (fy *fy_NL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,7 +477,12 @@ func (fy *fy_NL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, fy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ga/ga.go b/ga/ga.go index cf89ec712..dd650a499 100644 --- a/ga/ga.go +++ b/ga/ga.go @@ -47,7 +47,7 @@ func New() locales.Translator { locale: "ga", pluralsCardinal: []locales.PluralRule{2, 3, 4, 5, 6}, pluralsOrdinal: []locales.PluralRule{2, 6}, - pluralsRange: nil, + pluralsRange: []locales.PluralRule{2, 3, 4, 5, 6}, decimal: ".", group: ",", minus: "-", @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ean", "Feabh", "Márta", "Aib", "Beal", "Meith", "Iúil", "Lún", "MFómh", "DFómh", "Samh", "Noll"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"RC", "AD"}, erasWide: []string{"Roimh Chríost", "Anno Domini"}, - timezones: map[string]string{"EAT": "Am Oirthear na hAfraice", "SAST": "Am Caighdeánach na hAfraice Theas", "CST": "Am Caighdeánach Lárnach", "VET": "Am Veiniséala", "ARST": "Am Samhraidh na hAirgintíne", "AKST": "Am Caighdeánach Alasca", "EST": "Am Caighdeánach an Oirthir", "EDT": "Am Samhraidh an Oirthir", "MEZ": "Am Caighdeánach Lár na hEorpa", "OESZ": "Am Samhraidh Oirthear na hEorpa", "ACDT": "Am Samhraidh Lár na hAstráile", "WARST": "Am Samhraidh Iarthar na hAirgintíne", "WITA": "Am Lár na hIndinéise", "NZST": "Am Caighdeánach na Nua-Shéalainne", "WESZ": "Am Samhraidh Iarthar na hEorpa", "ECT": "Am Eacuadór", "IST": "Am Caighdeánach na hIndia", "HNT": "Am Caighdeánach Thalamh an Éisc", "SRT": "Am Shuranam", "OEZ": "Am Caighdeánach Oirthear na hEorpa", "WART": "Am Caighdeánach Iarthar na hAirgintíne", "ACWDT": "Am Samhraidh Mheániarthar na hAstráile", "UYT": "Am Caighdeánach Uragua", "SGT": "Am Caighdeánach Shingeapór", "COT": "Am Caighdeánach na Colóime", "BOT": "Am na Bolaive", "CLT": "Am Caighdeánach na Sile", "HAT": "Am Samhraidh Thalamh an Éisc", "LHST": "Am Caighdeánach Lord Howe", "GMT": "Meán-Am Greenwich", "ACST": "Am Caighdeánach Lár na hAstráile", "HADT": "Am Samhraidh Haváí-Ailiúit", "PDT": "Am Samhraidh an Aigéin Chiúin", "AST": "Am Caighdeánach an Atlantaigh", "MYT": "Am na Malaeisia", "∅∅∅": "Am Samhraidh na nAsór", "CLST": "Am Samhraidh na Sile", "HAST": "Am Caighdeánach Haváí-Ailiúit", "NZDT": "Am Samhraidh na Nua-Shéalainne", "CAT": "Am Lár na hAfraice", "UYST": "Am Samhraidh Uragua", "WEZ": "Am Caighdeánach Iarthar na hEorpa", "AEDT": "Am Samhraidh Oirthear na hAstráile", "ART": "Am Caighdeánach na hAirgintíne", "PST": "Am Caighdeánach an Aigéin Chiúin", "ChST": "Am Caighdeánach Seamórach", "AEST": "Am Caighdeánach Oirthear na hAstráile", "ADT": "Am Samhraidh an Atlantaigh", "MDT": "Am Samhraidh na Sléibhte", "JDT": "Am Samhraidh na Seapáine", "WAT": "Am Caighdeánach Iarthar na hAfraice", "WIT": "Am Oirthear na hIndinéise", "AWDT": "Am Samhraidh Iarthar na hAstráile", "LHDT": "Am Samhraidh Lord Howe", "MESZ": "Am Samhraidh Lár na hEorpa", "TMT": "Am Caighdeánach na Tuircméanastáine", "GYT": "Am na Guáine", "MST": "Am Caighdeánach na Sléibhte", "HKT": "Am Caighdeánach Hong Cong", "WIB": "Am Iarthar na hIndinéise", "AKDT": "Am Samhraidh Alasca", "AWST": "Am Caighdeánach Iarthar na hAstráile", "JST": "Am Caighdeánach na Seapáine", "HKST": "Am Samhraidh Hong Cong", "BT": "Am na Bútáine", "GFT": "Am Ghuáin na Fraince", "CHAST": "Am Caighdeánach Chatham", "CHADT": "Am Samhraidh Chatham", "ACWST": "Am Caighdeánach Mheániarthar na hAstráile", "WAST": "Am Samhraidh Iarthar na hAfraice", "TMST": "Am Samhraidh na Tuircméanastáine", "CDT": "Am Samhraidh Lárnach", "COST": "Am Samhraidh na Colóime"}, + timezones: map[string]string{"HKST": "Am Samhraidh Hong Cong", "IST": "Am Caighdeánach na hIndia", "HECU": "Am Samhraidh Chúba", "EST": "Am Caighdeánach an Oirthir", "HNPMX": "Am Caighdeánach Meicsiceach an Aigéin Chiúin", "CDT": "Am Samhraidh Lárnach", "MST": "Am Caighdeánach na Sléibhte", "AEDT": "Am Samhraidh Oirthear na hAstráile", "ECT": "Am Eacuadór", "COT": "Am Caighdeánach na Colóime", "SGT": "Am Caighdeánach Shingeapór", "BT": "Am na Bútáine", "WEZ": "Am Caighdeánach Iarthar na hEorpa", "MEZ": "Am Caighdeánach Lár na hEorpa", "SRT": "Am Shuranam", "ACWST": "Am Caighdeánach Mheániarthar na hAstráile", "HNT": "Am Caighdeánach Thalamh an Éisc", "AWDT": "Am Samhraidh Iarthar na hAstráile", "LHDT": "Am Samhraidh Lord Howe", "CST": "Am Caighdeánach Lárnach", "VET": "Am Veiniséala", "WIT": "Am Oirthear na hIndinéise", "CAT": "Am Lár na hAfraice", "MESZ": "Am Samhraidh Lár na hEorpa", "JST": "Am Caighdeánach na Seapáine", "WAST": "Am Samhraidh Iarthar na hAfraice", "HNNOMX": "Am Caighdeánach Iarthuaisceart Mheicsiceo", "GFT": "Am Ghuáin na Fraince", "TMST": "Am Samhraidh na Tuircméanastáine", "WAT": "Am Caighdeánach Iarthar na hAfraice", "ACST": "Am Caighdeánach Lár na hAstráile", "AEST": "Am Caighdeánach Oirthear na hAstráile", "AWST": "Am Caighdeánach Iarthar na hAstráile", "CLST": "Am Samhraidh na Sile", "HNCU": "Am Caighdeánach Chúba", "MYT": "Am na Malaeisia", "ART": "Am Caighdeánach na hAirgintíne", "∅∅∅": "Am Samhraidh na hAmasóine", "UYST": "Am Samhraidh Uragua", "AKST": "Am Caighdeánach Alasca", "HADT": "Am Samhraidh Haváí-Ailiúit", "TMT": "Am Caighdeánach na Tuircméanastáine", "OEZ": "Am Caighdeánach Oirthear na hEorpa", "WART": "Am Caighdeánach Iarthar na hAirgintíne", "HENOMX": "Am Samhraidh Iarthuaisceart Mheicsiceo", "ADT": "Am Samhraidh an Atlantaigh", "PDT": "Am Samhraidh an Aigéin Chiúin", "HNOG": "Am Caighdeánach Iarthar na Graonlainne", "EAT": "Am Oirthear na hAfraice", "EDT": "Am Samhraidh an Oirthir", "NZDT": "Am Samhraidh na Nua-Shéalainne", "HEEG": "Am Samhraidh Oirthear na Graonlainne", "COST": "Am Samhraidh na Colóime", "LHST": "Am Caighdeánach Lord Howe", "JDT": "Am Samhraidh na Seapáine", "ChST": "Am Caighdeánach Seamórach", "MDT": "Am Samhraidh na Sléibhte", "HEOG": "Am Samhraidh Iarthar na Graonlainne", "HNPM": "Am Caighdeánach Saint-Pierre-et-Miquelon", "ARST": "Am Samhraidh na hAirgintíne", "HKT": "Am Caighdeánach Hong Cong", "OESZ": "Am Samhraidh Oirthear na hEorpa", "UYT": "Am Caighdeánach Uragua", "HAST": "Am Caighdeánach Haváí-Ailiúit", "WESZ": "Am Samhraidh Iarthar na hEorpa", "CHADT": "Am Samhraidh Chatham", "BOT": "Am na Bolaive", "HNEG": "Am Caighdeánach Oirthear na Graonlainne", "ACDT": "Am Samhraidh Lár na hAstráile", "WARST": "Am Samhraidh Iarthar na hAirgintíne", "GYT": "Am na Guáine", "ACWDT": "Am Samhraidh Mheániarthar na hAstráile", "HAT": "Am Samhraidh Thalamh an Éisc", "PST": "Am Caighdeánach an Aigéin Chiúin", "HEPM": "Am Samhraidh Saint-Pierre-et-Miquelon", "NZST": "Am Caighdeánach na Nua-Shéalainne", "CHAST": "Am Caighdeánach Chatham", "HEPMX": "Am Samhraidh Meicsiceach an Aigéin Chiúin", "AKDT": "Am Samhraidh Alasca", "AST": "Am Caighdeánach an Atlantaigh", "WIB": "Am Iarthar na hIndinéise", "GMT": "Meán-Am Greenwich", "WITA": "Am Lár na hIndinéise", "SAST": "Am Caighdeánach na hAfraice Theas", "CLT": "Am Caighdeánach na Sile"}, } } @@ -127,7 +127,46 @@ func (ga *ga) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'ga' func (ga *ga) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + + start := ga.CardinalPluralRule(num1, v1) + end := ga.CardinalPluralRule(num2, v2) + + if start == locales.PluralRuleOne && end == locales.PluralRuleTwo { + return locales.PluralRuleTwo + } else if start == locales.PluralRuleOne && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOne && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleFew && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleFew && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleMany && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOther && end == locales.PluralRuleTwo { + return locales.PluralRuleTwo + } else if start == locales.PluralRuleOther && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOther && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } + + return locales.PluralRuleOther + } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -418,7 +457,12 @@ func (ga *ga) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -432,7 +476,12 @@ func (ga *ga) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +495,12 @@ func (ga *ga) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +516,12 @@ func (ga *ga) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ga_IE/ga_IE.go b/ga_IE/ga_IE.go index 6997fb66a..8cc79facf 100644 --- a/ga_IE/ga_IE.go +++ b/ga_IE/ga_IE.go @@ -47,7 +47,7 @@ func New() locales.Translator { locale: "ga_IE", pluralsCardinal: []locales.PluralRule{2, 3, 4, 5, 6}, pluralsOrdinal: []locales.PluralRule{2, 6}, - pluralsRange: nil, + pluralsRange: []locales.PluralRule{2, 3, 4, 5, 6}, decimal: ".", group: ",", minus: "-", @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ean", "Feabh", "Márta", "Aib", "Beal", "Meith", "Iúil", "Lún", "MFómh", "DFómh", "Samh", "Noll"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"RC", "AD"}, erasWide: []string{"Roimh Chríost", "Anno Domini"}, - timezones: map[string]string{"EDT": "Am Samhraidh an Oirthir", "UYT": "Am Caighdeánach Uragua", "HAST": "Am Caighdeánach Haváí-Ailiúit", "ARST": "Am Samhraidh na hAirgintíne", "GMT": "Meán-Am Greenwich", "GFT": "Am Ghuáin na Fraince", "PDT": "Am Samhraidh an Aigéin Chiúin", "TMT": "Am Caighdeánach na Tuircméanastáine", "GYT": "Am na Guáine", "CAT": "Am Lár na hAfraice", "HNT": "Am Caighdeánach Thalamh an Éisc", "CLT": "Am Caighdeánach na Sile", "ART": "Am Caighdeánach na hAirgintíne", "ACST": "Am Caighdeánach Lár na hAstráile", "ACDT": "Am Samhraidh Lár na hAstráile", "WAST": "Am Samhraidh Iarthar na hAfraice", "MYT": "Am na Malaeisia", "UYST": "Am Samhraidh Uragua", "EAT": "Am Oirthear na hAfraice", "SAST": "Am Caighdeánach na hAfraice Theas", "WITA": "Am Lár na hIndinéise", "SGT": "Am Caighdeánach Shingeapór", "∅∅∅": "Am Samhraidh na nAsór", "BT": "Am na Bútáine", "CHAST": "Am Caighdeánach Chatham", "VET": "Am Veiniséala", "WIB": "Am Iarthar na hIndinéise", "ACWDT": "Am Samhraidh Mheániarthar na hAstráile", "PST": "Am Caighdeánach an Aigéin Chiúin", "ChST": "Am Caighdeánach Seamórach", "BOT": "Am na Bolaive", "HKST": "Am Samhraidh Hong Cong", "WARST": "Am Samhraidh Iarthar na hAirgintíne", "AKDT": "Am Samhraidh Alasca", "ADT": "Am Samhraidh an Atlantaigh", "CLST": "Am Samhraidh na Sile", "SRT": "Am Shuranam", "AEDT": "Am Samhraidh Oirthear na hAstráile", "AWDT": "Am Samhraidh Iarthar na hAstráile", "LHDT": "Am Samhraidh Lord Howe", "MEZ": "Am Caighdeánach Lár na hEorpa", "CST": "Am Caighdeánach Lárnach", "MST": "Am Caighdeánach na Sléibhte", "AWST": "Am Caighdeánach Iarthar na hAstráile", "IST": "Am Caighdeánach na hIndia", "AKST": "Am Caighdeánach Alasca", "AEST": "Am Caighdeánach Oirthear na hAstráile", "HAT": "Am Samhraidh Thalamh an Éisc", "HKT": "Am Caighdeánach Hong Cong", "HADT": "Am Samhraidh Haváí-Ailiúit", "MDT": "Am Samhraidh na Sléibhte", "NZDT": "Am Samhraidh na Nua-Shéalainne", "JDT": "Am Samhraidh na Seapáine", "OESZ": "Am Samhraidh Oirthear na hEorpa", "COT": "Am Caighdeánach na Colóime", "ECT": "Am Eacuadór", "WAT": "Am Caighdeánach Iarthar na hAfraice", "EST": "Am Caighdeánach an Oirthir", "LHST": "Am Caighdeánach Lord Howe", "WESZ": "Am Samhraidh Iarthar na hEorpa", "CHADT": "Am Samhraidh Chatham", "WART": "Am Caighdeánach Iarthar na hAirgintíne", "COST": "Am Samhraidh na Colóime", "ACWST": "Am Caighdeánach Mheániarthar na hAstráile", "NZST": "Am Caighdeánach na Nua-Shéalainne", "WIT": "Am Oirthear na hIndinéise", "JST": "Am Caighdeánach na Seapáine", "OEZ": "Am Caighdeánach Oirthear na hEorpa", "WEZ": "Am Caighdeánach Iarthar na hEorpa", "MESZ": "Am Samhraidh Lár na hEorpa", "AST": "Am Caighdeánach an Atlantaigh", "TMST": "Am Samhraidh na Tuircméanastáine", "CDT": "Am Samhraidh Lárnach"}, + timezones: map[string]string{"GFT": "Am Ghuáin na Fraince", "EAT": "Am Oirthear na hAfraice", "ACWST": "Am Caighdeánach Mheániarthar na hAstráile", "GMT": "Meán-Am Greenwich", "SGT": "Am Caighdeánach Shingeapór", "AKST": "Am Caighdeánach Alasca", "MST": "Am Caighdeánach na Sléibhte", "BT": "Am na Bútáine", "WITA": "Am Lár na hIndinéise", "HEPM": "Am Samhraidh Saint-Pierre-et-Miquelon", "TMST": "Am Samhraidh na Tuircméanastáine", "HEPMX": "Am Samhraidh Meicsiceach an Aigéin Chiúin", "CST": "Am Caighdeánach Lárnach", "WIB": "Am Iarthar na hIndinéise", "ART": "Am Caighdeánach na hAirgintíne", "CLT": "Am Caighdeánach na Sile", "∅∅∅": "Am Samhraidh na hAmasóine", "EST": "Am Caighdeánach an Oirthir", "HKT": "Am Caighdeánach Hong Cong", "ChST": "Am Caighdeánach Seamórach", "HNEG": "Am Caighdeánach Oirthear na Graonlainne", "HEEG": "Am Samhraidh Oirthear na Graonlainne", "WAT": "Am Caighdeánach Iarthar na hAfraice", "AST": "Am Caighdeánach an Atlantaigh", "HAST": "Am Caighdeánach Haváí-Ailiúit", "HNOG": "Am Caighdeánach Iarthar na Graonlainne", "MESZ": "Am Samhraidh Lár na hEorpa", "TMT": "Am Caighdeánach na Tuircméanastáine", "AWST": "Am Caighdeánach Iarthar na hAstráile", "AWDT": "Am Samhraidh Iarthar na hAstráile", "NZST": "Am Caighdeánach na Nua-Shéalainne", "SAST": "Am Caighdeánach na hAfraice Theas", "IST": "Am Caighdeánach na hIndia", "MYT": "Am na Malaeisia", "UYT": "Am Caighdeánach Uragua", "UYST": "Am Samhraidh Uragua", "WAST": "Am Samhraidh Iarthar na hAfraice", "COST": "Am Samhraidh na Colóime", "HNNOMX": "Am Caighdeánach Iarthuaisceart Mheicsiceo", "ACST": "Am Caighdeánach Lár na hAstráile", "GYT": "Am na Guáine", "HADT": "Am Samhraidh Haváí-Ailiúit", "WEZ": "Am Caighdeánach Iarthar na hEorpa", "CHADT": "Am Samhraidh Chatham", "CLST": "Am Samhraidh na Sile", "WART": "Am Caighdeánach Iarthar na hAirgintíne", "AKDT": "Am Samhraidh Alasca", "ARST": "Am Samhraidh na hAirgintíne", "HNPM": "Am Caighdeánach Saint-Pierre-et-Miquelon", "HNT": "Am Caighdeánach Thalamh an Éisc", "AEDT": "Am Samhraidh Oirthear na hAstráile", "EDT": "Am Samhraidh an Oirthir", "ADT": "Am Samhraidh an Atlantaigh", "WIT": "Am Oirthear na hIndinéise", "HEOG": "Am Samhraidh Iarthar na Graonlainne", "WESZ": "Am Samhraidh Iarthar na hEorpa", "HAT": "Am Samhraidh Thalamh an Éisc", "NZDT": "Am Samhraidh na Nua-Shéalainne", "COT": "Am Caighdeánach na Colóime", "HNCU": "Am Caighdeánach Chúba", "PST": "Am Caighdeánach an Aigéin Chiúin", "AEST": "Am Caighdeánach Oirthear na hAstráile", "BOT": "Am na Bolaive", "HKST": "Am Samhraidh Hong Cong", "LHDT": "Am Samhraidh Lord Howe", "CHAST": "Am Caighdeánach Chatham", "JST": "Am Caighdeánach na Seapáine", "CAT": "Am Lár na hAfraice", "MDT": "Am Samhraidh na Sléibhte", "VET": "Am Veiniséala", "PDT": "Am Samhraidh an Aigéin Chiúin", "OEZ": "Am Caighdeánach Oirthear na hEorpa", "HNPMX": "Am Caighdeánach Meicsiceach an Aigéin Chiúin", "ECT": "Am Eacuadór", "WARST": "Am Samhraidh Iarthar na hAirgintíne", "SRT": "Am Shuranam", "ACDT": "Am Samhraidh Lár na hAstráile", "OESZ": "Am Samhraidh Oirthear na hEorpa", "JDT": "Am Samhraidh na Seapáine", "CDT": "Am Samhraidh Lárnach", "ACWDT": "Am Samhraidh Mheániarthar na hAstráile", "LHST": "Am Caighdeánach Lord Howe", "MEZ": "Am Caighdeánach Lár na hEorpa", "HENOMX": "Am Samhraidh Iarthuaisceart Mheicsiceo", "HECU": "Am Samhraidh Chúba"}, } } @@ -127,7 +127,46 @@ func (ga *ga_IE) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'ga_IE' func (ga *ga_IE) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + + start := ga.CardinalPluralRule(num1, v1) + end := ga.CardinalPluralRule(num2, v2) + + if start == locales.PluralRuleOne && end == locales.PluralRuleTwo { + return locales.PluralRuleTwo + } else if start == locales.PluralRuleOne && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOne && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleTwo && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleFew && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleFew && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleFew && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleMany && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } else if start == locales.PluralRuleMany && end == locales.PluralRuleOther { + return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOther && end == locales.PluralRuleTwo { + return locales.PluralRuleTwo + } else if start == locales.PluralRuleOther && end == locales.PluralRuleFew { + return locales.PluralRuleFew + } else if start == locales.PluralRuleOther && end == locales.PluralRuleMany { + return locales.PluralRuleMany + } + + return locales.PluralRuleOther + } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -418,7 +457,12 @@ func (ga *ga_IE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -432,7 +476,12 @@ func (ga *ga_IE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,7 +495,12 @@ func (ga *ga_IE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +516,12 @@ func (ga *ga_IE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ga.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gd/gd.go b/gd/gd.go index 9e61452ac..113ed6b89 100644 --- a/gd/gd.go +++ b/gd/gd.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Faoi", "Gearr", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùna", "Sult", "Dàmh", "Samh", "Dùbh"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"R", "A"}, erasWide: []string{"Ro Chrìosta", "An dèidh Chrìosta"}, - timezones: map[string]string{"AKDT": "Tìde samhraidh Alaska", "CDT": "Tìde samhraidh Meadhan Aimeireaga a Tuath", "BT": "Àm Butàin", "GMT": "Greenwich Mean Time", "WARST": "Tìde samhraidh na h-Argantaine Siaraich", "ACWST": "Bun-àm Meadhan Astràilia an Iar", "HKT": "Bun-àm Hong Kong", "WIB": "Àm nan Innd-Innse an Iar", "HADT": "Tìde Samhraidh nan Eileanan Hawai’i ’s Aleutach", "AST": "Bun-àm a’ Chuain Siar", "TMST": "Tìde samhraidh Turcmanastàin", "ChST": "Àm Chamorro", "HNT": "Bun-àm Talamh an Èisg", "CLT": "Bun-àm na Sile", "HKST": "Tìde samhraidh Hong Kong", "AEST": "Bun-àm Astràilia an Ear", "WAT": "Bun-àm Afraga an Iar", "UYT": "Bun-àm Uruguaidh", "JDT": "Tìde samhraidh na Seapaine", "CHADT": "Tìde samhraidh Chatham", "ART": "Bun-àm na h-Argantaine", "COST": "Tìde samhraidh Coloimbia", "WAST": "Tìde Samhraidh Afraga an Iar", "GYT": "Àm Guidheàna", "ARST": "Tìde samhraidh na h-Argantaine", "AKST": "Bun-àm Alaska", "∅∅∅": "Tìde samhraidh Pearù", "LHDT": "Tìde samhraidh Lord Howe", "OEZ": "Bun-àm na Roinn-Eòrpa an Ear", "IST": "Àm nan Innseachan", "PDT": "Tìde samhraidh a’ Chuain Sèimh", "EAT": "Àm Afraga an Ear", "TMT": "Bun-àm Turcmanastàin", "MST": "Bun-àm Monadh Aimeireaga a Tuath", "WIT": "Àm nan Innd-Innse an Ear", "JST": "Bun-àm na Seapaine", "MESZ": "Tìde samhraidh Meadhan na Roinn-Eòrpa", "AEDT": "Tìde samhraidh Astràilia an Ear", "PST": "Bun-àm a’ Chuain Sèimh", "MDT": "Tìde samhraidh Monadh Aimeireaga a Tuath", "MEZ": "Bun-àm Meadhan na Roinn-Eòrpa", "EST": "Bun-àm Aimeireaga a Tuath an Ear", "UYST": "Tìde samhraidh Uruguaidh", "VET": "Àm na Bheiniseala", "ACDT": "Tìde samhraidh Meadhan Astràilia", "MYT": "Àm Mhalaidhsea", "NZST": "Bun-àm Shealainn Nuaidh", "NZDT": "Tìde samhraidh Shealainn Nuaidh", "CAT": "Àm Meadhan Afraga", "ECT": "Àm Eacuadoir", "SAST": "Àm Afraga a Deas", "WART": "Bun-àm na h-Argantaine Siaraich", "LHST": "Bun-àm Lord Howe", "OESZ": "Tìde samhraidh na Roinn-Eòrpa an Ear", "ACST": "Bun-àm Meadhan Astràilia", "SGT": "Àm Singeapòr", "ACWDT": "Tìde samhraidh Meadhan Astràilia an Iar", "EDT": "Tìde samhraidh Aimeireaga a Tuath an Ear", "WITA": "Àm Meadhan nan Innd-Innse", "AWST": "Bun-àm Astràilia an Iar", "HAT": "Tìde samhraidh Talamh an Èisg", "GFT": "Àm Guidheàna na Frainge", "WEZ": "Bun-àm na Roinn-Eòrpa an Iar", "HAST": "Bun-àm nan Eileanan Hawai’i ’s Aleutach", "CLST": "Tìde samhraidh na Sile", "WESZ": "Tìde samhraidh na Roinn-Eòrpa an Iar", "COT": "Bun-àm Coloimbia", "ADT": "Tìde samhraidh a’ Chuain Siar", "CHAST": "Bun-àm Chatham", "BOT": "Àm Boilibhia", "AWDT": "Tìde samhraidh Astràilia an Iar", "SRT": "Àm Suranaim", "CST": "Bun-àm Meadhan Aimeireaga a Tuath"}, + timezones: map[string]string{"BT": "Àm Butàin", "∅∅∅": "Tìde samhraidh Amasoin", "EAT": "Àm Afraga an Ear", "ADT": "Tìde samhraidh a’ Chuain Siar", "VET": "Àm na Bheiniseala", "SGT": "Àm Singeapòr", "UYST": "Tìde samhraidh Uruguaidh", "HEPM": "Tìde Samhraidh Saint Pierre agus Miquelon", "CHAST": "Bun-àm Chatham", "WAT": "Bun-àm Afraga an Iar", "COT": "Bun-àm Coloimbia", "GMT": "Greenwich Mean Time", "MDT": "Tìde samhraidh Macàthu", "EDT": "Tìde samhraidh Aimeireaga a Tuath an Ear", "AKST": "Bun-àm Alaska", "IST": "Àm nan Innseachan", "GFT": "Àm Guidheàna na Frainge", "HAT": "Tìde samhraidh Talamh an Èisg", "MEZ": "Bun-àm Meadhan na Roinn-Eòrpa", "TMT": "Bun-àm Turcmanastàin", "TMST": "Tìde samhraidh Turcmanastàin", "WEZ": "Bun-àm na Roinn-Eòrpa an Iar", "HNPMX": "Bun-àm a’ Chuain Sèimh Mheagsago", "ART": "Bun-àm na h-Argantaine", "AWDT": "Tìde samhraidh Astràilia an Iar", "HNNOMX": "Bun-àm Mheagsago an Iar-thuath", "HEPMX": "Tìde samhraidh a’ Chuain Sèimh Mheagsago", "AKDT": "Tìde samhraidh Alaska", "CDT": "Tìde samhraidh Meadhan Aimeireaga a Tuath", "NZST": "Bun-àm Shealainn Nuaidh", "SAST": "Àm Afraga a Deas", "JST": "Bun-àm na Seapaine", "WAST": "Tìde Samhraidh Afraga an Iar", "HADT": "Tìde Samhraidh nan Eileanan Hawai’i ’s Aleutach", "AWST": "Bun-àm Astràilia an Iar", "AST": "Bun-àm a’ Chuain Siar", "HAST": "Bun-àm nan Eileanan Hawai’i ’s Aleutach", "ACWST": "Bun-àm Meadhan Astràilia an Iar", "PDT": "Tìde samhraidh a’ Chuain Sèimh", "CLT": "Bun-àm na Sile", "ACST": "Bun-àm Meadhan Astràilia", "ECT": "Àm Eacuadoir", "COST": "Tìde samhraidh Coloimbia", "HKT": "Bun-àm Hong Kong", "EST": "Bun-àm Aimeireaga a Tuath an Ear", "UYT": "Bun-àm Uruguaidh", "WIB": "Àm nan Innd-Innse an Iar", "HNT": "Bun-àm Talamh an Èisg", "CLST": "Tìde samhraidh na Sile", "BOT": "Àm Boilibhia", "HENOMX": "Tìde samhraidh Mheagsago an Iar-thuath", "HNCU": "Bun-àm Cùba", "HEOG": "Tìde samhraidh na Graonlainn an Iar", "AEST": "Bun-àm Astràilia an Ear", "ACDT": "Tìde samhraidh Meadhan Astràilia", "HECU": "Tìde samhraidh Cùba", "WART": "Bun-àm na h-Argantaine Siaraich", "WITA": "Àm Meadhan nan Innd-Innse", "HNPM": "Bun-àm Saint Pierre agus Miquelon", "LHST": "Bun-àm Lord Howe", "HEEG": "Tìde samhraidh na Graonlainn an Ear", "HKST": "Tìde samhraidh Hong Kong", "WARST": "Tìde samhraidh na h-Argantaine Siaraich", "ARST": "Tìde samhraidh na h-Argantaine", "AEDT": "Tìde samhraidh Astràilia an Ear", "NZDT": "Tìde samhraidh Shealainn Nuaidh", "MESZ": "Tìde samhraidh Meadhan na Roinn-Eòrpa", "HNEG": "Bun-àm na Graonlainn an Ear", "OEZ": "Bun-àm na Roinn-Eòrpa an Ear", "ACWDT": "Tìde samhraidh Meadhan Astràilia an Iar", "CST": "Bun-àm Meadhan Aimeireaga a Tuath", "WIT": "Àm nan Innd-Innse an Ear", "SRT": "Àm Suranaim", "WESZ": "Tìde samhraidh na Roinn-Eòrpa an Iar", "LHDT": "Tìde samhraidh Lord Howe", "MST": "Bun-àm Macàthu", "CAT": "Àm Meadhan Afraga", "GYT": "Àm Guidheàna", "MYT": "Àm Mhalaidhsea", "HNOG": "Bun-àm na Graonlainn an Iar", "CHADT": "Tìde samhraidh Chatham", "JDT": "Tìde samhraidh na Seapaine", "ChST": "Àm Chamorro", "OESZ": "Tìde samhraidh na Roinn-Eòrpa an Ear", "PST": "Bun-àm a’ Chuain Sèimh"}, } } @@ -409,7 +409,12 @@ func (gd *gd) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (gd *gd) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +448,12 @@ func (gd *gd) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +470,12 @@ func (gd *gd) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gd_GB/gd_GB.go b/gd_GB/gd_GB.go index f3ee33abe..489f16467 100644 --- a/gd_GB/gd_GB.go +++ b/gd_GB/gd_GB.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Faoi", "Gearr", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùna", "Sult", "Dàmh", "Samh", "Dùbh"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"R", "A"}, erasWide: []string{"Ro Chrìosta", "An dèidh Chrìosta"}, - timezones: map[string]string{"UYST": "Tìde samhraidh Uruguaidh", "WESZ": "Tìde samhraidh na Roinn-Eòrpa an Iar", "WIB": "Àm nan Innd-Innse an Iar", "WAST": "Tìde Samhraidh Afraga an Iar", "PDT": "Tìde samhraidh a’ Chuain Sèimh", "ADT": "Tìde samhraidh a’ Chuain Siar", "MESZ": "Tìde samhraidh Meadhan na Roinn-Eòrpa", "ACST": "Bun-àm Meadhan Astràilia", "COT": "Bun-àm Coloimbia", "COST": "Tìde samhraidh Coloimbia", "HAST": "Bun-àm nan Eileanan Hawai’i ’s Aleutach", "SAST": "Àm Afraga a Deas", "CAT": "Àm Meadhan Afraga", "AWDT": "Tìde samhraidh Astràilia an Iar", "∅∅∅": "Tìde samhraidh Bhrasilia", "ECT": "Àm Eacuadoir", "BT": "Àm Butàin", "OESZ": "Tìde samhraidh na Roinn-Eòrpa an Ear", "AEST": "Bun-àm Astràilia an Ear", "NZDT": "Tìde samhraidh Shealainn Nuaidh", "AEDT": "Tìde samhraidh Astràilia an Ear", "NZST": "Bun-àm Shealainn Nuaidh", "VET": "Àm na Bheiniseala", "AKDT": "Tìde samhraidh Alaska", "MYT": "Àm Mhalaidhsea", "JDT": "Tìde samhraidh na Seapaine", "SGT": "Àm Singeapòr", "ARST": "Tìde samhraidh na h-Argantaine", "GYT": "Àm Guidheàna", "LHDT": "Tìde samhraidh Lord Howe", "WEZ": "Bun-àm na Roinn-Eòrpa an Iar", "ACDT": "Tìde samhraidh Meadhan Astràilia", "ACWDT": "Tìde samhraidh Meadhan Astràilia an Iar", "AST": "Bun-àm a’ Chuain Siar", "CHADT": "Tìde samhraidh Chatham", "SRT": "Àm Suranaim", "CDT": "Tìde samhraidh Meadhan Aimeireaga a Tuath", "AWST": "Bun-àm Astràilia an Iar", "CLST": "Tìde samhraidh na Sile", "OEZ": "Bun-àm na Roinn-Eòrpa an Ear", "HKT": "Bun-àm Hong Kong", "HNT": "Bun-àm Talamh an Èisg", "WIT": "Àm nan Innd-Innse an Ear", "UYT": "Bun-àm Uruguaidh", "HKST": "Tìde samhraidh Hong Kong", "IST": "Àm nan Innseachan", "CST": "Bun-àm Meadhan Aimeireaga a Tuath", "MDT": "Tìde samhraidh Monadh Aimeireaga a Tuath", "GMT": "Greenwich Mean Time", "CHAST": "Bun-àm Chatham", "MEZ": "Bun-àm Meadhan na Roinn-Eòrpa", "EAT": "Àm Afraga an Ear", "WITA": "Àm Meadhan nan Innd-Innse", "TMT": "Bun-àm Turcmanastàin", "TMST": "Tìde samhraidh Turcmanastàin", "GFT": "Àm Guidheàna na Frainge", "ART": "Bun-àm na h-Argantaine", "WART": "Bun-àm na h-Argantaine Siaraich", "MST": "Bun-àm Monadh Aimeireaga a Tuath", "CLT": "Bun-àm na Sile", "JST": "Bun-àm na Seapaine", "HADT": "Tìde Samhraidh nan Eileanan Hawai’i ’s Aleutach", "AKST": "Bun-àm Alaska", "EST": "Bun-àm Aimeireaga a Tuath an Ear", "ChST": "Àm Chamorro", "BOT": "Àm Boilibhia", "LHST": "Bun-àm Lord Howe", "ACWST": "Bun-àm Meadhan Astràilia an Iar", "WARST": "Tìde samhraidh na h-Argantaine Siaraich", "WAT": "Bun-àm Afraga an Iar", "EDT": "Tìde samhraidh Aimeireaga a Tuath an Ear", "PST": "Bun-àm a’ Chuain Sèimh", "HAT": "Tìde samhraidh Talamh an Èisg"}, + timezones: map[string]string{"MST": "Bun-àm Macàthu", "WIT": "Àm nan Innd-Innse an Ear", "HEOG": "Tìde samhraidh na Graonlainn an Iar", "HEPM": "Tìde Samhraidh Saint Pierre agus Miquelon", "GFT": "Àm Guidheàna na Frainge", "WART": "Bun-àm na h-Argantaine Siaraich", "∅∅∅": "Tìde samhraidh Pearù", "UYT": "Bun-àm Uruguaidh", "WITA": "Àm Meadhan nan Innd-Innse", "AEST": "Bun-àm Astràilia an Ear", "HNPM": "Bun-àm Saint Pierre agus Miquelon", "HNEG": "Bun-àm na Graonlainn an Ear", "OESZ": "Tìde samhraidh na Roinn-Eòrpa an Ear", "BOT": "Àm Boilibhia", "HNNOMX": "Bun-àm Mheagsago an Iar-thuath", "HNT": "Bun-àm Talamh an Èisg", "PST": "Bun-àm a’ Chuain Sèimh", "HADT": "Tìde Samhraidh nan Eileanan Hawai’i ’s Aleutach", "ACWDT": "Tìde samhraidh Meadhan Astràilia an Iar", "MYT": "Àm Mhalaidhsea", "ARST": "Tìde samhraidh na h-Argantaine", "LHST": "Bun-àm Lord Howe", "MESZ": "Tìde samhraidh Meadhan na Roinn-Eòrpa", "TMST": "Tìde samhraidh Turcmanastàin", "HNPMX": "Bun-àm a’ Chuain Sèimh Mheagsago", "HENOMX": "Tìde samhraidh Mheagsago an Iar-thuath", "AWDT": "Tìde samhraidh Astràilia an Iar", "ChST": "Àm Chamorro", "COST": "Tìde samhraidh Coloimbia", "VET": "Àm na Bheiniseala", "NZDT": "Tìde samhraidh Shealainn Nuaidh", "CST": "Bun-àm Meadhan Aimeireaga a Tuath", "WIB": "Àm nan Innd-Innse an Iar", "WESZ": "Tìde samhraidh na Roinn-Eòrpa an Iar", "PDT": "Tìde samhraidh a’ Chuain Sèimh", "LHDT": "Tìde samhraidh Lord Howe", "NZST": "Bun-àm Shealainn Nuaidh", "CLT": "Bun-àm na Sile", "CLST": "Tìde samhraidh na Sile", "ACDT": "Tìde samhraidh Meadhan Astràilia", "AKDT": "Tìde samhraidh Alaska", "COT": "Bun-àm Coloimbia", "WARST": "Tìde samhraidh na h-Argantaine Siaraich", "GYT": "Àm Guidheàna", "HAST": "Bun-àm nan Eileanan Hawai’i ’s Aleutach", "ACST": "Bun-àm Meadhan Astràilia", "OEZ": "Bun-àm na Roinn-Eòrpa an Ear", "BT": "Àm Butàin", "ACWST": "Bun-àm Meadhan Astràilia an Iar", "JDT": "Tìde samhraidh na Seapaine", "WAST": "Tìde Samhraidh Afraga an Iar", "MDT": "Tìde samhraidh Macàthu", "AEDT": "Tìde samhraidh Astràilia an Ear", "IST": "Àm nan Innseachan", "CDT": "Tìde samhraidh Meadhan Aimeireaga a Tuath", "HKT": "Bun-àm Hong Kong", "EST": "Bun-àm Aimeireaga a Tuath an Ear", "AKST": "Bun-àm Alaska", "AST": "Bun-àm a’ Chuain Siar", "SRT": "Àm Suranaim", "AWST": "Bun-àm Astràilia an Iar", "MEZ": "Bun-àm Meadhan na Roinn-Eòrpa", "GMT": "Greenwich Mean Time", "HEPMX": "Tìde samhraidh a’ Chuain Sèimh Mheagsago", "ECT": "Àm Eacuadoir", "HECU": "Tìde samhraidh Cùba", "UYST": "Tìde samhraidh Uruguaidh", "HAT": "Tìde samhraidh Talamh an Èisg", "ART": "Bun-àm na h-Argantaine", "HKST": "Tìde samhraidh Hong Kong", "TMT": "Bun-àm Turcmanastàin", "WAT": "Bun-àm Afraga an Iar", "JST": "Bun-àm na Seapaine", "SGT": "Àm Singeapòr", "EDT": "Tìde samhraidh Aimeireaga a Tuath an Ear", "ADT": "Tìde samhraidh a’ Chuain Siar", "HNOG": "Bun-àm na Graonlainn an Iar", "CHAST": "Bun-àm Chatham", "CHADT": "Tìde samhraidh Chatham", "HEEG": "Tìde samhraidh na Graonlainn an Ear", "CAT": "Àm Meadhan Afraga", "WEZ": "Bun-àm na Roinn-Eòrpa an Iar", "SAST": "Àm Afraga a Deas", "EAT": "Àm Afraga an Ear", "HNCU": "Bun-àm Cùba"}, } } @@ -409,7 +409,12 @@ func (gd *gd_GB) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (gd *gd_GB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +448,12 @@ func (gd *gd_GB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +470,12 @@ func (gd *gd_GB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gl/gl.go b/gl/gl.go index 3afa31d6e..54dbf536f 100644 --- a/gl/gl.go +++ b/gl/gl.go @@ -18,6 +18,7 @@ type gl struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,15 +56,16 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$A", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "$R", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "$HK", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥JP", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "$NT", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "$A", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "$R", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "$CA", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "$MX", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "xan", "feb", "mar", "abr", "mai", "xuñ", "xul", "ago", "set", "out", "nov", "dec"}, - monthsNarrow: []string{"", "X", "F", "M", "A", "M", "X", "X", "A", "S", "O", "N", "D"}, + monthsAbbreviated: []string{"", "xan.", "feb.", "mar.", "abr.", "maio", "xuño", "xul.", "ago.", "set.", "out.", "nov.", "dec."}, + monthsNarrow: []string{"", "x.", "f.", "m.", "a.", "m.", "x.", "x.", "a.", "s.", "o.", "n.", "d."}, monthsWide: []string{"", "xaneiro", "febreiro", "marzo", "abril", "maio", "xuño", "xullo", "agosto", "setembro", "outubro", "novembro", "decembro"}, - daysAbbreviated: []string{"dom", "luns", "mar", "mér", "xov", "ven", "sáb"}, - daysNarrow: []string{"D", "L", "M", "M", "X", "V", "S"}, - daysShort: []string{"dom", "luns", "mt", "mc", "xv", "ve", "sáb"}, + daysAbbreviated: []string{"dom.", "luns", "mar.", "mér.", "xov.", "ven.", "sáb."}, + daysNarrow: []string{"d.", "l.", "m.", "m.", "x.", "v.", "s."}, + daysShort: []string{"dom.", "luns", "mar.", "mér.", "xov.", "ven.", "sáb."}, daysWide: []string{"domingo", "luns", "martes", "mércores", "xoves", "venres", "sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, periodsNarrow: []string{"a.m.", "p.m."}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "despois de Cristo"}, - timezones: map[string]string{"ECT": "Horario de Ecuador", "WART": "Horario estándar de Arxentina Occidental", "MST": "Horario estándar das montañas americanas", "MEZ": "Horario estándar de Europa Central", "ACDT": "Horario de verán de Australia Central", "HADT": "Horario de verán de Hawai-Aleutiano", "HNT": "Horario estándar de Terranova", "AEDT": "Horario de verán de Australia Oriental", "PST": "Horario estándar do Pacífico", "CST": "Horario estándar central", "CAT": "Horario de África Central", "UYST": "Horario de verán de Uruguai", "ACST": "Horario estándar de Australia Central", "COT": "Horario estándar de Colombia", "AKST": "Horario estándar de Alasca", "AST": "Horario estándar do Atlántico", "WITA": "Horario de Indonesia Central", "UYT": "Horario estándar de Uruguai", "GFT": "Horario da Güiana Francesa", "MESZ": "Horario de verán de Europa Central", "SAST": "Horario estándar de Sudáfrica", "AKDT": "Horario de verán de Alasca", "TMST": "Horario de verán de Turcomenistán", "LHDT": "Horario de verán de Lord Howe", "JST": "Horario estándar de Xapón", "WARST": "Horario de verán de Arxentina Occidental", "MDT": "Horario de verán das montañas americanas", "WIT": "Horario de Indonesia Oriental", "JDT": "Horario de verán de Xapón", "SGT": "Horario estándar de Singapur", "ChST": "Horario estándar de Chamorro", "AWST": "Horario estándar de Australia Occidental", "OEZ": "Horario estándar de Europa Oriental", "ACWST": "Horario estándar de Australia Occidental Central", "AEST": "Horario estándar de Australia Oriental", "ART": "Horario estándar de Arxentina", "WAST": "Horario de verán de África Occidental", "PDT": "Horario de verán do Pacífico", "ADT": "Horario de verán do Atlántico", "WEZ": "Horario estándar de Europa Occidental", "VET": "Horario de Venezuela", "ARST": "Horario de verán de Arxentina", "GYT": "Horario da Güiana", "SRT": "Horario de Surinam", "COST": "Horario de verán de Colombia", "BT": "Horario de Bután", "HAT": "Horario de verán de Terranova", "CLT": "Horario estándar de Chile", "OESZ": "Horario de verán de Europa Oriental", "EDT": "Horario de verán de América Oriental", "CDT": "Horario de verán da zona central", "AWDT": "Horario de verán de Australia Occidental", "CLST": "Horario de verán de Chile", "ACWDT": "Horario de verán de Australia Occidental Central", "IST": "Horario estándar da India", "GMT": "Horario do meridiano de Greenwich", "LHST": "Horario estándar de Lord Howe", "WESZ": "Horario de verán de Europa Occidental", "HKT": "Horario estándar de Hong Kong", "CHAST": "Horario estándar de Chatham", "TMT": "Horario estándar de Turcomenistán", "∅∅∅": "Horario de verán das Azores", "NZST": "Horario estándar de Nova Celandia", "NZDT": "Horario de verán de Nova Celandia", "BOT": "Horario de Bolivia", "WIB": "Horario de Indonesia Occidental", "EST": "Horario estándar América Oriental", "MYT": "Horario de Malaisia", "CHADT": "Horario de verán de Chatham", "HAST": "Horario estándar de Hawai-Aleutiano", "EAT": "Horario de África Oriental", "WAT": "Horario estándar de África Occidental", "HKST": "Horario de verán de Hong Kong"}, + timezones: map[string]string{"CAT": "Horario de África Central", "WAST": "Horario de verán de África Occidental", "WIB": "Horario de Indonesia Occidental", "PST": "Horario estándar do Pacífico, Norteamérica", "ACWDT": "Horario de verán de Australia Occidental Central", "AEDT": "Horario de verán de Australia Oriental", "AWST": "Horario estándar de Australia Occidental", "CLT": "Horario estándar de Chile", "HNNOMX": "Horario estándar de México Noroeste", "UYST": "Horario de verán de Uruguai", "AWDT": "Horario de verán de Australia Occidental", "HNPM": "Horario estándar de Saint Pierre e Miquelon", "HEPM": "Horario de verán de Saint Pierre e Miquelon", "NZST": "Horario estándar de Nova Zelandia", "SAST": "Horario estándar de África do Sur", "CLST": "Horario de verán de Chile", "OESZ": "Horario de verán de Europa Oriental", "HENOMX": "Horario de verán de México Noroeste", "GMT": "Horario do meridiano de Greenwich", "GYT": "Horario da Güiana", "HADT": "Horario de verán de Hawai-Aleutiano", "COT": "Horario estándar de Colombia", "HAST": "Horario estándar de Hawai-Aleutiano", "CHAST": "Horario estándar de Chatham", "IST": "Horario estándar da India", "BOT": "Horario de Bolivia", "OEZ": "Horario estándar de Europa Oriental", "ADT": "Horario de verán do Atlántico", "BT": "Horario de Bután", "HNT": "Horario estándar de Terranova", "WIT": "Horario de Indonesia Oriental", "ACWST": "Horario estándar de Australia Occidental Central", "AEST": "Horario estándar de Australia Oriental", "MEZ": "Horario estándar de Europa Central", "LHST": "Horario estándar de Lord Howe", "ACST": "Horario estándar de Australia Central", "HECU": "Horario de verán de Cuba", "EAT": "Horario de África Oriental", "EST": "Horario estándar do leste, Norteamérica", "MYT": "Horario de Malaisia", "CST": "Horario estándar central, Norteamérica", "HNOG": "Horario estándar de Groenlandia Occidental", "MESZ": "Horario de verán de Europa Central", "∅∅∅": "Horario de verán do Amazonas", "TMST": "Horario de verán de Turcomenistán", "VET": "Horario de Venezuela", "CHADT": "Horario de verán de Chatham", "CDT": "Horario de verán central, Norteamérica", "JDT": "Horario de verán do Xapón", "WAT": "Horario estándar de África Occidental", "SGT": "Horario estándar de Singapur", "HNCU": "Horario estándar de Cuba", "HNPMX": "Horario estándar do Pacífico mexicano", "AST": "Horario estándar do Atlántico", "WESZ": "Horario de verán de Europa Occidental", "HKT": "Horario estándar de Hong Kong", "WITA": "Horario de Indonesia Central", "GFT": "Horario da Güiana Francesa", "ECT": "Horario de Ecuador", "WARST": "Horario de verán de Arxentina Occidental", "MST": "MST", "NZDT": "Horario de verán de Nova Zelandia", "HEEG": "Horario de verán de Groenlandia Oriental", "ACDT": "Horario de verán de Australia Central", "ART": "Horario estándar de Arxentina", "HEOG": "Horario de verán de Groenlandia Occidental", "PDT": "Horario de verán do Pacífico, Norteamérica", "JST": "Horario estándar do Xapón", "HNEG": "Horario estándar de Groenlandia Oriental", "UYT": "Horario estándar de Uruguai", "AKST": "Horario estándar de Alasca", "ARST": "Horario de verán de Arxentina", "WEZ": "Horario estándar de Europa Occidental", "TMT": "Horario estándar de Turcomenistán", "COST": "Horario de verán de Colombia", "MDT": "MDT", "HEPMX": "Horario de verán do Pacífico mexicano", "AKDT": "Horario de verán de Alasca", "SRT": "Horario de Suriname", "HKST": "Horario de verán de Hong Kong", "LHDT": "Horario de verán de Lord Howe", "ChST": "Horario estándar chamorro", "WART": "Horario estándar de Arxentina Occidental", "EDT": "Horario de verán do leste, Norteamérica", "HAT": "Horario de verán de Terranova"}, } } @@ -244,7 +246,7 @@ func (gl *gl) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (gl *gl) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -266,6 +268,8 @@ func (gl *gl) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, gl.percentSuffix...) + b = append(b, gl.percent...) return string(b) @@ -428,10 +432,17 @@ func (gl *gl) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -441,15 +452,18 @@ func (gl *gl) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsWide[t.Month()]...) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,17 +474,19 @@ func (gl *gl) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, gl.daysWide[t.Weekday()]...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsWide[t.Month()]...) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gl_ES/gl_ES.go b/gl_ES/gl_ES.go index 9682cbff1..7d3c49bb2 100644 --- a/gl_ES/gl_ES.go +++ b/gl_ES/gl_ES.go @@ -18,6 +18,7 @@ type gl_ES struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,15 +56,16 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "xan", "feb", "mar", "abr", "mai", "xuñ", "xul", "ago", "set", "out", "nov", "dec"}, - monthsNarrow: []string{"", "X", "F", "M", "A", "M", "X", "X", "A", "S", "O", "N", "D"}, + monthsAbbreviated: []string{"", "xan.", "feb.", "mar.", "abr.", "maio", "xuño", "xul.", "ago.", "set.", "out.", "nov.", "dec."}, + monthsNarrow: []string{"", "x.", "f.", "m.", "a.", "m.", "x.", "x.", "a.", "s.", "o.", "n.", "d."}, monthsWide: []string{"", "xaneiro", "febreiro", "marzo", "abril", "maio", "xuño", "xullo", "agosto", "setembro", "outubro", "novembro", "decembro"}, - daysAbbreviated: []string{"dom", "luns", "mar", "mér", "xov", "ven", "sáb"}, - daysNarrow: []string{"D", "L", "M", "M", "X", "V", "S"}, - daysShort: []string{"dom", "luns", "mt", "mc", "xv", "ve", "sáb"}, + daysAbbreviated: []string{"dom.", "luns", "mar.", "mér.", "xov.", "ven.", "sáb."}, + daysNarrow: []string{"d.", "l.", "m.", "m.", "x.", "v.", "s."}, + daysShort: []string{"dom.", "luns", "mar.", "mér.", "xov.", "ven.", "sáb."}, daysWide: []string{"domingo", "luns", "martes", "mércores", "xoves", "venres", "sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, periodsNarrow: []string{"a.m.", "p.m."}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "despois de Cristo"}, - timezones: map[string]string{"AEST": "Horario estándar de Australia Oriental", "SAST": "Horario estándar de Sudáfrica", "AKDT": "Horario de verán de Alasca", "EST": "Horario estándar América Oriental", "MST": "Horario estándar das montañas americanas", "OESZ": "Horario de verán de Europa Oriental", "MESZ": "Horario de verán de Europa Central", "ACDT": "Horario de verán de Australia Central", "AEDT": "Horario de verán de Australia Oriental", "CLST": "Horario de verán de Chile", "CHAST": "Horario estándar de Chatham", "MEZ": "Horario estándar de Europa Central", "WARST": "Horario de verán de Arxentina Occidental", "WAST": "Horario de verán de África Occidental", "TMT": "Horario estándar de Turcomenistán", "OEZ": "Horario estándar de Europa Oriental", "HKST": "Horario de verán de Hong Kong", "HADT": "Horario de verán de Hawai-Aleutiano", "ACWST": "Horario estándar de Australia Occidental Central", "ARST": "Horario de verán de Arxentina", "AKST": "Horario estándar de Alasca", "HNT": "Horario estándar de Terranova", "WAT": "Horario estándar de África Occidental", "WITA": "Horario de Indonesia Central", "AWDT": "Horario de verán de Australia Occidental", "WEZ": "Horario estándar de Europa Occidental", "VET": "Horario de Venezuela", "ACWDT": "Horario de verán de Australia Occidental Central", "NZDT": "Horario de verán de Nova Celandia", "ChST": "Horario estándar de Chamorro", "CHADT": "Horario de verán de Chatham", "GFT": "Horario da Güiana Francesa", "SRT": "Horario de Surinam", "ACST": "Horario estándar de Australia Central", "ADT": "Horario de verán do Atlántico", "BT": "Horario de Bután", "JST": "Horario estándar de Xapón", "HKT": "Horario estándar de Hong Kong", "HAST": "Horario estándar de Hawai-Aleutiano", "TMST": "Horario de verán de Turcomenistán", "MDT": "Horario de verán das montañas americanas", "UYT": "Horario estándar de Uruguai", "SGT": "Horario estándar de Singapur", "CDT": "Horario de verán da zona central", "GYT": "Horario da Güiana", "HAT": "Horario de verán de Terranova", "CLT": "Horario estándar de Chile", "COT": "Horario estándar de Colombia", "IST": "Horario estándar da India", "CST": "Horario estándar central", "CAT": "Horario de África Central", "WART": "Horario estándar de Arxentina Occidental", "PST": "Horario estándar do Pacífico", "PDT": "Horario de verán do Pacífico", "MYT": "Horario de Malaisia", "AWST": "Horario estándar de Australia Occidental", "LHST": "Horario estándar de Lord Howe", "LHDT": "Horario de verán de Lord Howe", "BOT": "Horario de Bolivia", "GMT": "Horario do meridiano de Greenwich", "UYST": "Horario de verán de Uruguai", "JDT": "Horario de verán de Xapón", "∅∅∅": "Horario de verán de Brasilia", "ECT": "Horario de Ecuador", "NZST": "Horario estándar de Nova Celandia", "WESZ": "Horario de verán de Europa Occidental", "WIB": "Horario de Indonesia Occidental", "AST": "Horario estándar do Atlántico", "EDT": "Horario de verán de América Oriental", "WIT": "Horario de Indonesia Oriental", "COST": "Horario de verán de Colombia", "ART": "Horario estándar de Arxentina", "EAT": "Horario de África Oriental"}, + timezones: map[string]string{"TMT": "Horario estándar de Turcomenistán", "ACST": "Horario estándar de Australia Central", "AEST": "Horario estándar de Australia Oriental", "MST": "MST", "VET": "Horario de Venezuela", "ARST": "Horario de verán de Arxentina", "HNCU": "Horario estándar de Cuba", "BT": "Horario de Bután", "PST": "Horario estándar do Pacífico, Norteamérica", "ACWDT": "Horario de verán de Australia Occidental Central", "HNT": "Horario estándar de Terranova", "ChST": "Horario estándar chamorro", "WART": "Horario estándar de Arxentina Occidental", "ART": "Horario estándar de Arxentina", "HEOG": "Horario de verán de Groenlandia Occidental", "AWST": "Horario estándar de Australia Occidental", "HADT": "Horario de verán de Hawai-Aleutiano", "SRT": "Horario de Suriname", "AEDT": "Horario de verán de Australia Oriental", "HKT": "Horario estándar de Hong Kong", "LHST": "Horario estándar de Lord Howe", "BOT": "Horario de Bolivia", "HEEG": "Horario de verán de Groenlandia Oriental", "TMST": "Horario de verán de Turcomenistán", "UYT": "Horario estándar de Uruguai", "EDT": "Horario de verán do leste, Norteamérica", "AST": "Horario estándar do Atlántico", "WESZ": "Horario de verán de Europa Occidental", "CHADT": "Horario de verán de Chatham", "WARST": "Horario de verán de Arxentina Occidental", "GMT": "Horario do meridiano de Greenwich", "HECU": "Horario de verán de Cuba", "∅∅∅": "Horario de verán das Azores", "HNPMX": "Horario estándar do Pacífico mexicano", "ADT": "Horario de verán do Atlántico", "HKST": "Horario de verán de Hong Kong", "JST": "Horario estándar do Xapón", "HENOMX": "Horario de verán de México Noroeste", "WAT": "Horario estándar de África Occidental", "HEPM": "Horario de verán de Saint Pierre e Miquelon", "CDT": "Horario de verán central, Norteamérica", "MDT": "MDT", "UYST": "Horario de verán de Uruguai", "HAST": "Horario estándar de Hawai-Aleutiano", "WIT": "Horario de Indonesia Oriental", "PDT": "Horario de verán do Pacífico, Norteamérica", "MESZ": "Horario de verán de Europa Central", "NZST": "Horario estándar de Nova Zelandia", "SGT": "Horario estándar de Singapur", "CHAST": "Horario estándar de Chatham", "OESZ": "Horario de verán de Europa Oriental", "NZDT": "Horario de verán de Nova Zelandia", "WIB": "Horario de Indonesia Occidental", "HEPMX": "Horario de verán do Pacífico mexicano", "MYT": "Horario de Malaisia", "GFT": "Horario da Güiana Francesa", "EAT": "Horario de África Oriental", "AKST": "Horario estándar de Alasca", "IST": "Horario estándar da India", "HNEG": "Horario estándar de Groenlandia Oriental", "CAT": "Horario de África Central", "HNNOMX": "Horario estándar de México Noroeste", "GYT": "Horario da Güiana", "WEZ": "Horario estándar de Europa Occidental", "HAT": "Horario de verán de Terranova", "AWDT": "Horario de verán de Australia Occidental", "SAST": "Horario estándar de África do Sur", "CST": "Horario estándar central, Norteamérica", "ACWST": "Horario estándar de Australia Occidental Central", "LHDT": "Horario de verán de Lord Howe", "CLST": "Horario de verán de Chile", "ACDT": "Horario de verán de Australia Central", "COST": "Horario de verán de Colombia", "HNOG": "Horario estándar de Groenlandia Occidental", "HNPM": "Horario estándar de Saint Pierre e Miquelon", "MEZ": "Horario estándar de Europa Central", "CLT": "Horario estándar de Chile", "WAST": "Horario de verán de África Occidental", "OEZ": "Horario estándar de Europa Oriental", "COT": "Horario estándar de Colombia", "AKDT": "Horario de verán de Alasca", "WITA": "Horario de Indonesia Central", "JDT": "Horario de verán do Xapón", "ECT": "Horario de Ecuador", "EST": "Horario estándar do leste, Norteamérica"}, } } @@ -244,7 +246,7 @@ func (gl *gl_ES) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (gl *gl_ES) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -266,6 +268,8 @@ func (gl *gl_ES) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, gl.percentSuffix...) + b = append(b, gl.percent...) return string(b) @@ -428,10 +432,17 @@ func (gl *gl_ES) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -441,15 +452,18 @@ func (gl *gl_ES) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsWide[t.Month()]...) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,17 +474,19 @@ func (gl *gl_ES) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, gl.daysWide[t.Weekday()]...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) b = append(b, gl.monthsWide[t.Month()]...) + b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gsw/gsw.go b/gsw/gsw.go index 4dc68ffb0..17ecf4f90 100644 --- a/gsw/gsw.go +++ b/gsw/gsw.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"CHADT": "CHADT", "COST": "COST", "EDT": "EDT", "BT": "BT", "WIT": "WIT", "LHDT": "LHDT", "GMT": "GMT", "ACWDT": "ACWDT", "AEST": "AEST", "AKST": "Alaska-Schtandardziit", "EAT": "Oschtafrikanischi Ziit", "CLT": "CLT", "VET": "VET", "WAST": "Weschtafrikanischi Summerziit", "NZST": "NZST", "SGT": "SGT", "WARST": "WARST", "AST": "AST", "CDT": "Amerika-Zentraal Summerziit", "SRT": "SRT", "MST": "MST", "GFT": "GFT", "TMST": "TMST", "BOT": "BOT", "WAT": "Weschtafrikanischi Schtandardziit", "MYT": "MYT", "ECT": "ECT", "MEZ": "Mitteleuropäischi Schtandardziit", "ACWST": "ACWST", "HNT": "HNT", "AEDT": "AEDT", "LHST": "LHST", "AWST": "AWST", "OEZ": "Oschteuropäischi Schtandardziit", "ACST": "ACST", "PST": "PST", "MDT": "MDT", "WIB": "WIB", "TMT": "TMT", "GYT": "GYT", "CST": "Amerika-Zentraal Schtandardziit", "WESZ": "Weschteuropäischi Summerziit", "JDT": "JDT", "HKST": "HKST", "ACDT": "ACDT", "COT": "COT", "HAST": "HAST", "HADT": "HADT", "IST": "IST", "UYT": "UYT", "PDT": "PDT", "AKDT": "Alaska-Summerziit", "ART": "ART", "WEZ": "Weschteuropäischi Schtandardziit", "UYST": "UYST", "CHAST": "CHAST", "OESZ": "Oschteuropäischi Summerziit", "MESZ": "Mitteleuropäischi Summerziit", "ChST": "ChST", "CLST": "CLST", "JST": "JST", "EST": "EST", "ADT": "ADT", "WITA": "WITA", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "WART": "WART", "SAST": "Süüdafrikanischi ziit", "NZDT": "NZDT", "CAT": "Zentralafrikanischi Ziit", "HKT": "HKT", "ARST": "ARST", "HAT": "HAT"}, + timezones: map[string]string{"HNOG": "HNOG", "HNPM": "HNPM", "COT": "COT", "EDT": "EDT", "HNT": "HNT", "ARST": "ARST", "LHST": "LHST", "ACST": "ACST", "EAT": "Oschtafrikanischi Ziit", "WAST": "Weschtafrikanischi Summerziit", "UYST": "UYST", "ACWDT": "ACWDT", "HAST": "HAST", "MESZ": "Mitteleuropäischi Summerziit", "∅∅∅": "Amazonas-Summerziit", "CST": "Amerika-Zentraal Schtandardziit", "MDT": "MDT", "HEEG": "HEEG", "OESZ": "Oschteuropäischi Summerziit", "WART": "WART", "HEPMX": "HEPMX", "WESZ": "Weschteuropäischi Summerziit", "HKT": "HKT", "CAT": "Zentralafrikanischi Ziit", "GYT": "GYT", "WIT": "WIT", "PDT": "PDT", "AEST": "AEST", "CHADT": "CHADT", "WAT": "Weschtafrikanischi Schtandardziit", "AKST": "Alaska-Schtandardziit", "AKDT": "Alaska-Summerziit", "SRT": "SRT", "HENOMX": "HENOMX", "MYT": "MYT", "ACWST": "ACWST", "ADT": "ADT", "EST": "EST", "BT": "BT", "PST": "PST", "AWDT": "AWDT", "HKST": "HKST", "IST": "IST", "JST": "JST", "UYT": "UYT", "HADT": "HADT", "AWST": "AWST", "HEPM": "HEPM", "MEZ": "Mitteleuropäischi Schtandardziit", "LHDT": "LHDT", "SAST": "Süüdafrikanischi ziit", "GFT": "GFT", "TMT": "TMT", "AEDT": "AEDT", "GMT": "GMT", "HNPMX": "HNPMX", "CHAST": "CHAST", "CLST": "CLST", "ChST": "ChST", "WIB": "WIB", "WEZ": "Weschteuropäischi Schtandardziit", "ECT": "ECT", "COST": "COST", "HNCU": "HNCU", "MST": "MST", "HNNOMX": "HNNOMX", "HAT": "HAT", "HEOG": "HEOG", "WITA": "WITA", "NZDT": "NZDT", "HNEG": "HNEG", "TMST": "TMST", "OEZ": "Oschteuropäischi Schtandardziit", "WARST": "WARST", "VET": "VET", "AST": "AST", "SGT": "SGT", "NZST": "NZST", "CLT": "CLT", "JDT": "JDT", "BOT": "BOT", "ACDT": "ACDT", "HECU": "HECU", "CDT": "Amerika-Zentraal Summerziit", "ART": "ART"}, } } @@ -445,7 +445,12 @@ func (gsw *gsw) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (gsw *gsw) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (gsw *gsw) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gsw_CH/gsw_CH.go b/gsw_CH/gsw_CH.go index c476f8522..17fc5dcd8 100644 --- a/gsw_CH/gsw_CH.go +++ b/gsw_CH/gsw_CH.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"CLT": "CLT", "UYST": "UYST", "MESZ": "Mitteleuropäischi Summerziit", "AEDT": "AEDT", "ARST": "ARST", "AKST": "Alaska-Schtandardziit", "∅∅∅": "∅∅∅", "SRT": "SRT", "HADT": "HADT", "ACWST": "ACWST", "AEST": "AEST", "PST": "PST", "MYT": "MYT", "ACWDT": "ACWDT", "IST": "IST", "EDT": "EDT", "CLST": "CLST", "CHADT": "CHADT", "ACDT": "ACDT", "SGT": "SGT", "WARST": "WARST", "HKST": "HKST", "JDT": "JDT", "ACST": "ACST", "SAST": "Süüdafrikanischi ziit", "BOT": "BOT", "AWDT": "AWDT", "ART": "ART", "WART": "WART", "WAST": "Weschtafrikanischi Summerziit", "CST": "Amerika-Zentraal Schtandardziit", "HKT": "HKT", "HAST": "HAST", "TMST": "TMST", "GYT": "GYT", "MST": "MST", "LHST": "LHST", "MEZ": "Mitteleuropäischi Schtandardziit", "AKDT": "Alaska-Summerziit", "CDT": "Amerika-Zentraal Summerziit", "TMT": "TMT", "NZST": "NZST", "EAT": "Oschtafrikanischi Ziit", "ECT": "ECT", "CAT": "Zentralafrikanischi Ziit", "AWST": "AWST", "JST": "JST", "OESZ": "Oschteuropäischi Summerziit", "WITA": "WITA", "MDT": "MDT", "WIT": "WIT", "GMT": "GMT", "OEZ": "Oschteuropäischi Schtandardziit", "VET": "VET", "WIB": "WIB", "BT": "BT", "AST": "AST", "EST": "EST", "PDT": "PDT", "COST": "COST", "ChST": "ChST", "HAT": "HAT", "LHDT": "LHDT", "WEZ": "Weschteuropäischi Schtandardziit", "WAT": "Weschtafrikanischi Schtandardziit", "NZDT": "NZDT", "GFT": "GFT", "COT": "COT", "HNT": "HNT", "WESZ": "Weschteuropäischi Summerziit", "CHAST": "CHAST", "ADT": "ADT", "UYT": "UYT"}, + timezones: map[string]string{"WAST": "Weschtafrikanischi Summerziit", "OESZ": "Oschteuropäischi Summerziit", "WARST": "WARST", "GMT": "GMT", "UYST": "UYST", "HNOG": "HNOG", "HADT": "HADT", "HENOMX": "HENOMX", "EST": "EST", "CST": "Amerika-Zentraal Schtandardziit", "WIB": "WIB", "LHDT": "LHDT", "TMT": "TMT", "CAT": "Zentralafrikanischi Ziit", "AKDT": "Alaska-Summerziit", "SRT": "SRT", "HNPM": "HNPM", "AWST": "AWST", "HNEG": "HNEG", "GFT": "GFT", "COST": "COST", "HECU": "HECU", "MST": "MST", "HNT": "HNT", "ADT": "ADT", "IST": "IST", "JDT": "JDT", "ACDT": "ACDT", "COT": "COT", "ART": "ART", "MEZ": "Mitteleuropäischi Schtandardziit", "CHAST": "CHAST", "ChST": "ChST", "BOT": "BOT", "VET": "VET", "PDT": "PDT", "ACWDT": "ACWDT", "SGT": "SGT", "AEST": "AEST", "CHADT": "CHADT", "ARST": "ARST", "AWDT": "AWDT", "HKST": "HKST", "NZST": "NZST", "TMST": "TMST", "HEPMX": "HEPMX", "MYT": "MYT", "CDT": "Amerika-Zentraal Summerziit", "OEZ": "Oschteuropäischi Schtandardziit", "GYT": "GYT", "WESZ": "Weschteuropäischi Summerziit", "HEEG": "HEEG", "WEZ": "Weschteuropäischi Schtandardziit", "HAT": "HAT", "AEDT": "AEDT", "EDT": "EDT", "MDT": "MDT", "HAST": "HAST", "WAT": "Weschtafrikanischi Schtandardziit", "HNCU": "HNCU", "HEOG": "HEOG", "HEPM": "HEPM", "WART": "WART", "MESZ": "Mitteleuropäischi Summerziit", "LHST": "LHST", "CLST": "CLST", "WIT": "WIT", "HKT": "HKT", "SAST": "Süüdafrikanischi ziit", "JST": "JST", "ECT": "ECT", "∅∅∅": "∅∅∅", "HNPMX": "HNPMX", "UYT": "UYT", "HNNOMX": "HNNOMX", "EAT": "Oschtafrikanischi Ziit", "PST": "PST", "WITA": "WITA", "NZDT": "NZDT", "ACWST": "ACWST", "CLT": "CLT", "ACST": "ACST", "AKST": "Alaska-Schtandardziit", "AST": "AST", "BT": "BT"}, } } @@ -445,7 +445,12 @@ func (gsw *gsw_CH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (gsw *gsw_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (gsw *gsw_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gsw_FR/gsw_FR.go b/gsw_FR/gsw_FR.go index a9b76fc68..16f44400a 100644 --- a/gsw_FR/gsw_FR.go +++ b/gsw_FR/gsw_FR.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"IST": "IST", "EDT": "EDT", "MESZ": "Mitteleuropäischi Summerziit", "COT": "COT", "SAST": "Süüdafrikanischi ziit", "AKST": "Alaska-Schtandardziit", "AKDT": "Alaska-Summerziit", "LHDT": "LHDT", "HKST": "HKST", "VET": "VET", "HADT": "HADT", "CLT": "CLT", "JST": "JST", "MEZ": "Mitteleuropäischi Schtandardziit", "NZDT": "NZDT", "BT": "BT", "WIT": "WIT", "AWST": "AWST", "AWDT": "AWDT", "LHST": "LHST", "UYST": "UYST", "ACDT": "ACDT", "CAT": "Zentralafrikanischi Ziit", "UYT": "UYT", "WITA": "WITA", "CDT": "Amerika-Zentraal Summerziit", "MYT": "MYT", "HAT": "HAT", "OESZ": "Oschteuropäischi Summerziit", "HKT": "HKT", "PST": "PST", "PDT": "PDT", "WAT": "Weschtafrikanischi Schtandardziit", "MST": "MST", "NZST": "NZST", "GMT": "GMT", "WEZ": "Weschteuropäischi Schtandardziit", "CHAST": "CHAST", "ARST": "ARST", "MDT": "MDT", "HNT": "HNT", "CLST": "CLST", "ACST": "ACST", "HAST": "HAST", "ACWST": "ACWST", "SRT": "SRT", "ECT": "ECT", "EAT": "Oschtafrikanischi Ziit", "∅∅∅": "∅∅∅", "AEST": "AEST", "AEDT": "AEDT", "ART": "ART", "AST": "AST", "GYT": "GYT", "ChST": "ChST", "BOT": "BOT", "SGT": "SGT", "COST": "COST", "ACWDT": "ACWDT", "ADT": "ADT", "WAST": "Weschtafrikanischi Summerziit", "JDT": "JDT", "GFT": "GFT", "EST": "EST", "TMT": "TMT", "WESZ": "Weschteuropäischi Summerziit", "WIB": "WIB", "WART": "WART", "TMST": "TMST", "OEZ": "Oschteuropäischi Schtandardziit", "CHADT": "CHADT", "WARST": "WARST", "CST": "Amerika-Zentraal Schtandardziit"}, + timezones: map[string]string{"PST": "PST", "ACWST": "ACWST", "AEDT": "AEDT", "TMST": "TMST", "AKDT": "Alaska-Summerziit", "VET": "VET", "NZDT": "NZDT", "ACST": "ACST", "HEPMX": "HEPMX", "ADT": "ADT", "UYT": "UYT", "AWST": "AWST", "OEZ": "Oschteuropäischi Schtandardziit", "HNPMX": "HNPMX", "AST": "AST", "LHDT": "LHDT", "JST": "JST", "COT": "COT", "MST": "MST", "UYST": "UYST", "BT": "BT", "CAT": "Zentralafrikanischi Ziit", "COST": "COST", "HKT": "HKT", "MESZ": "Mitteleuropäischi Summerziit", "LHST": "LHST", "WIT": "WIT", "ARST": "ARST", "JDT": "JDT", "ACDT": "ACDT", "HAST": "HAST", "AEST": "AEST", "NZST": "NZST", "BOT": "BOT", "HEEG": "HEEG", "WAT": "Weschtafrikanischi Schtandardziit", "WIB": "WIB", "GYT": "GYT", "PDT": "PDT", "ACWDT": "ACWDT", "MEZ": "Mitteleuropäischi Schtandardziit", "CLT": "CLT", "EAT": "Oschtafrikanischi Ziit", "SGT": "SGT", "CST": "Amerika-Zentraal Schtandardziit", "HNOG": "HNOG", "WEZ": "Weschteuropäischi Schtandardziit", "HEPM": "HEPM", "∅∅∅": "Amazonas-Summerziit", "WAST": "Weschtafrikanischi Summerziit", "WARST": "WARST", "MYT": "MYT", "SRT": "SRT", "HAT": "HAT", "GFT": "GFT", "ChST": "ChST", "HENOMX": "HENOMX", "HNCU": "HNCU", "HECU": "HECU", "WESZ": "Weschteuropäischi Summerziit", "CHAST": "CHAST", "IST": "IST", "TMT": "TMT", "OESZ": "Oschteuropäischi Summerziit", "HADT": "HADT", "WITA": "WITA", "WART": "WART", "HNNOMX": "HNNOMX", "AWDT": "AWDT", "ECT": "ECT", "EST": "EST", "EDT": "EDT", "CDT": "Amerika-Zentraal Summerziit", "AKST": "Alaska-Schtandardziit", "HEOG": "HEOG", "HKST": "HKST", "MDT": "MDT", "GMT": "GMT", "HNT": "HNT", "ART": "ART", "HNPM": "HNPM", "CHADT": "CHADT", "SAST": "Süüdafrikanischi ziit", "CLST": "CLST", "HNEG": "HNEG"}, } } @@ -445,7 +445,12 @@ func (gsw *gsw_FR) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (gsw *gsw_FR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (gsw *gsw_FR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gsw_LI/gsw_LI.go b/gsw_LI/gsw_LI.go index 1ff4a835c..2a1373835 100644 --- a/gsw_LI/gsw_LI.go +++ b/gsw_LI/gsw_LI.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"v. Chr.", "n. Chr."}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"NZST": "NZST", "WARST": "WARST", "AKST": "Alaska-Schtandardziit", "CDT": "Amerika-Zentraal Summerziit", "HKST": "HKST", "AEDT": "AEDT", "TMST": "TMST", "CLST": "CLST", "MESZ": "Mitteleuropäischi Summerziit", "COST": "COST", "ART": "ART", "NZDT": "NZDT", "VET": "VET", "IST": "IST", "CST": "Amerika-Zentraal Schtandardziit", "AWST": "AWST", "ECT": "ECT", "HADT": "HADT", "EAT": "Oschtafrikanischi Ziit", "WAST": "Weschtafrikanischi Summerziit", "ChST": "ChST", "GMT": "GMT", "AEST": "AEST", "PST": "PST", "GYT": "GYT", "ACWDT": "ACWDT", "ARST": "ARST", "CLT": "CLT", "WESZ": "Weschteuropäischi Summerziit", "JST": "JST", "HKT": "HKT", "ADT": "ADT", "AWDT": "AWDT", "OEZ": "Oschteuropäischi Schtandardziit", "WIT": "WIT", "CAT": "Zentralafrikanischi Ziit", "HAT": "HAT", "UYST": "UYST", "CHADT": "CHADT", "ACWST": "ACWST", "TMT": "TMT", "∅∅∅": "∅∅∅", "MYT": "MYT", "WIB": "WIB", "ACDT": "ACDT", "SGT": "SGT", "COT": "COT", "EDT": "EDT", "AST": "AST", "LHDT": "LHDT", "JDT": "JDT", "AKDT": "Alaska-Summerziit", "PDT": "PDT", "HNT": "HNT", "SRT": "SRT", "OESZ": "Oschteuropäischi Summerziit", "CHAST": "CHAST", "MEZ": "Mitteleuropäischi Schtandardziit", "SAST": "Süüdafrikanischi ziit", "MST": "MST", "BOT": "BOT", "BT": "BT", "GFT": "GFT", "ACST": "ACST", "HAST": "HAST", "WITA": "WITA", "MDT": "MDT", "WEZ": "Weschteuropäischi Schtandardziit", "EST": "EST", "LHST": "LHST", "WAT": "Weschtafrikanischi Schtandardziit", "WART": "WART", "UYT": "UYT"}, + timezones: map[string]string{"WESZ": "Weschteuropäischi Summerziit", "ART": "ART", "NZDT": "NZDT", "CLST": "CLST", "EAT": "Oschtafrikanischi Ziit", "ECT": "ECT", "COST": "COST", "CDT": "Amerika-Zentraal Summerziit", "SRT": "SRT", "JDT": "JDT", "TMT": "TMT", "ACWST": "ACWST", "HAT": "HAT", "CHADT": "CHADT", "ACDT": "ACDT", "ADT": "ADT", "GYT": "GYT", "WIT": "WIT", "HADT": "HADT", "HKT": "HKT", "HNPM": "HNPM", "CHAST": "CHAST", "TMST": "TMST", "COT": "COT", "MESZ": "Mitteleuropäischi Summerziit", "PST": "PST", "HNCU": "HNCU", "CST": "Amerika-Zentraal Schtandardziit", "GFT": "GFT", "CAT": "Zentralafrikanischi Ziit", "BT": "BT", "NZST": "NZST", "BOT": "BOT", "AKDT": "Alaska-Summerziit", "ChST": "ChST", "OEZ": "Oschteuropäischi Schtandardziit", "OESZ": "Oschteuropäischi Summerziit", "HEOG": "HEOG", "JST": "JST", "HNEG": "HNEG", "HNPMX": "HNPMX", "EDT": "EDT", "WIB": "WIB", "VET": "VET", "ARST": "ARST", "AWST": "AWST", "SAST": "Süüdafrikanischi ziit", "MST": "MST", "AEST": "AEST", "MEZ": "Mitteleuropäischi Schtandardziit", "UYST": "UYST", "WEZ": "Weschteuropäischi Schtandardziit", "AKST": "Alaska-Schtandardziit", "HAST": "HAST", "ACWDT": "ACWDT", "LHST": "LHST", "WAT": "Weschtafrikanischi Schtandardziit", "EST": "EST", "WAST": "Weschtafrikanischi Summerziit", "HECU": "HECU", "GMT": "GMT", "MDT": "MDT", "HNT": "HNT", "HNOG": "HNOG", "IST": "IST", "ACST": "ACST", "WITA": "WITA", "WART": "WART", "PDT": "PDT", "AEDT": "AEDT", "HNNOMX": "HNNOMX", "AST": "AST", "SGT": "SGT", "AWDT": "AWDT", "HEPM": "HEPM", "LHDT": "LHDT", "HEEG": "HEEG", "WARST": "WARST", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "MYT": "MYT", "UYT": "UYT", "HKST": "HKST", "CLT": "CLT", "∅∅∅": "Amazonas-Summerziit"}, } } @@ -445,7 +445,12 @@ func (gsw *gsw_LI) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +464,12 @@ func (gsw *gsw_LI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +485,12 @@ func (gsw *gsw_LI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, gsw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gu/gu.go b/gu/gu.go index 9d07950f0..128fa0e94 100644 --- a/gu/gu.go +++ b/gu/gu.go @@ -10,68 +10,64 @@ import ( ) type gu struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'gu' locale func New() locales.Translator { return &gu{ - locale: "gu", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, - pluralsRange: []locales.PluralRule{2, 6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "જાન્યુ", "ફેબ્રુ", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટે", "ઑક્ટો", "નવે", "ડિસે"}, - monthsNarrow: []string{"", "જા", "ફે", "મા", "એ", "મે", "જૂ", "જુ", "ઑ", "સ", "ઑ", "ન", "ડિ"}, - monthsWide: []string{"", "જાન્યુઆરી", "ફેબ્રુઆરી", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટેમ્બર", "ઑક્ટોબર", "નવેમ્બર", "ડિસેમ્બર"}, - daysAbbreviated: []string{"રવિ", "સોમ", "મંગળ", "બુધ", "ગુરુ", "શુક્ર", "શનિ"}, - daysNarrow: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, - daysShort: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, - daysWide: []string{"રવિવાર", "સોમવાર", "મંગળવાર", "બુધવાર", "ગુરુવાર", "શુક્રવાર", "શનિવાર"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"ઈ.સ.પૂર્વે", "ઈ.સ."}, - erasNarrow: []string{"ઇ સ પુ", "ઇસ"}, - erasWide: []string{"ઈસવીસન પૂર્વે", "ઇસવીસન"}, - timezones: map[string]string{"BOT": "બોલિવિયા સમય", "OESZ": "પૂર્વી યુરોપીયન ગ્રીષ્મ સમય", "HKST": "હોંગ કોંગ ગ્રીષ્મ સમય", "ARST": "આર્જેન્ટીના ગ્રીષ્મ સમય", "AKST": "અલાસ્કા પ્રમાણભૂત સમય", "AKDT": "અલાસ્કા દિવસ સમય", "WITA": "મધ્ય ઇન્ડોનેશિયા સમય", "CHADT": "ચેતહામ દિવસ સમય", "ACDT": "ઓસ્ટ્રેલિયન મધ્ય દિવસ સમય", "HAST": "હવાઇ-એલ્યુશિઅન માનક સમય", "AEST": "ઓસ્ટ્રેલિયન પૂર્વીય પ્રમાણભૂત સમય", "WART": "પશ્ચિમી અર્જેન્ટીના માનક સમય", "TMT": "તુર્કમેનિસ્તાન માનક સમય", "GYT": "ગયાના સમય", "WEZ": "પશ્ચિમી યુરોપિયન માનક સમય", "ECT": "એક્વાડોર સમય", "JST": "જાપાન માનક સમય", "WESZ": "પશ્ચિમી યુરોપિયન ગ્રીષ્મ સમય", "COST": "કોલંબિયા ગ્રીષ્મ સમય", "CHAST": "ચેતહામ માનક સમય", "ACWDT": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી દિવસ સમય", "EST": "ઉત્તર અમેરિકન પૂર્વી પ્રમાણભૂત સમય", "NZDT": "ન્યુઝીલેન્ડ દિવસ સમય", "HNT": "ન્યૂફાઉન્ડલેન્ડ પ્રમાણભૂત સમય", "CDT": "ઉત્તર અમેરિકન મધ્ય દિવસ સમય", "WIB": "પશ્ચિમી ઇન્ડોનેશિયા સમય", "BT": "ભૂટાન સમય", "AWDT": "ઓસ્ટ્રેલિયન પશ્ચિમી દિવસ સમય", "JDT": "જાપાન દિવસ સમય", "EAT": "પૂર્વ આફ્રિકા સમય", "TMST": "તુર્કમેનિસ્તાન ગ્રીષ્મ સમય", "WIT": "પૂર્વીય ઇન્ડોનેશિયા સમય", "VET": "વેનેઝુએલા સમય", "ACST": "ઓસ્ટ્રેલિયન મધ્ય પ્રમાણભૂત સમય", "NZST": "ન્યુઝીલેન્ડ માનક સમય", "AWST": "ઓસ્ટ્રેલિયન પશ્ચિમી પ્રમાણભૂત સમય", "CLST": "ચિલી ગ્રીષ્મ સમય", "MESZ": "મધ્ય યુરોપિયન ગ્રીષ્મ સમય", "SGT": "સિંગાપુર માનક સમય", "ACWST": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી પ્રમાણભૂત સમય", "IST": "ભારતીય માનક સમય", "ChST": "કેમોરો માનક સમય", "UYT": "ઉરૂગ્વે માનક સમય", "UYST": "ઉરૂગ્વે ગ્રીષ્મ સમય", "SRT": "સૂરીનામ સમય", "OEZ": "પૂર્વી યુરોપિયન માનક સમય", "ART": "અર્જેન્ટીના માનક સમય", "SAST": "દક્ષિણ આફ્રિકા માનક સમય", "MDT": "ઉત્તર અમેરિકન માઉન્ટન દિવસ સમય", "MYT": "મલેશિયા સમય", "LHST": "લોર્ડ હોવ પ્રમાણભૂત સમય", "MEZ": "મધ્ય યુરોપિયન માનક સમય", "WAT": "પશ્ચિમ આફ્રિકા માનક સમય", "WAST": "પશ્ચિમ આફ્રિકા ગ્રીષ્મ સમય", "GMT": "ગ્રીનવિચ મધ્યમ સમય", "PST": "ઉત્તર અમેરિકન પેસિફિક પ્રમાણભૂત સમય", "AST": "અટલાન્ટિક પ્રમાણભૂત સમય", "HADT": "હવાઇ-એલ્યુશિઅન દિવસ સમય", "WARST": "પશ્ચિમી અર્જેન્ટીના ગ્રીષ્મ સમય", "CAT": "મધ્ય આફ્રિકા સમય", "LHDT": "લોર્ડ હોવ દિવસ સમય", "HKT": "હોંગ કોંગ માનક સમય", "COT": "કોલંબિયા માનક સમય", "EDT": "ઉત્તર અમેરિકન પૂર્વી દિવસ સમય", "PDT": "ઉત્તર અમેરિકન પેસિફિક દિવસ સમય", "HAT": "ન્યૂફાઉન્ડલેન્ડ દિવસ સમય", "MST": "ઉત્તર અમેરિકન માઉન્ટન પ્રમાણભૂત સમય", "GFT": "ફ્રેન્ચ ગયાના સમય", "ADT": "અટલાન્ટિક દિવસ સમય", "∅∅∅": "પેરુ ગ્રીષ્મ સમય", "CST": "ઉત્તર અમેરિકન કેન્દ્રિય પ્રમાણભૂત સમય", "CLT": "ચિલી માનક સમય", "AEDT": "ઓસ્ટ્રેલિયન પૂર્વીય દિવસ સમય"}, + locale: "gu", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "જાન્યુ", "ફેબ્રુ", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટે", "ઑક્ટો", "નવે", "ડિસે"}, + monthsNarrow: []string{"", "જા", "ફે", "મા", "એ", "મે", "જૂ", "જુ", "ઑ", "સ", "ઑ", "ન", "ડિ"}, + monthsWide: []string{"", "જાન્યુઆરી", "ફેબ્રુઆરી", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટેમ્બર", "ઑક્ટોબર", "નવેમ્બર", "ડિસેમ્બર"}, + daysAbbreviated: []string{"રવિ", "સોમ", "મંગળ", "બુધ", "ગુરુ", "શુક્ર", "શનિ"}, + daysNarrow: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, + daysShort: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, + daysWide: []string{"રવિવાર", "સોમવાર", "મંગળવાર", "બુધવાર", "ગુરુવાર", "શુક્રવાર", "શનિવાર"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"ઈ.સ.પૂર્વે", "ઈ.સ."}, + erasNarrow: []string{"ઇ સ પુ", "ઇસ"}, + erasWide: []string{"ઈસવીસન પૂર્વે", "ઇસવીસન"}, + timezones: map[string]string{"HKT": "હોંગ કોંગ માનક સમય", "BOT": "બોલિવિયા સમય", "WAT": "પશ્ચિમ આફ્રિકા માનક સમય", "AWST": "ઓસ્ટ્રેલિયન પશ્ચિમી પ્રમાણભૂત સમય", "ACST": "ઓસ્ટ્રેલિયન મધ્ય પ્રમાણભૂત સમય", "COT": "કોલંબિયા માનક સમય", "HNNOMX": "ઉત્તરપશ્ચિમ મેક્સિકો માનક સમય", "AKDT": "અલાસ્કા દિવસ સમય", "ACWDT": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી દિવસ સમય", "PST": "ઉત્તર અમેરિકન પેસિફિક પ્રમાણભૂત સમય", "PDT": "ઉત્તર અમેરિકન પેસિફિક દિવસ સમય", "HEPM": "સેંટ પીએરે એન્ડ મિકીલોન દિવસ સમય", "WAST": "પશ્ચિમ આફ્રિકા ગ્રીષ્મ સમય", "OEZ": "પૂર્વી યુરોપિયન માનક સમય", "WIB": "પશ્ચિમી ઇન્ડોનેશિયા સમય", "WITA": "મધ્ય ઇન્ડોનેશિયા સમય", "CLT": "ચિલી માનક સમય", "ACDT": "ઓસ્ટ્રેલિયન મધ્ય દિવસ સમય", "HENOMX": "ઉત્તરપશ્ચિમ મેક્સિકો દિવસ સમય", "TMT": "તુર્કમેનિસ્તાન માનક સમય", "TMST": "તુર્કમેનિસ્તાન ગ્રીષ્મ સમય", "WART": "પશ્ચિમી અર્જેન્ટીના માનક સમય", "CDT": "ઉત્તર અમેરિકન મધ્ય દિવસ સમય", "WESZ": "પશ્ચિમી યુરોપિયન ગ્રીષ્મ સમય", "CHADT": "ચેતહામ દિવસ સમય", "HNEG": "પૂર્વ ગ્રીનલેન્ડ માનક સમય", "HEEG": "પૂર્વ ગ્રીનલેન્ડ ગ્રીષ્મ સમય", "MEZ": "મધ્ય યુરોપિયન માનક સમય", "CLST": "ચિલી ગ્રીષ્મ સમય", "HNT": "ન્યૂફાઉન્ડલેન્ડ પ્રમાણભૂત સમય", "HNPM": "સેંટ પીએરે એન્ડ મિકીલોન માનક સમય", "HNPMX": "મેક્સીકન પેસિફિક માનક સમય", "BT": "ભૂટાન સમય", "EDT": "ઉત્તર અમેરિકન પૂર્વી દિવસ સમય", "ADT": "અટલાન્ટિક દિવસ સમય", "HNOG": "પશ્ચિમ ગ્રીનલેન્ડ માનક સમય", "JDT": "જાપાન દિવસ સમય", "EAT": "પૂર્વ આફ્રિકા સમય", "COST": "કોલંબિયા ગ્રીષ્મ સમય", "NZDT": "ન્યુઝીલેન્ડ દિવસ સમય", "CHAST": "ચેતહામ માનક સમય", "IST": "ભારતીય માનક સમય", "GFT": "ફ્રેન્ચ ગયાના સમય", "∅∅∅": "પેરુ ગ્રીષ્મ સમય", "VET": "વેનેઝુએલા સમય", "HAT": "ન્યૂફાઉન્ડલેન્ડ દિવસ સમય", "ChST": "કેમોરો માનક સમય", "UYST": "ઉરૂગ્વે ગ્રીષ્મ સમય", "WARST": "પશ્ચિમી અર્જેન્ટીના ગ્રીષ્મ સમય", "GYT": "ગયાના સમય", "MYT": "મલેશિયા સમય", "HAST": "હવાઇ-એલ્યુશિઅન માનક સમય", "HEOG": "પશ્ચિમ ગ્રીનલેન્ડ ગ્રીષ્મ સમય", "LHST": "લોર્ડ હોવ પ્રમાણભૂત સમય", "HEPMX": "મેક્સીકન પેસિફિક દિવસ સમય", "AKST": "અલાસ્કા પ્રમાણભૂત સમય", "WEZ": "પશ્ચિમી યુરોપિયન માનક સમય", "AWDT": "ઓસ્ટ્રેલિયન પશ્ચિમી દિવસ સમય", "MESZ": "મધ્ય યુરોપિયન ગ્રીષ્મ સમય", "OESZ": "પૂર્વી યુરોપીયન ગ્રીષ્મ સમય", "ACWST": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી પ્રમાણભૂત સમય", "SAST": "દક્ષિણ આફ્રિકા માનક સમય", "JST": "જાપાન માનક સમય", "AST": "અટલાન્ટિક પ્રમાણભૂત સમય", "ART": "અર્જેન્ટીના માનક સમય", "MDT": "મકાઉ ગ્રીષ્મ સમય", "CAT": "મધ્ય આફ્રિકા સમય", "HECU": "ક્યૂબા દિવસ સમય", "EST": "ઉત્તર અમેરિકન પૂર્વી પ્રમાણભૂત સમય", "MST": "મકાઉ પ્રમાણભૂત સમય", "UYT": "ઉરૂગ્વે માનક સમય", "WIT": "પૂર્વીય ઇન્ડોનેશિયા સમય", "HADT": "હવાઇ-એલ્યુશિઅન દિવસ સમય", "ARST": "આર્જેન્ટીના ગ્રીષ્મ સમય", "ECT": "એક્વાડોર સમય", "HNCU": "ક્યૂબા માનક સમય", "AEST": "ઓસ્ટ્રેલિયન પૂર્વીય પ્રમાણભૂત સમય", "LHDT": "લોર્ડ હોવ દિવસ સમય", "CST": "ઉત્તર અમેરિકન કેન્દ્રિય પ્રમાણભૂત સમય", "SRT": "સૂરીનામ સમય", "HKST": "હોંગ કોંગ ગ્રીષ્મ સમય", "AEDT": "ઓસ્ટ્રેલિયન પૂર્વીય દિવસ સમય", "NZST": "ન્યુઝીલેન્ડ માનક સમય", "GMT": "ગ્રીનવિચ મધ્યમ સમય", "SGT": "સિંગાપુર માનક સમય"}, } } @@ -301,9 +297,6 @@ func (gu *gu) FmtCurrency(num float64, v uint64, currency currency.Type) string l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -315,15 +308,9 @@ func (gu *gu) FmtCurrency(num float64, v uint64, currency currency.Type) string } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, gu.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -365,12 +352,9 @@ func (gu *gu) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := gu.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -382,15 +366,9 @@ func (gu *gu) FmtAccounting(num float64, v uint64, currency currency.Type) strin } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, gu.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -405,7 +383,7 @@ func (gu *gu) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - b = append(b, gu.currencyNegativePrefix[0]) + b = append(b, gu.minus[0]) } else { @@ -431,10 +409,6 @@ func (gu *gu) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } - if num < 0 { - b = append(b, gu.currencyNegativeSuffix...) - } - return string(b) } @@ -466,7 +440,12 @@ func (gu *gu) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -480,7 +459,12 @@ func (gu *gu) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -496,7 +480,12 @@ func (gu *gu) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gu_IN/gu_IN.go b/gu_IN/gu_IN.go index 8b2cf19db..d5f014da1 100644 --- a/gu_IN/gu_IN.go +++ b/gu_IN/gu_IN.go @@ -10,68 +10,64 @@ import ( ) type gu_IN struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'gu_IN' locale func New() locales.Translator { return &gu_IN{ - locale: "gu_IN", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, - pluralsRange: []locales.PluralRule{2, 6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "જાન્યુ", "ફેબ્રુ", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટે", "ઑક્ટો", "નવે", "ડિસે"}, - monthsNarrow: []string{"", "જા", "ફે", "મા", "એ", "મે", "જૂ", "જુ", "ઑ", "સ", "ઑ", "ન", "ડિ"}, - monthsWide: []string{"", "જાન્યુઆરી", "ફેબ્રુઆરી", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટેમ્બર", "ઑક્ટોબર", "નવેમ્બર", "ડિસેમ્બર"}, - daysAbbreviated: []string{"રવિ", "સોમ", "મંગળ", "બુધ", "ગુરુ", "શુક્ર", "શનિ"}, - daysNarrow: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, - daysShort: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, - daysWide: []string{"રવિવાર", "સોમવાર", "મંગળવાર", "બુધવાર", "ગુરુવાર", "શુક્રવાર", "શનિવાર"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"ઈ.સ.પૂર્વે", "ઈ.સ."}, - erasNarrow: []string{"ઇ સ પુ", "ઇસ"}, - erasWide: []string{"ઈસવીસન પૂર્વે", "ઇસવીસન"}, - timezones: map[string]string{"BT": "ભૂટાન સમય", "MESZ": "મધ્ય યુરોપિયન ગ્રીષ્મ સમય", "COST": "કોલંબિયા ગ્રીષ્મ સમય", "WIB": "પશ્ચિમી ઇન્ડોનેશિયા સમય", "WART": "પશ્ચિમી અર્જેન્ટીના માનક સમય", "EAT": "પૂર્વ આફ્રિકા સમય", "CDT": "ઉત્તર અમેરિકન મધ્ય દિવસ સમય", "BOT": "બોલિવિયા સમય", "UYST": "ઉરૂગ્વે ગ્રીષ્મ સમય", "ART": "અર્જેન્ટીના માનક સમય", "SAST": "દક્ષિણ આફ્રિકા માનક સમય", "LHST": "લોર્ડ હોવ પ્રમાણભૂત સમય", "JST": "જાપાન માનક સમય", "SRT": "સૂરીનામ સમય", "WARST": "પશ્ચિમી અર્જેન્ટીના ગ્રીષ્મ સમય", "PST": "ઉત્તર અમેરિકન પેસિફિક પ્રમાણભૂત સમય", "GYT": "ગયાના સમય", "∅∅∅": "એઝોર્સ ગ્રીષ્મ સમય", "OESZ": "પૂર્વી યુરોપીયન ગ્રીષ્મ સમય", "ACST": "ઓસ્ટ્રેલિયન મધ્ય પ્રમાણભૂત સમય", "ACWDT": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી દિવસ સમય", "AKST": "અલાસ્કા પ્રમાણભૂત સમય", "NZDT": "ન્યુઝીલેન્ડ દિવસ સમય", "HNT": "ન્યૂફાઉન્ડલેન્ડ પ્રમાણભૂત સમય", "WAT": "પશ્ચિમ આફ્રિકા માનક સમય", "MST": "ઉત્તર અમેરિકન માઉન્ટન પ્રમાણભૂત સમય", "VET": "વેનેઝુએલા સમય", "HADT": "હવાઇ-એલ્યુશિઅન દિવસ સમય", "AKDT": "અલાસ્કા દિવસ સમય", "ChST": "કેમોરો માનક સમય", "WIT": "પૂર્વીય ઇન્ડોનેશિયા સમય", "OEZ": "પૂર્વી યુરોપિયન માનક સમય", "CHADT": "ચેતહામ દિવસ સમય", "CST": "ઉત્તર અમેરિકન કેન્દ્રિય પ્રમાણભૂત સમય", "MDT": "ઉત્તર અમેરિકન માઉન્ટન દિવસ સમય", "NZST": "ન્યુઝીલેન્ડ માનક સમય", "UYT": "ઉરૂગ્વે માનક સમય", "COT": "કોલંબિયા માનક સમય", "EST": "ઉત્તર અમેરિકન પૂર્વી પ્રમાણભૂત સમય", "EDT": "ઉત્તર અમેરિકન પૂર્વી દિવસ સમય", "TMT": "તુર્કમેનિસ્તાન માનક સમય", "AWST": "ઓસ્ટ્રેલિયન પશ્ચિમી પ્રમાણભૂત સમય", "HAT": "ન્યૂફાઉન્ડલેન્ડ દિવસ સમય", "CLT": "ચિલી માનક સમય", "HKST": "હોંગ કોંગ ગ્રીષ્મ સમય", "SGT": "સિંગાપુર માનક સમય", "AWDT": "ઓસ્ટ્રેલિયન પશ્ચિમી દિવસ સમય", "ACDT": "ઓસ્ટ્રેલિયન મધ્ય દિવસ સમય", "HAST": "હવાઇ-એલ્યુશિઅન માનક સમય", "ADT": "અટલાન્ટિક દિવસ સમય", "CHAST": "ચેતહામ માનક સમય", "ECT": "એક્વાડોર સમય", "IST": "ભારતીય માનક સમય", "MYT": "મલેશિયા સમય", "ARST": "આર્જેન્ટીના ગ્રીષ્મ સમય", "WAST": "પશ્ચિમ આફ્રિકા ગ્રીષ્મ સમય", "AST": "અટલાન્ટિક પ્રમાણભૂત સમય", "TMST": "તુર્કમેનિસ્તાન ગ્રીષ્મ સમય", "JDT": "જાપાન દિવસ સમય", "WEZ": "પશ્ચિમી યુરોપિયન માનક સમય", "WESZ": "પશ્ચિમી યુરોપિયન ગ્રીષ્મ સમય", "GFT": "ફ્રેન્ચ ગયાના સમય", "AEST": "ઓસ્ટ્રેલિયન પૂર્વીય પ્રમાણભૂત સમય", "WITA": "મધ્ય ઇન્ડોનેશિયા સમય", "CAT": "મધ્ય આફ્રિકા સમય", "CLST": "ચિલી ગ્રીષ્મ સમય", "GMT": "ગ્રીનવિચ મધ્યમ સમય", "LHDT": "લોર્ડ હોવ દિવસ સમય", "HKT": "હોંગ કોંગ માનક સમય", "MEZ": "મધ્ય યુરોપિયન માનક સમય", "ACWST": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી પ્રમાણભૂત સમય", "AEDT": "ઓસ્ટ્રેલિયન પૂર્વીય દિવસ સમય", "PDT": "ઉત્તર અમેરિકન પેસિફિક દિવસ સમય"}, + locale: "gu_IN", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{2, 3, 4, 5, 6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "જાન્યુ", "ફેબ્રુ", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટે", "ઑક્ટો", "નવે", "ડિસે"}, + monthsNarrow: []string{"", "જા", "ફે", "મા", "એ", "મે", "જૂ", "જુ", "ઑ", "સ", "ઑ", "ન", "ડિ"}, + monthsWide: []string{"", "જાન્યુઆરી", "ફેબ્રુઆરી", "માર્ચ", "એપ્રિલ", "મે", "જૂન", "જુલાઈ", "ઑગસ્ટ", "સપ્ટેમ્બર", "ઑક્ટોબર", "નવેમ્બર", "ડિસેમ્બર"}, + daysAbbreviated: []string{"રવિ", "સોમ", "મંગળ", "બુધ", "ગુરુ", "શુક્ર", "શનિ"}, + daysNarrow: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, + daysShort: []string{"ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"}, + daysWide: []string{"રવિવાર", "સોમવાર", "મંગળવાર", "બુધવાર", "ગુરુવાર", "શુક્રવાર", "શનિવાર"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"ઈ.સ.પૂર્વે", "ઈ.સ."}, + erasNarrow: []string{"ઇ સ પુ", "ઇસ"}, + erasWide: []string{"ઈસવીસન પૂર્વે", "ઇસવીસન"}, + timezones: map[string]string{"WIB": "પશ્ચિમી ઇન્ડોનેશિયા સમય", "HADT": "હવાઇ-એલ્યુશિઅન દિવસ સમય", "ARST": "આર્જેન્ટીના ગ્રીષ્મ સમય", "AWST": "ઓસ્ટ્રેલિયન પશ્ચિમી પ્રમાણભૂત સમય", "CLT": "ચિલી માનક સમય", "GFT": "ફ્રેન્ચ ગયાના સમય", "EST": "ઉત્તર અમેરિકન પૂર્વી પ્રમાણભૂત સમય", "MST": "મકાઉ પ્રમાણભૂત સમય", "JST": "જાપાન માનક સમય", "CDT": "ઉત્તર અમેરિકન મધ્ય દિવસ સમય", "HNT": "ન્યૂફાઉન્ડલેન્ડ પ્રમાણભૂત સમય", "HEPM": "સેંટ પીએરે એન્ડ મિકીલોન દિવસ સમય", "LHDT": "લોર્ડ હોવ દિવસ સમય", "ECT": "એક્વાડોર સમય", "BT": "ભૂટાન સમય", "WESZ": "પશ્ચિમી યુરોપિયન ગ્રીષ્મ સમય", "ACWDT": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી દિવસ સમય", "PST": "ઉત્તર અમેરિકન પેસિફિક પ્રમાણભૂત સમય", "IST": "ભારતીય માનક સમય", "CAT": "મધ્ય આફ્રિકા સમય", "COST": "કોલંબિયા ગ્રીષ્મ સમય", "ADT": "અટલાન્ટિક દિવસ સમય", "GYT": "ગયાના સમય", "HNPM": "સેંટ પીએરે એન્ડ મિકીલોન માનક સમય", "TMST": "તુર્કમેનિસ્તાન ગ્રીષ્મ સમય", "AKDT": "અલાસ્કા દિવસ સમય", "HAST": "હવાઇ-એલ્યુશિઅન માનક સમય", "WEZ": "પશ્ચિમી યુરોપિયન માનક સમય", "HECU": "ક્યૂબા દિવસ સમય", "MYT": "મલેશિયા સમય", "HAT": "ન્યૂફાઉન્ડલેન્ડ દિવસ સમય", "HKST": "હોંગ કોંગ ગ્રીષ્મ સમય", "CHAST": "ચેતહામ માનક સમય", "CHADT": "ચેતહામ દિવસ સમય", "SAST": "દક્ષિણ આફ્રિકા માનક સમય", "ACST": "ઓસ્ટ્રેલિયન મધ્ય પ્રમાણભૂત સમય", "AEDT": "ઓસ્ટ્રેલિયન પૂર્વીય દિવસ સમય", "LHST": "લોર્ડ હોવ પ્રમાણભૂત સમય", "JDT": "જાપાન દિવસ સમય", "WITA": "મધ્ય ઇન્ડોનેશિયા સમય", "NZST": "ન્યુઝીલેન્ડ માનક સમય", "NZDT": "ન્યુઝીલેન્ડ દિવસ સમય", "WAST": "પશ્ચિમ આફ્રિકા ગ્રીષ્મ સમય", "EAT": "પૂર્વ આફ્રિકા સમય", "WARST": "પશ્ચિમી અર્જેન્ટીના ગ્રીષ્મ સમય", "MDT": "મકાઉ ગ્રીષ્મ સમય", "∅∅∅": "એમેઝોન ગ્રીષ્મ સમય", "CLST": "ચિલી ગ્રીષ્મ સમય", "ChST": "કેમોરો માનક સમય", "WAT": "પશ્ચિમ આફ્રિકા માનક સમય", "HEPMX": "મેક્સીકન પેસિફિક દિવસ સમય", "HEOG": "પશ્ચિમ ગ્રીનલેન્ડ ગ્રીષ્મ સમય", "AWDT": "ઓસ્ટ્રેલિયન પશ્ચિમી દિવસ સમય", "MEZ": "મધ્ય યુરોપિયન માનક સમય", "MESZ": "મધ્ય યુરોપિયન ગ્રીષ્મ સમય", "OESZ": "પૂર્વી યુરોપીયન ગ્રીષ્મ સમય", "HNNOMX": "ઉત્તરપશ્ચિમ મેક્સિકો માનક સમય", "HEEG": "પૂર્વ ગ્રીનલેન્ડ ગ્રીષ્મ સમય", "SGT": "સિંગાપુર માનક સમય", "AKST": "અલાસ્કા પ્રમાણભૂત સમય", "UYST": "ઉરૂગ્વે ગ્રીષ્મ સમય", "UYT": "ઉરૂગ્વે માનક સમય", "ACWST": "ઓસ્ટ્રેલિયન મધ્ય પશ્ચિમી પ્રમાણભૂત સમય", "ART": "અર્જેન્ટીના માનક સમય", "BOT": "બોલિવિયા સમય", "OEZ": "પૂર્વી યુરોપિયન માનક સમય", "HNCU": "ક્યૂબા માનક સમય", "HNPMX": "મેક્સીકન પેસિફિક માનક સમય", "AST": "અટલાન્ટિક પ્રમાણભૂત સમય", "SRT": "સૂરીનામ સમય", "PDT": "ઉત્તર અમેરિકન પેસિફિક દિવસ સમય", "WART": "પશ્ચિમી અર્જેન્ટીના માનક સમય", "COT": "કોલંબિયા માનક સમય", "EDT": "ઉત્તર અમેરિકન પૂર્વી દિવસ સમય", "CST": "ઉત્તર અમેરિકન કેન્દ્રિય પ્રમાણભૂત સમય", "HNOG": "પશ્ચિમ ગ્રીનલેન્ડ માનક સમય", "AEST": "ઓસ્ટ્રેલિયન પૂર્વીય પ્રમાણભૂત સમય", "TMT": "તુર્કમેનિસ્તાન માનક સમય", "ACDT": "ઓસ્ટ્રેલિયન મધ્ય દિવસ સમય", "WIT": "પૂર્વીય ઇન્ડોનેશિયા સમય", "VET": "વેનેઝુએલા સમય", "HNEG": "પૂર્વ ગ્રીનલેન્ડ માનક સમય", "HENOMX": "ઉત્તરપશ્ચિમ મેક્સિકો દિવસ સમય", "GMT": "ગ્રીનવિચ મધ્યમ સમય", "HKT": "હોંગ કોંગ માનક સમય"}, } } @@ -301,9 +297,6 @@ func (gu *gu_IN) FmtCurrency(num float64, v uint64, currency currency.Type) stri l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -315,15 +308,9 @@ func (gu *gu_IN) FmtCurrency(num float64, v uint64, currency currency.Type) stri } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, gu.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -365,12 +352,9 @@ func (gu *gu_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := gu.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -382,15 +366,9 @@ func (gu *gu_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, gu.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -405,7 +383,7 @@ func (gu *gu_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - b = append(b, gu.currencyNegativePrefix[0]) + b = append(b, gu.minus[0]) } else { @@ -431,10 +409,6 @@ func (gu *gu_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st } } - if num < 0 { - b = append(b, gu.currencyNegativeSuffix...) - } - return string(b) } @@ -466,7 +440,12 @@ func (gu *gu_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -480,7 +459,12 @@ func (gu *gu_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -496,7 +480,12 @@ func (gu *gu_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/guz/guz.go b/guz/guz.go index 24fa57190..8a4e34ece 100644 --- a/guz/guz.go +++ b/guz/guz.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Can", "Feb", "Mac", "Apr", "Mei", "Jun", "Cul", "Agt", "Sep", "Okt", "Nob", "Dis"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"YA", "YK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yeso ataiborwa", "Yeso kaiboirwe"}, - timezones: map[string]string{"AWST": "AWST", "JST": "JST", "SGT": "SGT", "WIB": "WIB", "AEST": "AEST", "MDT": "MDT", "BOT": "BOT", "CHADT": "CHADT", "WART": "WART", "SAST": "SAST", "AKST": "AKST", "PST": "PST", "ChST": "ChST", "GYT": "GYT", "CDT": "CDT", "WESZ": "WESZ", "ACDT": "ACDT", "MESZ": "MESZ", "COT": "COT", "CST": "CST", "AWDT": "AWDT", "CLST": "CLST", "JDT": "JDT", "WEZ": "WEZ", "CHAST": "CHAST", "OEZ": "OEZ", "WAT": "WAT", "IST": "IST", "HAT": "HAT", "LHDT": "LHDT", "HKST": "HKST", "AKDT": "AKDT", "ADT": "ADT", "∅∅∅": "∅∅∅", "AEDT": "AEDT", "WARST": "WARST", "AST": "AST", "BT": "BT", "UYST": "UYST", "ACST": "ACST", "ART": "ART", "SRT": "SRT", "HAST": "HAST", "EST": "EST", "MYT": "MYT", "CAT": "CAT", "UYT": "UYT", "HADT": "HADT", "WIT": "WIT", "LHST": "LHST", "PDT": "PDT", "TMT": "TMT", "NZST": "NZST", "NZDT": "NZDT", "OESZ": "OESZ", "ACWDT": "ACWDT", "WAST": "WAST", "MST": "MST", "HKT": "HKT", "VET": "VET", "ACWST": "ACWST", "COST": "COST", "MEZ": "MEZ", "ARST": "ARST", "ECT": "ECT", "EDT": "EDT", "WITA": "WITA", "HNT": "HNT", "CLT": "CLT", "GMT": "GMT", "GFT": "GFT", "EAT": "EAT", "TMST": "TMST"}, + timezones: map[string]string{"SRT": "SRT", "HAT": "HAT", "HEOG": "HEOG", "MESZ": "MESZ", "CLT": "CLT", "UYT": "UYT", "BT": "BT", "HNOG": "HNOG", "OESZ": "OESZ", "COT": "COT", "COST": "COST", "VET": "VET", "HNT": "HNT", "HEPM": "HEPM", "MEZ": "MEZ", "CLST": "CLST", "BOT": "BOT", "EAT": "EAT", "EST": "EST", "MDT": "MDT", "ACWST": "ACWST", "WITA": "WITA", "HNPM": "HNPM", "NZDT": "NZDT", "IST": "IST", "WARST": "WARST", "PDT": "PDT", "HADT": "HADT", "WESZ": "WESZ", "AWDT": "AWDT", "HKT": "HKT", "SAST": "SAST", "GFT": "GFT", "ACST": "ACST", "GYT": "GYT", "WAST": "WAST", "AKDT": "AKDT", "MYT": "MYT", "HNCU": "HNCU", "HECU": "HECU", "HENOMX": "HENOMX", "WIT": "WIT", "WEZ": "WEZ", "JST": "JST", "TMST": "TMST", "HEEG": "HEEG", "WART": "WART", "HNNOMX": "HNNOMX", "HAST": "HAST", "HEPMX": "HEPMX", "UYST": "UYST", "MST": "MST", "ARST": "ARST", "ACWDT": "ACWDT", "AWST": "AWST", "NZST": "NZST", "TMT": "TMT", "CST": "CST", "WAT": "WAT", "SGT": "SGT", "ACDT": "ACDT", "LHDT": "LHDT", "∅∅∅": "∅∅∅", "AST": "AST", "LHST": "LHST", "CHAST": "CHAST", "EDT": "EDT", "HNPMX": "HNPMX", "AKST": "AKST", "AEST": "AEST", "AEDT": "AEDT", "HKST": "HKST", "CHADT": "CHADT", "OEZ": "OEZ", "PST": "PST", "ART": "ART", "JDT": "JDT", "ChST": "ChST", "HNEG": "HNEG", "WIB": "WIB", "ADT": "ADT", "CAT": "CAT", "GMT": "GMT", "CDT": "CDT", "ECT": "ECT"}, } } @@ -330,7 +330,12 @@ func (guz *guz) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (guz *guz) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (guz *guz) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (guz *guz) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/guz_KE/guz_KE.go b/guz_KE/guz_KE.go index f746e64a9..a83a5041b 100644 --- a/guz_KE/guz_KE.go +++ b/guz_KE/guz_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Can", "Feb", "Mac", "Apr", "Mei", "Jun", "Cul", "Agt", "Sep", "Okt", "Nob", "Dis"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"YA", "YK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yeso ataiborwa", "Yeso kaiboirwe"}, - timezones: map[string]string{"JST": "JST", "MEZ": "MEZ", "MESZ": "MESZ", "AKDT": "AKDT", "TMST": "TMST", "ECT": "ECT", "ACWST": "ACWST", "WART": "WART", "ADT": "ADT", "EAT": "EAT", "CST": "CST", "GMT": "GMT", "ACDT": "ACDT", "WARST": "WARST", "AKST": "AKST", "MST": "MST", "BOT": "BOT", "ChST": "ChST", "JDT": "JDT", "COST": "COST", "ACWDT": "ACWDT", "WAT": "WAT", "IST": "IST", "TMT": "TMT", "NZDT": "NZDT", "HNT": "HNT", "CLT": "CLT", "OESZ": "OESZ", "HKT": "HKT", "SGT": "SGT", "HAST": "HAST", "HADT": "HADT", "MDT": "MDT", "MYT": "MYT", "LHDT": "LHDT", "UYT": "UYT", "OEZ": "OEZ", "CHADT": "CHADT", "VET": "VET", "ART": "ART", "PST": "PST", "ACST": "ACST", "ARST": "ARST", "EST": "EST", "CAT": "CAT", "AWST": "AWST", "WIT": "WIT", "SRT": "SRT", "NZST": "NZST", "WESZ": "WESZ", "HKST": "HKST", "CHAST": "CHAST", "COT": "COT", "AEDT": "AEDT", "PDT": "PDT", "CDT": "CDT", "BT": "BT", "AWDT": "AWDT", "CLST": "CLST", "LHST": "LHST", "WIB": "WIB", "SAST": "SAST", "WITA": "WITA", "GFT": "GFT", "AEST": "AEST", "EDT": "EDT", "WEZ": "WEZ", "GYT": "GYT", "UYST": "UYST", "AST": "AST", "HAT": "HAT", "∅∅∅": "∅∅∅", "WAST": "WAST"}, + timezones: map[string]string{"HEOG": "HEOG", "JDT": "JDT", "ChST": "ChST", "HECU": "HECU", "WIB": "WIB", "COT": "COT", "EDT": "EDT", "SAST": "SAST", "TMST": "TMST", "ACDT": "ACDT", "HNPMX": "HNPMX", "HADT": "HADT", "ARST": "ARST", "CLST": "CLST", "GFT": "GFT", "ACST": "ACST", "WAST": "WAST", "OEZ": "OEZ", "SGT": "SGT", "MST": "MST", "MESZ": "MESZ", "IST": "IST", "HEPMX": "HEPMX", "AST": "AST", "HNOG": "HNOG", "HKST": "HKST", "WART": "WART", "CDT": "CDT", "VET": "VET", "LHDT": "LHDT", "CHAST": "CHAST", "OESZ": "OESZ", "EST": "EST", "AKST": "AKST", "HEPM": "HEPM", "CLT": "CLT", "HEEG": "HEEG", "HNCU": "HNCU", "GYT": "GYT", "MYT": "MYT", "UYST": "UYST", "AKDT": "AKDT", "CST": "CST", "WIT": "WIT", "AWDT": "AWDT", "HNNOMX": "HNNOMX", "ADT": "ADT", "PDT": "PDT", "WEZ": "WEZ", "ACWDT": "ACWDT", "HAT": "HAT", "LHST": "LHST", "BOT": "BOT", "COST": "COST", "GMT": "GMT", "MDT": "MDT", "BT": "BT", "HNEG": "HNEG", "WAT": "WAT", "HNT": "HNT", "AEST": "AEST", "JST": "JST", "TMT": "TMT", "ECT": "ECT", "CAT": "CAT", "EAT": "EAT", "ART": "ART", "WESZ": "WESZ", "ACWST": "ACWST", "HNPM": "HNPM", "∅∅∅": "∅∅∅", "HENOMX": "HENOMX", "HAST": "HAST", "AEDT": "AEDT", "UYT": "UYT", "SRT": "SRT", "PST": "PST", "MEZ": "MEZ", "NZST": "NZST", "CHADT": "CHADT", "AWST": "AWST", "HKT": "HKT", "WITA": "WITA", "NZDT": "NZDT", "WARST": "WARST"}, } } @@ -330,7 +330,12 @@ func (guz *guz_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (guz *guz_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (guz *guz_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (guz *guz_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, guz.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gv/gv.go b/gv/gv.go index 3af9b9784..79826f023 100644 --- a/gv/gv.go +++ b/gv/gv.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "J-guer", "T-arree", "Mayrnt", "Avrril", "Boaldyn", "M-souree", "J-souree", "Luanistyn", "M-fouyir", "J-fouyir", "M-Houney", "M-Nollick"}, monthsWide: []string{"", "Jerrey-geuree", "Toshiaght-arree", "Mayrnt", "Averil", "Boaldyn", "Mean-souree", "Jerrey-souree", "Luanistyn", "Mean-fouyir", "Jerrey-fouyir", "Mee Houney", "Mee ny Nollick"}, daysAbbreviated: []string{"Jed", "Jel", "Jem", "Jerc", "Jerd", "Jeh", "Jes"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACWST": "ACWST", "WAT": "WAT", "PST": "PST", "AST": "AST", "ChST": "ChST", "SGT": "SGT", "AEDT": "AEDT", "ADT": "ADT", "UYST": "UYST", "MESZ": "MESZ", "WIB": "WIB", "PDT": "PDT", "MDT": "MDT", "AWST": "AWST", "ECT": "ECT", "EST": "EST", "TMST": "TMST", "CST": "CST", "OEZ": "OEZ", "AKST": "AKST", "MEZ": "MEZ", "WART": "WART", "HADT": "HADT", "SRT": "SRT", "ACDT": "ACDT", "SAST": "SAST", "∅∅∅": "∅∅∅", "CAT": "CAT", "COST": "COST", "GMT": "GMT", "WAST": "WAST", "NZST": "NZST", "BOT": "BOT", "HNT": "HNT", "HKST": "HKST", "WITA": "WITA", "OESZ": "OESZ", "EAT": "EAT", "MYT": "MYT", "UYT": "UYT", "JST": "JST", "COT": "COT", "MST": "MST", "CLT": "CLT", "CLST": "CLST", "WIT": "WIT", "JDT": "JDT", "VET": "VET", "GYT": "GYT", "GFT": "GFT", "TMT": "TMT", "AEST": "AEST", "NZDT": "NZDT", "HAT": "HAT", "ACWDT": "ACWDT", "EDT": "EDT", "AWDT": "AWDT", "LHDT": "LHDT", "WARST": "WARST", "ART": "ART", "HAST": "HAST", "AKDT": "AKDT", "CDT": "CDT", "BT": "BT", "WEZ": "WEZ", "ACST": "ACST", "IST": "IST", "LHST": "LHST", "WESZ": "WESZ", "HKT": "HKT", "CHAST": "CHAST", "CHADT": "CHADT", "ARST": "ARST"}, + timezones: map[string]string{"GFT": "GFT", "HNNOMX": "HNNOMX", "WART": "WART", "AKDT": "AKDT", "PST": "PST", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "CLT": "CLT", "OESZ": "OESZ", "ECT": "ECT", "HENOMX": "HENOMX", "HECU": "HECU", "AKST": "AKST", "ADT": "ADT", "MESZ": "MESZ", "BOT": "BOT", "HNT": "HNT", "PDT": "PDT", "WIB": "WIB", "HADT": "HADT", "EST": "EST", "ACWST": "ACWST", "WIT": "WIT", "ARST": "ARST", "WITA": "WITA", "JDT": "JDT", "WARST": "WARST", "SRT": "SRT", "MDT": "MDT", "UYT": "UYT", "WESZ": "WESZ", "HEEG": "HEEG", "OEZ": "OEZ", "HNEG": "HNEG", "SGT": "SGT", "BT": "BT", "CHADT": "CHADT", "CLST": "CLST", "MST": "MST", "AST": "AST", "CHAST": "CHAST", "COST": "COST", "ACST": "ACST", "COT": "COT", "CDT": "CDT", "UYST": "UYST", "VET": "VET", "HNPM": "HNPM", "NZST": "NZST", "HNCU": "HNCU", "HEOG": "HEOG", "AEDT": "AEDT", "ACDT": "ACDT", "WAT": "WAT", "WAST": "WAST", "CAT": "CAT", "CST": "CST", "ACWDT": "ACWDT", "HAT": "HAT", "HEPM": "HEPM", "LHST": "LHST", "JST": "JST", "EAT": "EAT", "GYT": "GYT", "HKST": "HKST", "AWST": "AWST", "NZDT": "NZDT", "IST": "IST", "GMT": "GMT", "HNPMX": "HNPMX", "HAST": "HAST", "HKT": "HKT", "AEST": "AEST", "SAST": "SAST", "ChST": "ChST", "MYT": "MYT", "ART": "ART", "WEZ": "WEZ", "MEZ": "MEZ", "TMST": "TMST", "HNOG": "HNOG", "TMT": "TMT", "EDT": "EDT", "LHDT": "LHDT", "HEPMX": "HEPMX"}, } } @@ -360,7 +360,12 @@ func (gv *gv) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -378,7 +383,12 @@ func (gv *gv) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -399,7 +409,12 @@ func (gv *gv) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/gv_IM/gv_IM.go b/gv_IM/gv_IM.go index 9d074ef39..92c6689ad 100644 --- a/gv_IM/gv_IM.go +++ b/gv_IM/gv_IM.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "J-guer", "T-arree", "Mayrnt", "Avrril", "Boaldyn", "M-souree", "J-souree", "Luanistyn", "M-fouyir", "J-fouyir", "M-Houney", "M-Nollick"}, monthsWide: []string{"", "Jerrey-geuree", "Toshiaght-arree", "Mayrnt", "Averil", "Boaldyn", "Mean-souree", "Jerrey-souree", "Luanistyn", "Mean-fouyir", "Jerrey-fouyir", "Mee Houney", "Mee ny Nollick"}, daysAbbreviated: []string{"Jed", "Jel", "Jem", "Jerc", "Jerd", "Jeh", "Jes"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"EST": "EST", "LHST": "LHST", "NZDT": "NZDT", "GMT": "GMT", "ART": "ART", "WITA": "WITA", "CST": "CST", "CLST": "CLST", "UYT": "UYT", "AEDT": "AEDT", "WAST": "WAST", "MDT": "MDT", "SRT": "SRT", "AEST": "AEST", "EDT": "EDT", "HKT": "HKT", "CHADT": "CHADT", "MESZ": "MESZ", "ECT": "ECT", "EAT": "EAT", "NZST": "NZST", "OESZ": "OESZ", "MEZ": "MEZ", "ACST": "ACST", "HAST": "HAST", "ADT": "ADT", "BT": "BT", "OEZ": "OEZ", "ACWST": "ACWST", "GYT": "GYT", "HAT": "HAT", "JDT": "JDT", "CHAST": "CHAST", "SGT": "SGT", "HNT": "HNT", "LHDT": "LHDT", "JST": "JST", "IST": "IST", "TMT": "TMT", "MST": "MST", "BOT": "BOT", "AWDT": "AWDT", "WARST": "WARST", "PST": "PST", "AST": "AST", "AWST": "AWST", "GFT": "GFT", "SAST": "SAST", "PDT": "PDT", "WEZ": "WEZ", "HADT": "HADT", "WART": "WART", "ACWDT": "ACWDT", "AKST": "AKST", "ChST": "ChST", "CAT": "CAT", "WESZ": "WESZ", "COST": "COST", "UYST": "UYST", "ACDT": "ACDT", "VET": "VET", "AKDT": "AKDT", "CDT": "CDT", "∅∅∅": "∅∅∅", "CLT": "CLT", "WIT": "WIT", "ARST": "ARST", "COT": "COT", "WIB": "WIB", "WAT": "WAT", "TMST": "TMST", "MYT": "MYT", "HKST": "HKST"}, + timezones: map[string]string{"CHADT": "CHADT", "JDT": "JDT", "ACST": "ACST", "WAST": "WAST", "AWST": "AWST", "AEDT": "AEDT", "HEPM": "HEPM", "NZST": "NZST", "CAT": "CAT", "AKST": "AKST", "ADT": "ADT", "ACWDT": "ACWDT", "HEOG": "HEOG", "NZDT": "NZDT", "JST": "JST", "AKDT": "AKDT", "GYT": "GYT", "UYST": "UYST", "HKT": "HKT", "MESZ": "MESZ", "TMST": "TMST", "GMT": "GMT", "MDT": "MDT", "EDT": "EDT", "EST": "EST", "LHST": "LHST", "WARST": "WARST", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "BOT": "BOT", "HNNOMX": "HNNOMX", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "EAT": "EAT", "CHAST": "CHAST", "CLT": "CLT", "CLST": "CLST", "ACDT": "ACDT", "SRT": "SRT", "BT": "BT", "ARST": "ARST", "AWDT": "AWDT", "ECT": "ECT", "COST": "COST", "MST": "MST", "HNCU": "HNCU", "WEZ": "WEZ", "ACWST": "ACWST", "AEST": "AEST", "WART": "WART", "OESZ": "OESZ", "CST": "CST", "AST": "AST", "WIT": "WIT", "HNOG": "HNOG", "HNPM": "HNPM", "MEZ": "MEZ", "TMT": "TMT", "UYT": "UYT", "IST": "IST", "HENOMX": "HENOMX", "HECU": "HECU", "CDT": "CDT", "PDT": "PDT", "ChST": "ChST", "OEZ": "OEZ", "WAT": "WAT", "COT": "COT", "SGT": "SGT", "WIB": "WIB", "PST": "PST", "WITA": "WITA", "LHDT": "LHDT", "SAST": "SAST", "ART": "ART", "GFT": "GFT", "VET": "VET", "HADT": "HADT", "HNEG": "HNEG", "MYT": "MYT", "HAST": "HAST", "WESZ": "WESZ", "HNT": "HNT", "HAT": "HAT", "HKST": "HKST"}, } } @@ -360,7 +360,12 @@ func (gv *gv_IM) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -378,7 +383,12 @@ func (gv *gv_IM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -399,7 +409,12 @@ func (gv *gv_IM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, gv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ha/ha.go b/ha/ha.go index de4bfff35..35922af93 100644 --- a/ha/ha.go +++ b/ha/ha.go @@ -51,19 +51,23 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Fab", "Mar", "Afi", "May", "Yun", "Yul", "Agu", "Sat", "Okt", "Nuw", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Y", "Y", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janairu", "Faburairu", "Maris", "Afirilu", "Mayu", "Yuni", "Yuli", "Agusta", "Satumba", "Oktoba", "Nuwamba", "Disamba"}, - daysAbbreviated: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, + daysAbbreviated: []string{"Lah", "Lit", "Tal", "Lar", "Alh", "Jum", "Asa"}, daysNarrow: []string{"L", "L", "T", "L", "A", "J", "A"}, + daysShort: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, daysWide: []string{"Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Jummaʼa", "Asabar"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"KHAI", "BHAI"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kafin haihuwar annab", "Bayan haihuwar annab"}, - timezones: map[string]string{"SAST": "SAST", "MDT": "MDT", "MYT": "MYT", "BT": "BT", "HAT": "HAT", "OEZ": "OEZ", "CHAST": "CHAST", "ACWDT": "ACWDT", "ART": "ART", "WART": "WART", "MST": "MST", "CLST": "CLST", "HKST": "HKST", "ACST": "ACST", "HADT": "HADT", "WARST": "WARST", "UYST": "UYST", "JST": "JST", "WESZ": "WESZ", "CHADT": "CHADT", "WITA": "WITA", "ChST": "ChST", "CAT": "CAT", "AEST": "AEST", "EDT": "EDT", "BOT": "BOT", "LHDT": "LHDT", "SGT": "SGT", "ARST": "ARST", "WEZ": "WEZ", "EST": "EST", "ADT": "ADT", "UYT": "UYT", "NZST": "NZST", "AWST": "AWST", "MEZ": "MEZ", "COST": "COST", "VET": "VET", "WIB": "WIB", "ACWST": "ACWST", "PST": "PST", "HNT": "HNT", "CLT": "CLT", "WIT": "WIT", "LHST": "LHST", "AST": "AST", "TMST": "TMST", "CST": "CST", "WAT": "WAT", "WAST": "WAST", "IST": "IST", "∅∅∅": "∅∅∅", "HKT": "HKT", "GMT": "GMT", "EAT": "EAT", "TMT": "TMT", "CDT": "CDT", "JDT": "JDT", "SRT": "SRT", "MESZ": "MESZ", "AEDT": "AEDT", "AKST": "AKST", "PDT": "PDT", "NZDT": "NZDT", "GFT": "GFT", "COT": "COT", "ECT": "ECT", "HAST": "HAST", "AKDT": "AKDT", "GYT": "GYT", "AWDT": "AWDT", "OESZ": "OESZ", "ACDT": "ACDT"}, + timezones: map[string]string{"HNPM": "HNPM", "HNNOMX": "HNNOMX", "SGT": "SGT", "HNPMX": "HNPMX", "HAST": "HAST", "HNOG": "HNOG", "AEDT": "AEDT", "CHAST": "CHAST", "ACDT": "ACDT", "CAT": "CAT", "HECU": "HECU", "EST": "EST", "EDT": "EDT", "MDT": "MDT", "AST": "AST", "CDT": "CDT", "ACWST": "ACWST", "SRT": "SRT", "∅∅∅": "∅∅∅", "BOT": "BOT", "HEOG": "HEOG", "PDT": "PDT", "ACWDT": "ACWDT", "HKST": "HKST", "SAST": "SAST", "GFT": "GFT", "COT": "COT", "MYT": "MYT", "ARST": "ARST", "NZST": "NZST", "TMT": "TMT", "HNEG": "HNEG", "HEPMX": "HEPMX", "HADT": "HADT", "VET": "VET", "BT": "BT", "LHDT": "LHDT", "CLT": "CLT", "ChST": "ChST", "MESZ": "MESZ", "CHADT": "CHADT", "OEZ": "OEZ", "COST": "COST", "WIB": "WIB", "WITA": "WITA", "IST": "IST", "AKST": "AKST", "AEST": "AEST", "AWDT": "AWDT", "HEPM": "HEPM", "MEZ": "MEZ", "OESZ": "OESZ", "AKDT": "AKDT", "WESZ": "WESZ", "JDT": "JDT", "CLST": "CLST", "ECT": "ECT", "UYT": "UYT", "UYST": "UYST", "CST": "CST", "ART": "ART", "WEZ": "WEZ", "ACST": "ACST", "AWST": "AWST", "LHST": "LHST", "EAT": "EAT", "HENOMX": "HENOMX", "GYT": "GYT", "HAT": "HAT", "HKT": "HKT", "NZDT": "NZDT", "JST": "JST", "TMST": "TMST", "WAT": "WAT", "WART": "WART", "HNCU": "HNCU", "PST": "PST", "HEEG": "HEEG", "GMT": "GMT", "HNT": "HNT", "WAST": "WAST", "WARST": "WARST", "MST": "MST", "ADT": "ADT", "WIT": "WIT"}, } } @@ -414,7 +418,12 @@ func (ha *ha) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +437,12 @@ func (ha *ha) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +458,12 @@ func (ha *ha) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,13 +473,11 @@ func (ha *ha) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -468,13 +485,6 @@ func (ha *ha) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -484,13 +494,11 @@ func (ha *ha) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -505,13 +513,6 @@ func (ha *ha) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -521,13 +522,11 @@ func (ha *ha) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -544,14 +543,6 @@ func (ha *ha) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -563,13 +554,11 @@ func (ha *ha) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -586,14 +575,6 @@ func (ha *ha) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := ha.timezones[tz]; ok { diff --git a/ha_GH/ha_GH.go b/ha_GH/ha_GH.go index 655a8c8a9..3aec70aae 100644 --- a/ha_GH/ha_GH.go +++ b/ha_GH/ha_GH.go @@ -51,19 +51,23 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GH₵", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Fab", "Mar", "Afi", "May", "Yun", "Yul", "Agu", "Sat", "Okt", "Nuw", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Y", "Y", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janairu", "Faburairu", "Maris", "Afirilu", "Mayu", "Yuni", "Yuli", "Agusta", "Satumba", "Oktoba", "Nuwamba", "Disamba"}, - daysAbbreviated: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, + daysAbbreviated: []string{"Lah", "Lit", "Tal", "Lar", "Alh", "Jum", "Asa"}, daysNarrow: []string{"L", "L", "T", "L", "A", "J", "A"}, + daysShort: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, daysWide: []string{"Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Jummaʼa", "Asabar"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"KHAI", "BHAI"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kafin haihuwar annab", "Bayan haihuwar annab"}, - timezones: map[string]string{"EDT": "EDT", "NZDT": "NZDT", "AEDT": "AEDT", "WARST": "WARST", "TMT": "TMT", "TMST": "TMST", "CHAST": "CHAST", "ECT": "ECT", "ART": "ART", "CST": "CST", "∅∅∅": "∅∅∅", "GMT": "GMT", "ARST": "ARST", "MDT": "MDT", "MYT": "MYT", "JDT": "JDT", "SGT": "SGT", "AEST": "AEST", "EAT": "EAT", "ChST": "ChST", "HNT": "HNT", "LHST": "LHST", "WIB": "WIB", "MESZ": "MESZ", "ACST": "ACST", "WAST": "WAST", "MST": "MST", "BT": "BT", "AWDT": "AWDT", "ACWDT": "ACWDT", "AST": "AST", "AKDT": "AKDT", "WIT": "WIT", "LHDT": "LHDT", "WESZ": "WESZ", "WAT": "WAT", "EST": "EST", "HAT": "HAT", "SRT": "SRT", "IST": "IST", "AWST": "AWST", "CLT": "CLT", "UYST": "UYST", "HKT": "HKT", "COST": "COST", "VET": "VET", "HAST": "HAST", "HADT": "HADT", "PDT": "PDT", "ADT": "ADT", "WITA": "WITA", "BOT": "BOT", "WART": "WART", "PST": "PST", "CLST": "CLST", "OEZ": "OEZ", "CDT": "CDT", "NZST": "NZST", "UYT": "UYT", "HKST": "HKST", "ACDT": "ACDT", "SAST": "SAST", "GYT": "GYT", "CAT": "CAT", "JST": "JST", "CHADT": "CHADT", "MEZ": "MEZ", "COT": "COT", "ACWST": "ACWST", "AKST": "AKST", "WEZ": "WEZ", "OESZ": "OESZ", "GFT": "GFT"}, + timezones: map[string]string{"PST": "PST", "NZDT": "NZDT", "CST": "CST", "UYT": "UYT", "AKST": "AKST", "CLT": "CLT", "CLST": "CLST", "WART": "WART", "WARST": "WARST", "HECU": "HECU", "HAST": "HAST", "HEOG": "HEOG", "LHDT": "LHDT", "NZST": "NZST", "CAT": "CAT", "∅∅∅": "∅∅∅", "AST": "AST", "HENOMX": "HENOMX", "GMT": "GMT", "MYT": "MYT", "ACST": "ACST", "WAT": "WAT", "COT": "COT", "HNNOMX": "HNNOMX", "ACWDT": "ACWDT", "SAST": "SAST", "ADT": "ADT", "EST": "EST", "MST": "MST", "AKDT": "AKDT", "HNOG": "HNOG", "MEZ": "MEZ", "ChST": "ChST", "ACDT": "ACDT", "WIB": "WIB", "HADT": "HADT", "WIT": "WIT", "AWST": "AWST", "EDT": "EDT", "HNPMX": "HNPMX", "CDT": "CDT", "TMST": "TMST", "OEZ": "OEZ", "OESZ": "OESZ", "BT": "BT", "ACWST": "ACWST", "ARST": "ARST", "GFT": "GFT", "HEPMX": "HEPMX", "VET": "VET", "HNT": "HNT", "HKST": "HKST", "JST": "JST", "TMT": "TMT", "IST": "IST", "BOT": "BOT", "EAT": "EAT", "WESZ": "WESZ", "AWDT": "AWDT", "HKT": "HKT", "LHST": "LHST", "COST": "COST", "SGT": "SGT", "MDT": "MDT", "PDT": "PDT", "HNPM": "HNPM", "CHADT": "CHADT", "JDT": "JDT", "WEZ": "WEZ", "ART": "ART", "HNEG": "HNEG", "WAST": "WAST", "ECT": "ECT", "UYST": "UYST", "SRT": "SRT", "HAT": "HAT", "AEST": "AEST", "HEPM": "HEPM", "GYT": "GYT", "AEDT": "AEDT", "WITA": "WITA", "MESZ": "MESZ", "HEEG": "HEEG", "CHAST": "CHAST", "HNCU": "HNCU"}, } } @@ -414,7 +418,12 @@ func (ha *ha_GH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +437,12 @@ func (ha *ha_GH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +458,12 @@ func (ha *ha_GH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,13 +473,11 @@ func (ha *ha_GH) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -468,13 +485,6 @@ func (ha *ha_GH) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -484,13 +494,11 @@ func (ha *ha_GH) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -505,13 +513,6 @@ func (ha *ha_GH) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -521,13 +522,11 @@ func (ha *ha_GH) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -544,14 +543,6 @@ func (ha *ha_GH) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -563,13 +554,11 @@ func (ha *ha_GH) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -586,14 +575,6 @@ func (ha *ha_GH) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := ha.timezones[tz]; ok { diff --git a/ha_NE/ha_NE.go b/ha_NE/ha_NE.go index a2d71785b..12734aa79 100644 --- a/ha_NE/ha_NE.go +++ b/ha_NE/ha_NE.go @@ -51,19 +51,23 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Fab", "Mar", "Afi", "May", "Yun", "Yul", "Agu", "Sat", "Okt", "Nuw", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Y", "Y", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janairu", "Faburairu", "Maris", "Afirilu", "Mayu", "Yuni", "Yuli", "Agusta", "Satumba", "Oktoba", "Nuwamba", "Disamba"}, - daysAbbreviated: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, + daysAbbreviated: []string{"Lah", "Lit", "Tal", "Lar", "Alh", "Jum", "Asa"}, daysNarrow: []string{"L", "L", "T", "L", "A", "J", "A"}, + daysShort: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, daysWide: []string{"Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Jummaʼa", "Asabar"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"KHAI", "BHAI"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kafin haihuwar annab", "Bayan haihuwar annab"}, - timezones: map[string]string{"WAT": "WAT", "TMT": "TMT", "UYT": "UYT", "OEZ": "OEZ", "ADT": "ADT", "GYT": "GYT", "ChST": "ChST", "CAT": "CAT", "WIT": "WIT", "∅∅∅": "∅∅∅", "NZST": "NZST", "COST": "COST", "WIB": "WIB", "WARST": "WARST", "WAST": "WAST", "MST": "MST", "AWST": "AWST", "GFT": "GFT", "MEZ": "MEZ", "WART": "WART", "IST": "IST", "SRT": "SRT", "AEDT": "AEDT", "PST": "PST", "TMST": "TMST", "CST": "CST", "UYST": "UYST", "CHADT": "CHADT", "AKDT": "AKDT", "WITA": "WITA", "HNT": "HNT", "CLT": "CLT", "ACWST": "ACWST", "BT": "BT", "AWDT": "AWDT", "LHST": "LHST", "BOT": "BOT", "HAST": "HAST", "AEST": "AEST", "AST": "AST", "EAT": "EAT", "SAST": "SAST", "EST": "EST", "EDT": "EDT", "LHDT": "LHDT", "MESZ": "MESZ", "ECT": "ECT", "VET": "VET", "PDT": "PDT", "MDT": "MDT", "JST": "JST", "JDT": "JDT", "AKST": "AKST", "CDT": "CDT", "HAT": "HAT", "CHAST": "CHAST", "ACST": "ACST", "SGT": "SGT", "NZDT": "NZDT", "HKST": "HKST", "COT": "COT", "ART": "ART", "GMT": "GMT", "ACWDT": "ACWDT", "CLST": "CLST", "OESZ": "OESZ", "WESZ": "WESZ", "ACDT": "ACDT", "HADT": "HADT", "ARST": "ARST", "MYT": "MYT", "WEZ": "WEZ", "HKT": "HKT"}, + timezones: map[string]string{"CHAST": "CHAST", "MEZ": "MEZ", "CLST": "CLST", "TMT": "TMT", "ECT": "ECT", "COST": "COST", "EST": "EST", "AWST": "AWST", "LHDT": "LHDT", "GFT": "GFT", "UYST": "UYST", "AWDT": "AWDT", "HEEG": "HEEG", "WART": "WART", "EDT": "EDT", "NZST": "NZST", "ACST": "ACST", "CAT": "CAT", "HENOMX": "HENOMX", "VET": "VET", "HAT": "HAT", "HNOG": "HNOG", "MESZ": "MESZ", "ACDT": "ACDT", "OEZ": "OEZ", "HNT": "HNT", "HNPM": "HNPM", "ADT": "ADT", "HNEG": "HNEG", "WAT": "WAT", "WAST": "WAST", "GYT": "GYT", "HADT": "HADT", "ART": "ART", "WEZ": "WEZ", "AEST": "AEST", "EAT": "EAT", "MST": "MST", "MDT": "MDT", "CST": "CST", "AKST": "AKST", "AKDT": "AKDT", "ARST": "ARST", "HNNOMX": "HNNOMX", "SGT": "SGT", "BT": "BT", "SRT": "SRT", "JST": "JST", "WARST": "WARST", "AST": "AST", "HAST": "HAST", "HEOG": "HEOG", "NZDT": "NZDT", "COT": "COT", "WIB": "WIB", "HKST": "HKST", "SAST": "SAST", "CLT": "CLT", "UYT": "UYT", "∅∅∅": "∅∅∅", "WIT": "WIT", "PDT": "PDT", "IST": "IST", "ChST": "ChST", "GMT": "GMT", "HNPMX": "HNPMX", "MYT": "MYT", "ACWDT": "ACWDT", "AEDT": "AEDT", "CHADT": "CHADT", "LHST": "LHST", "JDT": "JDT", "CDT": "CDT", "PST": "PST", "WESZ": "WESZ", "WITA": "WITA", "HKT": "HKT", "HEPM": "HEPM", "TMST": "TMST", "BOT": "BOT", "OESZ": "OESZ", "HNCU": "HNCU", "HECU": "HECU", "HEPMX": "HEPMX", "ACWST": "ACWST"}, } } @@ -414,7 +418,12 @@ func (ha *ha_NE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +437,12 @@ func (ha *ha_NE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +458,12 @@ func (ha *ha_NE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ha_NG/ha_NG.go b/ha_NG/ha_NG.go index c1e4f2a20..ce2947473 100644 --- a/ha_NG/ha_NG.go +++ b/ha_NG/ha_NG.go @@ -51,19 +51,23 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Fab", "Mar", "Afi", "May", "Yun", "Yul", "Agu", "Sat", "Okt", "Nuw", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Y", "Y", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janairu", "Faburairu", "Maris", "Afirilu", "Mayu", "Yuni", "Yuli", "Agusta", "Satumba", "Oktoba", "Nuwamba", "Disamba"}, - daysAbbreviated: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, + daysAbbreviated: []string{"Lah", "Lit", "Tal", "Lar", "Alh", "Jum", "Asa"}, daysNarrow: []string{"L", "L", "T", "L", "A", "J", "A"}, + daysShort: []string{"Lh", "Li", "Ta", "Lr", "Al", "Ju", "As"}, daysWide: []string{"Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Jummaʼa", "Asabar"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"KHAI", "BHAI"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kafin haihuwar annab", "Bayan haihuwar annab"}, - timezones: map[string]string{"CLT": "CLT", "BT": "BT", "WARST": "WARST", "PST": "PST", "WESZ": "WESZ", "WAST": "WAST", "HAT": "HAT", "CAT": "CAT", "SRT": "SRT", "OEZ": "OEZ", "CHADT": "CHADT", "EST": "EST", "PDT": "PDT", "JST": "JST", "CHAST": "CHAST", "HAST": "HAST", "IST": "IST", "BOT": "BOT", "OESZ": "OESZ", "WIB": "WIB", "TMT": "TMT", "GFT": "GFT", "WEZ": "WEZ", "COST": "COST", "ECT": "ECT", "MDT": "MDT", "JDT": "JDT", "LHDT": "LHDT", "HKT": "HKT", "EDT": "EDT", "WAT": "WAT", "∅∅∅": "∅∅∅", "HKST": "HKST", "COT": "COT", "MEZ": "MEZ", "ADT": "ADT", "WITA": "WITA", "NZST": "NZST", "VET": "VET", "MESZ": "MESZ", "AEST": "AEST", "CST": "CST", "ChST": "ChST", "GMT": "GMT", "ACWDT": "ACWDT", "CLST": "CLST", "ACWST": "ACWST", "AKDT": "AKDT", "AWDT": "AWDT", "HNT": "HNT", "UYT": "UYT", "ACDT": "ACDT", "AKST": "AKST", "TMST": "TMST", "GYT": "GYT", "UYST": "UYST", "SGT": "SGT", "ART": "ART", "SAST": "SAST", "MST": "MST", "MYT": "MYT", "CDT": "CDT", "NZDT": "NZDT", "AWST": "AWST", "LHST": "LHST", "HADT": "HADT", "WART": "WART", "AST": "AST", "EAT": "EAT", "WIT": "WIT", "ACST": "ACST", "AEDT": "AEDT", "ARST": "ARST"}, + timezones: map[string]string{"CHAST": "CHAST", "∅∅∅": "∅∅∅", "CAT": "CAT", "GYT": "GYT", "ACWST": "ACWST", "ACST": "ACST", "CHADT": "CHADT", "BT": "BT", "AWDT": "AWDT", "MESZ": "MESZ", "HNCU": "HNCU", "AKST": "AKST", "CDT": "CDT", "WIT": "WIT", "NZST": "NZST", "IST": "IST", "TMT": "TMT", "AST": "AST", "WIB": "WIB", "HEOG": "HEOG", "WESZ": "WESZ", "HKT": "HKT", "MEZ": "MEZ", "JDT": "JDT", "WAST": "WAST", "COST": "COST", "HENOMX": "HENOMX", "SRT": "SRT", "MDT": "MDT", "HNPMX": "HNPMX", "GMT": "GMT", "ARST": "ARST", "WITA": "WITA", "JST": "JST", "ChST": "ChST", "HNEG": "HNEG", "OEZ": "OEZ", "UYT": "UYT", "HNT": "HNT", "HKST": "HKST", "CLST": "CLST", "COT": "COT", "SGT": "SGT", "UYST": "UYST", "AWST": "AWST", "ACDT": "ACDT", "ECT": "ECT", "WART": "WART", "WARST": "WARST", "MYT": "MYT", "HADT": "HADT", "HNPM": "HNPM", "HEPM": "HEPM", "LHDT": "LHDT", "PDT": "PDT", "SAST": "SAST", "CLT": "CLT", "HEEG": "HEEG", "EST": "EST", "HAST": "HAST", "AEST": "AEST", "LHST": "LHST", "CST": "CST", "ACWDT": "ACWDT", "TMST": "TMST", "EDT": "EDT", "MST": "MST", "AEDT": "AEDT", "PST": "PST", "NZDT": "NZDT", "EAT": "EAT", "HNNOMX": "HNNOMX", "AKDT": "AKDT", "VET": "VET", "ART": "ART", "HNOG": "HNOG", "BOT": "BOT", "WAT": "WAT", "ADT": "ADT", "WEZ": "WEZ", "GFT": "GFT", "OESZ": "OESZ", "HECU": "HECU", "HEPMX": "HEPMX", "HAT": "HAT"}, } } @@ -414,7 +418,12 @@ func (ha *ha_NG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +437,12 @@ func (ha *ha_NG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +458,12 @@ func (ha *ha_NG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ha.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,13 +473,11 @@ func (ha *ha_NG) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -468,13 +485,6 @@ func (ha *ha_NG) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -484,13 +494,11 @@ func (ha *ha_NG) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -505,13 +513,6 @@ func (ha *ha_NG) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } return string(b) } @@ -521,13 +522,11 @@ func (ha *ha_NG) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -544,14 +543,6 @@ func (ha *ha_NG) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -563,13 +554,11 @@ func (ha *ha_NG) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ha.timeSeparator...) if t.Minute() < 10 { @@ -586,14 +575,6 @@ func (ha *ha_NG) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ha.periodsAbbreviated[0]...) - } else { - b = append(b, ha.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := ha.timezones[tz]; ok { diff --git a/haw/haw.go b/haw/haw.go index 9851e233e..ad90353c8 100644 --- a/haw/haw.go +++ b/haw/haw.go @@ -48,15 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ian.", "Pep.", "Mal.", "ʻAp.", "Mei", "Iun.", "Iul.", "ʻAu.", "Kep.", "ʻOk.", "Now.", "Kek."}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Ianuali", "Pepeluali", "Malaki", "ʻApelila", "Mei", "Iune", "Iulai", "ʻAukake", "Kepakemapa", "ʻOkakopa", "Nowemapa", "Kekemapa"}, daysAbbreviated: []string{"LP", "P1", "P2", "P3", "P4", "P5", "P6"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"LP", "P1", "P2", "P3", "P4", "P5", "P6"}, daysWide: []string{"Lāpule", "Poʻakahi", "Poʻalua", "Poʻakolu", "Poʻahā", "Poʻalima", "Poʻaono"}, - timezones: map[string]string{"EST": "EST", "BT": "BT", "ACDT": "ACDT", "ACWST": "ACWST", "∅∅∅": "∅∅∅", "ChST": "ChST", "AWDT": "AWDT", "SRT": "SRT", "CLST": "CLST", "GMT": "GMT", "JST": "JST", "MESZ": "MESZ", "ECT": "ECT", "WAT": "WAT", "TMST": "TMST", "GYT": "GYT", "HKT": "HKT", "GFT": "GFT", "MEZ": "MEZ", "VET": "VET", "WART": "WART", "PST": "PST", "IST": "IST", "WITA": "WITA", "CAT": "CAT", "ACWDT": "ACWDT", "AKDT": "AKDT", "TMT": "TMT", "LHST": "LHST", "SAST": "SAST", "CDT": "CDT", "BOT": "BOT", "MDT": "MDT", "HNT": "HNT", "HAT": "HAT", "WIT": "WIT", "CHAST": "CHAST", "HADT": "HADT", "ART": "ART", "ADT": "ADT", "EDT": "EDT", "MYT": "MYT", "UYST": "UYST", "CHADT": "CHADT", "AST": "AST", "LHDT": "LHDT", "OESZ": "OESZ", "SGT": "SGT", "COT": "COT", "HAST": "HAST", "EAT": "EAT", "AWST": "AWST", "ACST": "ACST", "AEST": "AEST", "JDT": "JDT", "COST": "COST", "NZST": "NZST", "CLT": "CLT", "WEZ": "WEZ", "HKST": "HKST", "WARST": "WARST", "PDT": "PDT", "AKST": "AKST", "NZDT": "NZDT", "WESZ": "WESZ", "WIB": "WIB", "AEDT": "AEDT", "WAST": "WAST", "CST": "CST", "MST": "MST", "UYT": "UYT", "OEZ": "OEZ", "ARST": "ARST"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BCE", "CE"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"BCE", "CE"}, + timezones: map[string]string{"WESZ": "WESZ", "MEZ": "MEZ", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "EDT": "EDT", "LHDT": "LHDT", "WARST": "WARST", "AST": "AST", "UYST": "UYST", "WIT": "WIT", "PDT": "PDT", "HKST": "HKST", "AEST": "AEST", "MST": "MST", "CST": "CST", "UYT": "UYT", "WAT": "WAT", "HENOMX": "HENOMX", "HNOG": "HNOG", "AKDT": "AKDT", "CDT": "CDT", "GYT": "GYT", "ChST": "ChST", "HAST": "HAST", "WITA": "WITA", "SAST": "SAST", "SRT": "SRT", "HEEG": "HEEG", "CLT": "CLT", "OEZ": "OEZ", "WART": "WART", "EST": "EST", "ARST": "ARST", "∅∅∅": "∅∅∅", "EAT": "EAT", "COT": "COT", "HECU": "HECU", "HADT": "HADT", "HAT": "HAT", "CLST": "CLST", "WEZ": "WEZ", "JST": "JST", "ACST": "ACST", "CAT": "CAT", "COST": "COST", "WIB": "WIB", "HNT": "HNT", "ART": "ART", "BOT": "BOT", "ECT": "ECT", "HEOG": "HEOG", "HNPM": "HNPM", "GFT": "GFT", "AEDT": "AEDT", "JDT": "JDT", "SGT": "SGT", "HNPMX": "HNPMX", "ACWST": "ACWST", "ACWDT": "ACWDT", "NZDT": "NZDT", "CHADT": "CHADT", "TMST": "TMST", "MDT": "MDT", "BT": "BT", "HEPM": "HEPM", "AWST": "AWST", "MESZ": "MESZ", "LHST": "LHST", "HNEG": "HNEG", "AKST": "AKST", "ADT": "ADT", "MYT": "MYT", "ACDT": "ACDT", "WAST": "WAST", "GMT": "GMT", "HEPMX": "HEPMX", "PST": "PST", "AWDT": "AWDT", "CHAST": "CHAST", "IST": "IST", "TMT": "TMT", "OESZ": "OESZ", "VET": "VET", "HKT": "HKT", "NZST": "NZST"}, } } @@ -119,7 +134,7 @@ func (haw *haw) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (haw *haw) MonthsNarrow() []string { - return nil + return haw.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -175,13 +190,73 @@ func (haw *haw) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'haw' and handles both Whole and Real numbers based on 'v' func (haw *haw) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, haw.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, haw.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, haw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'haw' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (haw *haw) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, haw.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, haw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, haw.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'haw' @@ -189,7 +264,7 @@ func (haw *haw) FmtCurrency(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := haw.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -247,7 +322,7 @@ func (haw *haw) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := haw.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -339,7 +414,12 @@ func (haw *haw) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -353,7 +433,12 @@ func (haw *haw) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +454,12 @@ func (haw *haw) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/haw_US/haw_US.go b/haw_US/haw_US.go index bdc9a6a08..90ffa64e1 100644 --- a/haw_US/haw_US.go +++ b/haw_US/haw_US.go @@ -48,15 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ian.", "Pep.", "Mal.", "ʻAp.", "Mei", "Iun.", "Iul.", "ʻAu.", "Kep.", "ʻOk.", "Now.", "Kek."}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Ianuali", "Pepeluali", "Malaki", "ʻApelila", "Mei", "Iune", "Iulai", "ʻAukake", "Kepakemapa", "ʻOkakopa", "Nowemapa", "Kekemapa"}, daysAbbreviated: []string{"LP", "P1", "P2", "P3", "P4", "P5", "P6"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"LP", "P1", "P2", "P3", "P4", "P5", "P6"}, daysWide: []string{"Lāpule", "Poʻakahi", "Poʻalua", "Poʻakolu", "Poʻahā", "Poʻalima", "Poʻaono"}, - timezones: map[string]string{"CLT": "CLT", "HAT": "HAT", "JST": "JST", "SRT": "SRT", "OEZ": "OEZ", "ECT": "ECT", "HAST": "HAST", "MST": "MST", "WEZ": "WEZ", "ACDT": "ACDT", "SGT": "SGT", "PDT": "PDT", "TMT": "TMT", "HKST": "HKST", "COT": "COT", "AEDT": "AEDT", "WAST": "WAST", "WIT": "WIT", "AWST": "AWST", "OESZ": "OESZ", "MESZ": "MESZ", "EDT": "EDT", "EAT": "EAT", "TMST": "TMST", "CST": "CST", "LHST": "LHST", "UYST": "UYST", "VET": "VET", "ACST": "ACST", "WART": "WART", "AKST": "AKST", "ADT": "ADT", "MYT": "MYT", "NZST": "NZST", "UYT": "UYT", "MEZ": "MEZ", "ARST": "ARST", "CHAST": "CHAST", "ACWST": "ACWST", "SAST": "SAST", "WESZ": "WESZ", "WIB": "WIB", "WARST": "WARST", "AKDT": "AKDT", "GFT": "GFT", "ACWDT": "ACWDT", "LHDT": "LHDT", "JDT": "JDT", "COST": "COST", "ART": "ART", "PST": "PST", "CDT": "CDT", "WITA": "WITA", "MDT": "MDT", "ChST": "ChST", "HNT": "HNT", "HKT": "HKT", "CHADT": "CHADT", "HADT": "HADT", "IST": "IST", "GMT": "GMT", "AEST": "AEST", "BOT": "BOT", "CAT": "CAT", "BT": "BT", "∅∅∅": "∅∅∅", "AST": "AST", "NZDT": "NZDT", "AWDT": "AWDT", "EST": "EST", "WAT": "WAT", "GYT": "GYT", "CLST": "CLST"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BCE", "CE"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"BCE", "CE"}, + timezones: map[string]string{"ACWDT": "ACWDT", "AEST": "AEST", "MESZ": "MESZ", "HNCU": "HNCU", "WIB": "WIB", "PST": "PST", "AEDT": "AEDT", "CLT": "CLT", "OEZ": "OEZ", "AWST": "AWST", "CLST": "CLST", "ECT": "ECT", "CAT": "CAT", "HECU": "HECU", "MDT": "MDT", "HNPM": "HNPM", "LHST": "LHST", "CHADT": "CHADT", "SGT": "SGT", "AST": "AST", "CST": "CST", "MYT": "MYT", "AKDT": "AKDT", "ARST": "ARST", "WESZ": "WESZ", "HKST": "HKST", "LHDT": "LHDT", "CHAST": "CHAST", "GYT": "GYT", "AWDT": "AWDT", "WITA": "WITA", "MEZ": "MEZ", "WARST": "WARST", "COST": "COST", "HEPMX": "HEPMX", "HNOG": "HNOG", "HKT": "HKT", "JST": "JST", "ChST": "ChST", "HAST": "HAST", "WIT": "WIT", "COT": "COT", "EST": "EST", "HEOG": "HEOG", "WEZ": "WEZ", "HEPM": "HEPM", "TMST": "TMST", "HNEG": "HNEG", "GFT": "GFT", "HNT": "HNT", "SAST": "SAST", "EAT": "EAT", "HNPMX": "HNPMX", "SRT": "SRT", "ART": "ART", "TMT": "TMT", "EDT": "EDT", "UYT": "UYT", "HADT": "HADT", "HAT": "HAT", "ACST": "ACST", "OESZ": "OESZ", "WART": "WART", "ADT": "ADT", "UYST": "UYST", "WAT": "WAT", "WAST": "WAST", "VET": "VET", "BT": "BT", "NZDT": "NZDT", "JDT": "JDT", "ACDT": "ACDT", "HENOMX": "HENOMX", "GMT": "GMT", "MST": "MST", "PDT": "PDT", "ACWST": "ACWST", "NZST": "NZST", "∅∅∅": "∅∅∅", "BOT": "BOT", "HEEG": "HEEG", "IST": "IST", "HNNOMX": "HNNOMX", "AKST": "AKST", "CDT": "CDT"}, } } @@ -119,7 +134,7 @@ func (haw *haw_US) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (haw *haw_US) MonthsNarrow() []string { - return nil + return haw.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -175,13 +190,73 @@ func (haw *haw_US) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'haw_US' and handles both Whole and Real numbers based on 'v' func (haw *haw_US) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, haw.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, haw.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, haw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'haw_US' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (haw *haw_US) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, haw.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, haw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, haw.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'haw_US' @@ -189,7 +264,7 @@ func (haw *haw_US) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := haw.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -247,7 +322,7 @@ func (haw *haw_US) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := haw.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -339,7 +414,12 @@ func (haw *haw_US) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -353,7 +433,12 @@ func (haw *haw_US) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +454,12 @@ func (haw *haw_US) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, haw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/he/he.go b/he/he.go index 3e0489ef9..da31c2678 100644 --- a/he/he.go +++ b/he/he.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ל״י", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "\u200eCN¥\u200e", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ל״י", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"}, @@ -66,11 +66,12 @@ func New() locales.Translator { daysShort: []string{"א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"}, daysWide: []string{"יום ראשון", "יום שני", "יום שלישי", "יום רביעי", "יום חמישי", "יום שישי", "יום שבת"}, periodsAbbreviated: []string{"לפנה״צ", "אחה״צ"}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"לפנה״צ", "אחה״צ"}, erasAbbreviated: []string{"לפנה״ס", "לספירה"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AKST": "שעון אלסקה (חורף)", "WITA": "שעון מרכז אינדונזיה", "NZDT": "שעון ניו זילנד (קיץ)", "CAT": "שעון מרכז אפריקה", "CLST": "שעון צ׳ילה (קיץ)", "LHST": "שעון אי הלורד האו (חורף)", "MESZ": "שעון מרכז אירופה (קיץ)", "ACWST": "שעון מרכז-מערב אוסטרליה (חורף)", "ACWDT": "שעון מרכז-מערב אוסטרליה (קיץ)", "IST": "שעון הודו", "EDT": "שעון החוף המזרחי (קיץ)", "UYST": "שעון אורוגוואי (קיץ)", "OEZ": "שעון מזרח אירופה (חורף)", "AST": "שעון האוקיינוס האטלנטי (חורף)", "TMT": "שעון טורקמניסטן (חורף)", "MDT": "שעון אזור ההרים בארה״ב (קיץ)", "MYT": "שעון מלזיה", "ChST": "שעון צ׳אמורו", "AWDT": "שעון מערב אוסטרליה (קיץ)", "JST": "שעון יפן (חורף)", "ACST": "שעון מרכז אוסטרליה (חורף)", "EAT": "שעון מזרח אפריקה", "CHADT": "שעון צ׳טהאם (קיץ)", "WART": "שעון מערב ארגנטינה (חורף)", "HNT": "שעון ניופאונדלנד (חורף)", "GFT": "שעון גיאנה הצרפתית", "COT": "שעון קולומביה (חורף)", "VET": "שעון ונצואלה", "WARST": "שעון מערב ארגנטינה (קיץ)", "BT": "שעון בהוטן", "JDT": "שעון יפן (קיץ)", "WESZ": "שעון מערב אירופה (קיץ)", "ACDT": "שעון מרכז אוסטרליה (קיץ)", "AEDT": "שעון מזרח אוסטרליה (קיץ)", "AKDT": "שעון אלסקה (קיץ)", "EST": "שעון החוף המזרחי (חורף)", "TMST": "שעון טורקמניסטן (קיץ)", "SGT": "שעון סינגפור", "COST": "שעון קולומביה (קיץ)", "HAST": "שעון רגיל האיים האלאוטיים הוואי", "SAST": "שעון דרום אפריקה", "WAST": "שעון מערב אפריקה (קיץ)", "CST": "שעון מרכז ארה״ב (חורף)", "BOT": "שעון בוליביה", "SRT": "שעון סורינאם", "HADT": "שעון קיץ האיים האלאוטיים הוואי", "ARST": "שעון ארגנטינה (קיץ)", "PDT": "שעון קיץ, מערב ארה״ב (לוס אנג׳לס)", "GYT": "שעון גויאנה", "CHAST": "שעון צ׳טהאם (חורף)", "WAT": "שעון מערב אפריקה (חורף)", "MST": "שעון אזור ההרים בארה״ב (חורף)", "HKST": "שעון הונג קונג (קיץ)", "MEZ": "שעון מרכז אירופה (חורף)", "WIT": "שעון מזרח אינדונזיה", "LHDT": "שעון אי הלורד האו (קיץ)", "ECT": "שעון אקוודור", "AEST": "שעון מזרח אוסטרליה (חורף)", "UYT": "שעון אורוגוואי (חורף)", "HKT": "שעון הונג קונג (חורף)", "PST": "שעון רגיל האוקיינוס השקט", "∅∅∅": "שעון פרו (קיץ)", "NZST": "שעון ניו זילנד (חורף)", "WIB": "שעון מערב אינדונזיה", "ADT": "שעון האוקיינוס האטלנטי (קיץ)", "CDT": "שעון מרכז ארה״ב (קיץ)", "AWST": "שעון מערב אוסטרליה (חורף)", "HAT": "שעון ניופאונדלנד (קיץ)", "ART": "שעון ארגנטינה (חורף)", "CLT": "שעון צ׳ילה (חורף)", "GMT": "שעון גריניץ׳\u200f", "OESZ": "שעון מזרח אירופה (קיץ)", "WEZ": "שעון מערב אירופה (חורף)"}, + timezones: map[string]string{"JST": "שעון יפן (חורף)", "HNNOMX": "שעון צפון-מערב מקסיקו (חורף)", "MST": "שעון חורף מקאו", "SRT": "שעון סורינאם", "HAT": "שעון ניופאונדלנד (קיץ)", "IST": "שעון הודו", "EST": "שעון החוף המזרחי (חורף)", "ADT": "שעון האוקיינוס האטלנטי (קיץ)", "HNOG": "שעון מערב גרינלנד (חורף)", "MEZ": "שעון מרכז אירופה (חורף)", "HEEG": "שעון מזרח גרינלנד (קיץ)", "WAT": "שעון מערב אפריקה (חורף)", "MDT": "שעון קיץ מקאו", "WESZ": "שעון מערב אירופה (קיץ)", "NZDT": "שעון ניו זילנד (קיץ)", "GFT": "שעון גיאנה הצרפתית", "WART": "שעון מערב ארגנטינה (חורף)", "HNCU": "שעון קובה (חורף)", "HNPMX": "שעון מערב מקסיקו (חורף)", "WEZ": "שעון מערב אירופה (חורף)", "AEDT": "שעון מזרח אוסטרליה (קיץ)", "HKST": "שעון הונג קונג (קיץ)", "ChST": "שעון צ׳אמורו", "OEZ": "שעון מזרח אירופה (חורף)", "WARST": "שעון מערב ארגנטינה (קיץ)", "COST": "שעון קולומביה (קיץ)", "HECU": "שעון קובה (קיץ)", "VET": "שעון ונצואלה", "AWDT": "שעון מערב אוסטרליה (קיץ)", "SAST": "שעון דרום אפריקה", "CST": "שעון מרכז ארה״ב (חורף)", "TMST": "שעון טורקמניסטן (קיץ)", "ACWDT": "שעון מרכז-מערב אוסטרליה (קיץ)", "ARST": "שעון ארגנטינה (קיץ)", "AWST": "שעון מערב אוסטרליה (חורף)", "AKDT": "שעון אלסקה (קיץ)", "HADT": "שעון האיים האלאוטיים הוואי (קיץ)", "ACST": "שעון מרכז אוסטרליה (חורף)", "MYT": "שעון מלזיה", "UYT": "שעון אורוגוואי (חורף)", "CDT": "שעון מרכז ארה״ב (קיץ)", "AST": "שעון האוקיינוס האטלנטי (חורף)", "MESZ": "שעון מרכז אירופה (קיץ)", "CHADT": "שעון צ׳טהאם (קיץ)", "CAT": "שעון מרכז אפריקה", "ECT": "שעון אקוודור", "SGT": "שעון סינגפור", "BT": "שעון בהוטן", "WITA": "שעון מרכז אינדונזיה", "LHDT": "שעון אי הלורד האו (קיץ)", "HNPM": "שעון סנט פייר ומיקלון (חורף)", "HEPM": "שעון סנט פייר ומיקלון (קיץ)", "CLT": "שעון צ׳ילה (חורף)", "∅∅∅": "שעון אמזונס (קיץ)", "TMT": "שעון טורקמניסטן (חורף)", "HEOG": "שעון מערב גרינלנד (קיץ)", "ART": "שעון ארגנטינה (חורף)", "HKT": "שעון הונג קונג (חורף)", "WIB": "שעון מערב אינדונזיה", "ACDT": "שעון מרכז אוסטרליה (קיץ)", "OESZ": "שעון מזרח אירופה (קיץ)", "COT": "שעון קולומביה (חורף)", "HNEG": "שעון מזרח גרינלנד (חורף)", "GYT": "שעון גיאנה", "LHST": "שעון אי הלורד האו (חורף)", "CHAST": "שעון צ׳טהאם (חורף)", "JDT": "שעון יפן (קיץ)", "AKST": "שעון אלסקה (חורף)", "HAST": "שעון האיים האלאוטיים הוואי (חורף)", "CLST": "שעון צ׳ילה (קיץ)", "WAST": "שעון מערב אפריקה (קיץ)", "HEPMX": "שעון מערב מקסיקו (קיץ)", "ACWST": "שעון מרכז-מערב אוסטרליה (חורף)", "BOT": "שעון בוליביה", "EDT": "שעון החוף המזרחי (קיץ)", "HENOMX": "שעון צפון-מערב מקסיקו (קיץ)", "UYST": "שעון אורוגוואי (קיץ)", "PDT": "שעון מערב ארה״ב (קיץ)", "HNT": "שעון ניופאונדלנד (חורף)", "EAT": "שעון מזרח אפריקה", "GMT": "שעון גריניץ׳\u200f", "WIT": "שעון מזרח אינדונזיה", "PST": "שעון מערב ארה״ב (חורף)", "NZST": "שעון ניו זילנד (חורף)", "AEST": "שעון מזרח אוסטרליה (חורף)"}, } } @@ -430,7 +431,12 @@ func (he *he) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +450,12 @@ func (he *he) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +469,12 @@ func (he *he) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +490,12 @@ func (he *he) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/he_IL/he_IL.go b/he_IL/he_IL.go index 59dd9d5ee..6d5da2ff2 100644 --- a/he_IL/he_IL.go +++ b/he_IL/he_IL.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"}, @@ -66,11 +66,12 @@ func New() locales.Translator { daysShort: []string{"א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"}, daysWide: []string{"יום ראשון", "יום שני", "יום שלישי", "יום רביעי", "יום חמישי", "יום שישי", "יום שבת"}, periodsAbbreviated: []string{"לפנה״צ", "אחה״צ"}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"לפנה״צ", "אחה״צ"}, erasAbbreviated: []string{"לפנה״ס", "לספירה"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"OEZ": "שעון מזרח אירופה (חורף)", "VET": "שעון ונצואלה", "ACWST": "שעון מרכז-מערב אוסטרליה (חורף)", "ACWDT": "שעון מרכז-מערב אוסטרליה (קיץ)", "LHST": "שעון אי הלורד האו (חורף)", "AST": "שעון האוקיינוס האטלנטי (חורף)", "ADT": "שעון האוקיינוס האטלנטי (קיץ)", "HNT": "שעון ניופאונדלנד (חורף)", "JST": "שעון יפן (חורף)", "WESZ": "שעון מערב אירופה (קיץ)", "TMT": "שעון טורקמניסטן (חורף)", "WIT": "שעון מזרח אינדונזיה", "UYST": "שעון אורוגוואי (קיץ)", "AKDT": "שעון אלסקה (קיץ)", "AWST": "שעון מערב אוסטרליה (חורף)", "SRT": "שעון סורינאם", "WART": "שעון מערב ארגנטינה (חורף)", "IST": "שעון הודו", "AKST": "שעון אלסקה (חורף)", "HKT": "שעון הונג קונג (חורף)", "NZST": "שעון ניו זילנד (חורף)", "TMST": "שעון טורקמניסטן (קיץ)", "NZDT": "שעון ניו זילנד (קיץ)", "LHDT": "שעון אי הלורד האו (קיץ)", "GFT": "שעון גיאנה הצרפתית", "AEST": "שעון מזרח אוסטרליה (חורף)", "HADT": "שעון קיץ האיים האלאוטיים הוואי", "WAST": "שעון מערב אפריקה (קיץ)", "ECT": "שעון אקוודור", "MDT": "שעון אזור ההרים בארה״ב (קיץ)", "BOT": "שעון בוליביה", "HAT": "שעון ניופאונדלנד (קיץ)", "HAST": "שעון רגיל האיים האלאוטיים הוואי", "UYT": "שעון אורוגוואי (חורף)", "JDT": "שעון יפן (קיץ)", "MST": "שעון אזור ההרים בארה״ב (חורף)", "MYT": "שעון מלזיה", "CST": "שעון מרכז ארה״ב (חורף)", "CDT": "שעון מרכז ארה״ב (קיץ)", "HKST": "שעון הונג קונג (קיץ)", "CHADT": "שעון צ׳טהאם (קיץ)", "PST": "שעון רגיל האוקיינוס השקט", "SAST": "שעון דרום אפריקה", "AWDT": "שעון מערב אוסטרליה (קיץ)", "CLST": "שעון צ׳ילה (קיץ)", "BT": "שעון בהוטן", "COT": "שעון קולומביה (חורף)", "MESZ": "שעון מרכז אירופה (קיץ)", "PDT": "שעון קיץ, מערב ארה״ב (לוס אנג׳לס)", "GYT": "שעון גויאנה", "WITA": "שעון מרכז אינדונזיה", "CLT": "שעון צ׳ילה (חורף)", "GMT": "שעון גריניץ׳\u200f", "ACST": "שעון מרכז אוסטרליה (חורף)", "AEDT": "שעון מזרח אוסטרליה (קיץ)", "WARST": "שעון מערב ארגנטינה (קיץ)", "EDT": "שעון החוף המזרחי (קיץ)", "WEZ": "שעון מערב אירופה (חורף)", "ACDT": "שעון מרכז אוסטרליה (קיץ)", "EST": "שעון החוף המזרחי (חורף)", "∅∅∅": "∅∅∅", "WIB": "שעון מערב אינדונזיה", "WAT": "שעון מערב אפריקה (חורף)", "CAT": "שעון מרכז אפריקה", "MEZ": "שעון מרכז אירופה (חורף)", "ChST": "שעון צ׳אמורו", "ARST": "שעון ארגנטינה (קיץ)", "EAT": "שעון מזרח אפריקה", "CHAST": "שעון צ׳טהאם (חורף)", "OESZ": "שעון מזרח אירופה (קיץ)", "COST": "שעון קולומביה (קיץ)", "ART": "שעון ארגנטינה (חורף)", "SGT": "שעון סינגפור"}, + timezones: map[string]string{"AEDT": "שעון מזרח אוסטרליה (קיץ)", "LHDT": "שעון אי הלורד האו (קיץ)", "WAT": "שעון מערב אפריקה (חורף)", "HENOMX": "שעון צפון-מערב מקסיקו (קיץ)", "WESZ": "שעון מערב אירופה (קיץ)", "WITA": "שעון מרכז אינדונזיה", "AEST": "שעון מזרח אוסטרליה (חורף)", "WARST": "שעון מערב ארגנטינה (קיץ)", "GMT": "שעון גריניץ׳\u200f", "HADT": "שעון האיים האלאוטיים הוואי (קיץ)", "PDT": "שעון מערב ארה״ב (קיץ)", "NZDT": "שעון ניו זילנד (קיץ)", "ACDT": "שעון מרכז אוסטרליה (קיץ)", "COST": "שעון קולומביה (קיץ)", "HNCU": "שעון קובה (חורף)", "HNPMX": "שעון מערב מקסיקו (חורף)", "HAST": "שעון האיים האלאוטיים הוואי (חורף)", "OESZ": "שעון מזרח אירופה (קיץ)", "CDT": "שעון מרכז ארה״ב (קיץ)", "UYST": "שעון אורוגוואי (קיץ)", "CHAST": "שעון צ׳טהאם (חורף)", "NZST": "שעון ניו זילנד (חורף)", "ADT": "שעון האוקיינוס האטלנטי (קיץ)", "GYT": "שעון גיאנה", "WIT": "שעון מזרח אינדונזיה", "SRT": "שעון סורינאם", "CHADT": "שעון צ׳טהאם (קיץ)", "LHST": "שעון אי הלורד האו (חורף)", "WAST": "שעון מערב אפריקה (קיץ)", "COT": "שעון קולומביה (חורף)", "UYT": "שעון אורוגוואי (חורף)", "AKST": "שעון אלסקה (חורף)", "AWDT": "שעון מערב אוסטרליה (קיץ)", "BOT": "שעון בוליביה", "OEZ": "שעון מזרח אירופה (חורף)", "SGT": "שעון סינגפור", "MST": "שעון חורף מקאו", "AKDT": "שעון אלסקה (קיץ)", "HEOG": "שעון מערב גרינלנד (קיץ)", "MDT": "שעון קיץ מקאו", "ART": "שעון ארגנטינה (חורף)", "MEZ": "שעון מרכז אירופה (חורף)", "SAST": "שעון דרום אפריקה", "IST": "שעון הודו", "JST": "שעון יפן (חורף)", "EAT": "שעון מזרח אפריקה", "EDT": "שעון החוף המזרחי (קיץ)", "CLST": "שעון צ׳ילה (קיץ)", "TMT": "שעון טורקמניסטן (חורף)", "HEPMX": "שעון מערב מקסיקו (קיץ)", "HKT": "שעון הונג קונג (חורף)", "HEPM": "שעון סנט פייר ומיקלון (קיץ)", "TMST": "שעון טורקמניסטן (קיץ)", "ACST": "שעון מרכז אוסטרליה (חורף)", "CAT": "שעון מרכז אפריקה", "VET": "שעון ונצואלה", "ACWST": "שעון מרכז-מערב אוסטרליה (חורף)", "WEZ": "שעון מערב אירופה (חורף)", "ACWDT": "שעון מרכז-מערב אוסטרליה (קיץ)", "HNPM": "שעון סנט פייר ומיקלון (חורף)", "WART": "שעון מערב ארגנטינה (חורף)", "HNNOMX": "שעון צפון-מערב מקסיקו (חורף)", "EST": "שעון החוף המזרחי (חורף)", "HNT": "שעון ניופאונדלנד (חורף)", "ARST": "שעון ארגנטינה (קיץ)", "CLT": "שעון צ׳ילה (חורף)", "HEEG": "שעון מזרח גרינלנד (קיץ)", "HECU": "שעון קובה (קיץ)", "HAT": "שעון ניופאונדלנד (קיץ)", "AST": "שעון האוקיינוס האטלנטי (חורף)", "BT": "שעון בהוטן", "PST": "שעון מערב ארה״ב (חורף)", "AWST": "שעון מערב אוסטרליה (חורף)", "MESZ": "שעון מרכז אירופה (קיץ)", "JDT": "שעון יפן (קיץ)", "∅∅∅": "שעון אמזונס (קיץ)", "ChST": "שעון צ׳אמורו", "ECT": "שעון אקוודור", "HNOG": "שעון מערב גרינלנד (חורף)", "GFT": "שעון גיאנה הצרפתית", "HNEG": "שעון מזרח גרינלנד (חורף)", "CST": "שעון מרכז ארה״ב (חורף)", "MYT": "שעון מלזיה", "WIB": "שעון מערב אינדונזיה", "HKST": "שעון הונג קונג (קיץ)"}, } } @@ -430,7 +431,12 @@ func (he *he_IL) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +450,12 @@ func (he *he_IL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +469,12 @@ func (he *he_IL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +490,12 @@ func (he *he_IL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20, 0xd7, 0x91}...) b = append(b, he.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/hi/hi.go b/hi/hi.go index e64a6a8c3..78da528d3 100644 --- a/hi/hi.go +++ b/hi/hi.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "जन॰", "फ़र॰", "मार्च", "अप्रैल", "मई", "जून", "जुल॰", "अग॰", "सित॰", "अक्तू॰", "नव॰", "दिस॰"}, monthsNarrow: []string{"", "ज", "फ़", "मा", "अ", "म", "जू", "जु", "अ", "सि", "अ", "न", "दि"}, monthsWide: []string{"", "जनवरी", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितंबर", "अक्तूबर", "नवंबर", "दिसंबर"}, @@ -61,13 +61,13 @@ func New() locales.Translator { daysNarrow: []string{"र", "सो", "मं", "बु", "गु", "शु", "श"}, daysShort: []string{"र", "सो", "मं", "बु", "गु", "शु", "श"}, daysWide: []string{"रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"}, - periodsAbbreviated: []string{"पूर्व", "अपर"}, + periodsAbbreviated: []string{"पूर्वाह्न", "अपराह्न"}, periodsNarrow: []string{"पू", "अ"}, periodsWide: []string{"पूर्वाह्न", "अपराह्न"}, erasAbbreviated: []string{"ईसा-पूर्व", "ईस्वी"}, erasNarrow: []string{"", ""}, erasWide: []string{"ईसा-पूर्व", "ईसवी सन"}, - timezones: map[string]string{"OESZ": "पूर्वी यूरोपीय ग्रीष्मकालीन समय", "COST": "कोलंबिया ग्रीष्मकालीन समय", "MESZ": "मध्\u200dय यूरोपीय ग्रीष्\u200dमकालीन समय", "SAST": "दक्षिण अफ़्रीका समय", "GFT": "फ़्रेंच गुयाना समय", "MST": "उत्तरी अमेरिकी माउंटेन मानक समय", "BT": "भूटान समय", "JST": "जापान मानक समय", "ARST": "अर्जेंटीना ग्रीष्मकालीन समय", "CLT": "चिली मानक समय", "COT": "कोलंबिया मानक समय", "WART": "पश्चिमी अर्जेंटीना मानक समय", "PST": "उत्तरी अमेरिकी प्रशांत मानक समय", "PDT": "उत्तरी अमेरिकी प्रशांत डेलाइट समय", "GYT": "गुयाना समय", "BOT": "बोलीविया समय", "AST": "अटलांटिक मानक समय", "SRT": "सूरीनाम समय", "ACDT": "ऑस्\u200dट्रेलियाई केंद्रीय डेलाइट समय", "ART": "अर्जेंटीना मानक समय", "HADT": "हवाई–आल्यूशन डेलाइट समय", "WAT": "पश्चिम अफ़्रीका मानक समय", "EST": "उत्तरी अमेरिकी पूर्वी मानक समय", "CAT": "मध्य अफ़्रीका समय", "WEZ": "पश्चिमी यूरोपीय मानक समय", "WIB": "पश्चिमी इंडोनेशिया समय", "HAST": "हवाई–आल्यूशन मानक समय", "WAST": "पश्चिम अफ़्रीका ग्रीष्मकालीन समय", "IST": "भारतीय मानक समय", "ECT": "इक्वाडोर समय", "VET": "वेनेज़ुएला समय", "HKST": "हाँग काँग ग्रीष्मकालीन समय", "AEDT": "ऑस्\u200dट्रेलियाई पूर्वी डेलाइट समय", "EAT": "पूर्वी अफ़्रीका समय", "CDT": "उत्तरी अमेरिकी केंद्रीय डेलाइट समय", "NZST": "न्यूज़ीलैंड मानक समय", "HKT": "हाँग काँग मानक समय", "OEZ": "पूर्वी यूरोपीय मानक समय", "NZDT": "न्यूज़ीलैंड डेलाइट समय", "AWST": "ऑस्ट्रेलियाई पश्चिमी मानक समय", "LHST": "लॉर्ड होवे मानक समय", "LHDT": "लॉर्ड होवे डेलाइट समय", "ACWST": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी मानक समय", "ADT": "अटलांटिक डेलाइट समय", "MYT": "मलेशिया समय", "CLST": "चिली ग्रीष्मकालीन समय", "WESZ": "पश्चिमी यूरोपीय ग्रीष्\u200dमकालीन समय", "CHADT": "चैथम डेलाइट समय", "SGT": "सिंगापुर समय", "MEZ": "मध्य यूरोपीय मानक समय", "ACWDT": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी डेलाइट समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन समय", "∅∅∅": "अज़ोरेस ग्रीष्मकालीन समय", "CST": "उत्तरी अमेरिकी केंद्रीय मानक समय", "CHAST": "चैथम मानक समय", "AKST": "अलास्\u200dका मानक समय", "EDT": "उत्तरी अमेरिकी पूर्वी डेलाइट समय", "HNT": "न्यूफ़ाउंडलैंड मानक समय", "GMT": "ग्रीनविच मीन टाइम", "AWDT": "ऑस्ट्रेलियाई पश्चिमी डेलाइट समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "JDT": "जापान डेलाइट समय", "AEST": "ऑस्\u200dट्रेलियाई पूर्वी मानक समय", "AKDT": "अलास्\u200dका डेलाइट समय", "TMT": "तुर्कमेनिस्तान मानक समय", "MDT": "उत्तरी अमेरिकी माउंटेन डेलाइट समय", "HAT": "न्यूफ़ाउंडलैंड डेलाइट समय", "ACST": "ऑस्\u200dट्रेलियाई केंद्रीय मानक समय", "WARST": "पश्चिमी अर्जेंटीना ग्रीष्मकालीन समय", "WITA": "मध्य इंडोनेशिया समय", "ChST": "चामोरो मानक समय", "WIT": "पूर्वी इंडोनेशिया समय", "UYT": "उरुग्वे मानक समय"}, + timezones: map[string]string{"MST": "MST", "MDT": "MDT", "WIT": "पूर्वी इंडोनेशिया समय", "ART": "अर्जेंटीना मानक समय", "HNEG": "पूर्वी ग्रीनलैंड मानक समय", "TMT": "तुर्कमेनिस्तान मानक समय", "COT": "कोलंबिया मानक समय", "HAST": "हवाई–आल्यूशन मानक समय", "WESZ": "पश्चिमी यूरोपीय ग्रीष्\u200dमकालीन समय", "ACWST": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी मानक समय", "HEEG": "पूर्वी ग्रीनलैंड ग्रीष्मकालीन समय", "LHST": "लॉर्ड होवे मानक समय", "EST": "उत्तरी अमेरिकी पूर्वी मानक समय", "CST": "उत्तरी अमेरिकी केंद्रीय मानक समय", "GYT": "गुयाना समय", "WIB": "पश्चिमी इंडोनेशिया समय", "SRT": "सूरीनाम समय", "PST": "उत्तरी अमेरिकी प्रशांत मानक समय", "WEZ": "पश्चिमी यूरोपीय मानक समय", "NZST": "न्यूज़ीलैंड मानक समय", "ChST": "चामोरो मानक समय", "HEPMX": "मेक्सिकन प्रशांत डेलाइट समय", "CHAST": "चैथम मानक समय", "IST": "भारतीय मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "JDT": "जापान डेलाइट समय", "ECT": "इक्वाडोर समय", "UYT": "उरुग्वे मानक समय", "AEDT": "ऑस्\u200dट्रेलियाई पूर्वी डेलाइट समय", "CLT": "चिली मानक समय", "GFT": "फ़्रेंच गुयाना समय", "ACDT": "ऑस्\u200dट्रेलियाई केंद्रीय डेलाइट समय", "CDT": "उत्तरी अमेरिकी केंद्रीय डेलाइट समय", "AWDT": "ऑस्ट्रेलियाई पश्चिमी डेलाइट समय", "SAST": "दक्षिण अफ़्रीका समय", "JST": "जापान मानक समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन समय", "HEPM": "सेंट पियरे और मिकेलान डेलाइट समय", "CAT": "मध्य अफ़्रीका समय", "WART": "पश्चिमी अर्जेंटीना मानक समय", "ARST": "अर्जेंटीना ग्रीष्मकालीन समय", "HKST": "हाँग काँग ग्रीष्मकालीन समय", "MESZ": "मध्\u200dय यूरोपीय ग्रीष्\u200dमकालीन समय", "LHDT": "लॉर्ड होवे डेलाइट समय", "WAT": "पश्चिम अफ़्रीका मानक समय", "HADT": "हवाई–आल्यूशन डेलाइट समय", "ACWDT": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी डेलाइट समय", "HNOG": "पश्चिमी ग्रीनलैंड मानक समय", "WITA": "मध्य इंडोनेशिया समय", "∅∅∅": "अमेज़न ग्रीष्मकालीन समय", "EAT": "पूर्वी अफ़्रीका समय", "HENOMX": "उत्तर पश्चिमी मेक्सिको डेलाइट समय", "AEST": "ऑस्\u200dट्रेलियाई पूर्वी मानक समय", "AKST": "अलास्\u200dका मानक समय", "MYT": "मलेशिया समय", "PDT": "उत्तरी अमेरिकी प्रशांत डेलाइट समय", "HAT": "न्यूफ़ाउंडलैंड डेलाइट समय", "EDT": "उत्तरी अमेरिकी पूर्वी डेलाइट समय", "HNPMX": "मेक्सिकन प्रशांत मानक समय", "HKT": "हाँग काँग मानक समय", "MEZ": "मध्य यूरोपीय मानक समय", "OEZ": "पूर्वी यूरोपीय मानक समय", "OESZ": "पूर्वी यूरोपीय ग्रीष्मकालीन समय", "SGT": "सिंगापुर समय", "AST": "अटलांटिक मानक समय", "CHADT": "चैथम डेलाइट समय", "BOT": "बोलीविया समय", "GMT": "ग्रीनविच मीन टाइम", "ADT": "अटलांटिक डेलाइट समय", "VET": "वेनेज़ुएला समय", "COST": "कोलंबिया ग्रीष्मकालीन समय", "HNNOMX": "उत्तर पश्चिमी मेक्सिको मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "BT": "भूटान समय", "HNT": "न्यूफ़ाउंडलैंड मानक समय", "NZDT": "न्यूज़ीलैंड डेलाइट समय", "WARST": "पश्चिमी अर्जेंटीना ग्रीष्मकालीन समय", "HNCU": "क्यूबा मानक समय", "HECU": "क्यूबा डेलाइट समय", "AKDT": "अलास्\u200dका डेलाइट समय", "HEOG": "पश्चिमी ग्रीनलैंड ग्रीष्मकालीन समय", "AWST": "ऑस्ट्रेलियाई पश्चिमी मानक समय", "HNPM": "सेंट पियरे और मिकेलान मानक समय", "ACST": "ऑस्\u200dट्रेलियाई केंद्रीय मानक समय", "WAST": "पश्चिम अफ़्रीका ग्रीष्मकालीन समय"}, } } @@ -468,7 +468,12 @@ func (hi *hi) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +487,12 @@ func (hi *hi) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -498,7 +508,12 @@ func (hi *hi) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/hi_IN/hi_IN.go b/hi_IN/hi_IN.go index f56b9ada4..2b68742d7 100644 --- a/hi_IN/hi_IN.go +++ b/hi_IN/hi_IN.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "जन॰", "फ़र॰", "मार्च", "अप्रैल", "मई", "जून", "जुल॰", "अग॰", "सित॰", "अक्तू॰", "नव॰", "दिस॰"}, monthsNarrow: []string{"", "ज", "फ़", "मा", "अ", "म", "जू", "जु", "अ", "सि", "अ", "न", "दि"}, monthsWide: []string{"", "जनवरी", "फ़रवरी", "मार्च", "अप्रैल", "मई", "जून", "जुलाई", "अगस्त", "सितंबर", "अक्तूबर", "नवंबर", "दिसंबर"}, @@ -61,13 +61,13 @@ func New() locales.Translator { daysNarrow: []string{"र", "सो", "मं", "बु", "गु", "शु", "श"}, daysShort: []string{"र", "सो", "मं", "बु", "गु", "शु", "श"}, daysWide: []string{"रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"}, - periodsAbbreviated: []string{"पूर्व", "अपर"}, + periodsAbbreviated: []string{"पूर्वाह्न", "अपराह्न"}, periodsNarrow: []string{"पू", "अ"}, periodsWide: []string{"पूर्वाह्न", "अपराह्न"}, erasAbbreviated: []string{"ईसा-पूर्व", "ईस्वी"}, erasNarrow: []string{"", ""}, erasWide: []string{"ईसा-पूर्व", "ईसवी सन"}, - timezones: map[string]string{"WAT": "पश्चिम अफ़्रीका मानक समय", "WITA": "मध्य इंडोनेशिया समय", "HAT": "न्यूफ़ाउंडलैंड डेलाइट समय", "HKT": "हाँग काँग मानक समय", "VET": "वेनेज़ुएला समय", "MESZ": "मध्\u200dय यूरोपीय ग्रीष्\u200dमकालीन समय", "ACWST": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी मानक समय", "GYT": "गुयाना समय", "NZST": "न्यूज़ीलैंड मानक समय", "CLT": "चिली मानक समय", "ECT": "इक्वाडोर समय", "WAST": "पश्चिम अफ़्रीका ग्रीष्मकालीन समय", "BT": "भूटान समय", "SRT": "सूरीनाम समय", "TMT": "तुर्कमेनिस्तान मानक समय", "HNT": "न्यूफ़ाउंडलैंड मानक समय", "ARST": "अर्जेंटीना ग्रीष्मकालीन समय", "AST": "अटलांटिक मानक समय", "CDT": "उत्तरी अमेरिकी केंद्रीय डेलाइट समय", "NZDT": "न्यूज़ीलैंड डेलाइट समय", "COT": "कोलंबिया मानक समय", "AWDT": "ऑस्ट्रेलियाई पश्चिमी डेलाइट समय", "JST": "जापान मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "SGT": "सिंगापुर समय", "HADT": "हवाई–आल्यूशन डेलाइट समय", "LHDT": "लॉर्ड होवे डेलाइट समय", "OEZ": "पूर्वी यूरोपीय मानक समय", "OESZ": "पूर्वी यूरोपीय ग्रीष्मकालीन समय", "AWST": "ऑस्ट्रेलियाई पश्चिमी मानक समय", "LHST": "लॉर्ड होवे मानक समय", "AKST": "अलास्\u200dका मानक समय", "PST": "उत्तरी अमेरिकी प्रशांत मानक समय", "SAST": "दक्षिण अफ़्रीका समय", "MST": "उत्तरी अमेरिकी माउंटेन मानक समय", "JDT": "जापान डेलाइट समय", "AEDT": "ऑस्\u200dट्रेलियाई पूर्वी डेलाइट समय", "WARST": "पश्चिमी अर्जेंटीना ग्रीष्मकालीन समय", "EAT": "पूर्वी अफ़्रीका समय", "BOT": "बोलीविया समय", "ACDT": "ऑस्\u200dट्रेलियाई केंद्रीय डेलाइट समय", "CHADT": "चैथम डेलाइट समय", "GFT": "फ़्रेंच गुयाना समय", "ACWDT": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी डेलाइट समय", "PDT": "उत्तरी अमेरिकी प्रशांत डेलाइट समय", "MDT": "उत्तरी अमेरिकी माउंटेन डेलाइट समय", "CHAST": "चैथम मानक समय", "ChST": "चामोरो मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "WIT": "पूर्वी इंडोनेशिया समय", "COST": "कोलंबिया ग्रीष्मकालीन समय", "IST": "भारतीय मानक समय", "AKDT": "अलास्\u200dका डेलाइट समय", "MYT": "मलेशिया समय", "UYT": "उरुग्वे मानक समय", "WIB": "पश्चिमी इंडोनेशिया समय", "HAST": "हवाई–आल्यूशन मानक समय", "AEST": "ऑस्\u200dट्रेलियाई पूर्वी मानक समय", "EST": "उत्तरी अमेरिकी पूर्वी मानक समय", "∅∅∅": "अज़ोरेस ग्रीष्मकालीन समय", "CAT": "मध्य अफ़्रीका समय", "WART": "पश्चिमी अर्जेंटीना मानक समय", "GMT": "ग्रीनविच मीन टाइम", "WEZ": "पश्चिमी यूरोपीय मानक समय", "HKST": "हाँग काँग ग्रीष्मकालीन समय", "EDT": "उत्तरी अमेरिकी पूर्वी डेलाइट समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन समय", "WESZ": "पश्चिमी यूरोपीय ग्रीष्\u200dमकालीन समय", "ACST": "ऑस्\u200dट्रेलियाई केंद्रीय मानक समय", "ART": "अर्जेंटीना मानक समय", "ADT": "अटलांटिक डेलाइट समय", "CST": "उत्तरी अमेरिकी केंद्रीय मानक समय", "MEZ": "मध्य यूरोपीय मानक समय"}, + timezones: map[string]string{"WAST": "पश्चिम अफ़्रीका ग्रीष्मकालीन समय", "COT": "कोलंबिया मानक समय", "AWST": "ऑस्ट्रेलियाई पश्चिमी मानक समय", "JDT": "जापान डेलाइट समय", "HNPMX": "मेक्सिकन प्रशांत मानक समय", "HNT": "न्यूफ़ाउंडलैंड मानक समय", "HKST": "हाँग काँग ग्रीष्मकालीन समय", "AEST": "ऑस्\u200dट्रेलियाई पूर्वी मानक समय", "MEZ": "मध्य यूरोपीय मानक समय", "MESZ": "मध्\u200dय यूरोपीय ग्रीष्\u200dमकालीन समय", "LHDT": "लॉर्ड होवे डेलाइट समय", "HNEG": "पूर्वी ग्रीनलैंड मानक समय", "CAT": "मध्य अफ़्रीका समय", "AST": "अटलांटिक मानक समय", "WIB": "पश्चिमी इंडोनेशिया समय", "HECU": "क्यूबा डेलाइट समय", "WIT": "पूर्वी इंडोनेशिया समय", "AEDT": "ऑस्\u200dट्रेलियाई पूर्वी डेलाइट समय", "AWDT": "ऑस्ट्रेलियाई पश्चिमी डेलाइट समय", "ARST": "अर्जेंटीना ग्रीष्मकालीन समय", "∅∅∅": "पेरू ग्रीष्मकालीन समय", "WART": "पश्चिमी अर्जेंटीना मानक समय", "CDT": "उत्तरी अमेरिकी केंद्रीय डेलाइट समय", "ART": "अर्जेंटीना मानक समय", "SRT": "सूरीनाम समय", "NZDT": "न्यूज़ीलैंड डेलाइट समय", "WARST": "पश्चिमी अर्जेंटीना ग्रीष्मकालीन समय", "MYT": "मलेशिया समय", "UYT": "उरुग्वे मानक समय", "HADT": "हवाई–आल्यूशन डेलाइट समय", "AKST": "अलास्\u200dका मानक समय", "AKDT": "अलास्\u200dका डेलाइट समय", "HNPM": "सेंट पियरे और मिकेलान मानक समय", "LHST": "लॉर्ड होवे मानक समय", "BOT": "बोलीविया समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "HAT": "न्यूफ़ाउंडलैंड डेलाइट समय", "ACWDT": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी डेलाइट समय", "ACWST": "ऑस्\u200dट्रेलियाई केंद्रीय पश्चिमी मानक समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन समय", "OESZ": "पूर्वी यूरोपीय ग्रीष्मकालीन समय", "SGT": "सिंगापुर समय", "ADT": "अटलांटिक डेलाइट समय", "WEZ": "पश्चिमी यूरोपीय मानक समय", "HEPM": "सेंट पियरे और मिकेलान डेलाइट समय", "IST": "भारतीय मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "GFT": "फ़्रेंच गुयाना समय", "ECT": "इक्वाडोर समय", "HNCU": "क्यूबा मानक समय", "BT": "भूटान समय", "EST": "उत्तरी अमेरिकी पूर्वी मानक समय", "MDT": "MDT", "CST": "उत्तरी अमेरिकी केंद्रीय मानक समय", "HNOG": "पश्चिमी ग्रीनलैंड मानक समय", "HEEG": "पूर्वी ग्रीनलैंड ग्रीष्मकालीन समय", "ACDT": "ऑस्\u200dट्रेलियाई केंद्रीय डेलाइट समय", "EAT": "पूर्वी अफ़्रीका समय", "HEPMX": "मेक्सिकन प्रशांत डेलाइट समय", "PDT": "उत्तरी अमेरिकी प्रशांत डेलाइट समय", "CHADT": "चैथम डेलाइट समय", "HKT": "हाँग काँग मानक समय", "ChST": "चामोरो मानक समय", "EDT": "उत्तरी अमेरिकी पूर्वी डेलाइट समय", "MST": "MST", "WESZ": "पश्चिमी यूरोपीय ग्रीष्\u200dमकालीन समय", "HNNOMX": "उत्तर पश्चिमी मेक्सिको मानक समय", "HAST": "हवाई–आल्यूशन मानक समय", "VET": "वेनेज़ुएला समय", "CLT": "चिली मानक समय", "GMT": "ग्रीनविच मीन टाइम", "GYT": "गुयाना समय", "HEOG": "पश्चिमी ग्रीनलैंड ग्रीष्मकालीन समय", "TMT": "तुर्कमेनिस्तान मानक समय", "OEZ": "पूर्वी यूरोपीय मानक समय", "HENOMX": "उत्तर पश्चिमी मेक्सिको डेलाइट समय", "COST": "कोलंबिया ग्रीष्मकालीन समय", "NZST": "न्यूज़ीलैंड मानक समय", "CHAST": "चैथम मानक समय", "SAST": "दक्षिण अफ़्रीका समय", "JST": "जापान मानक समय", "ACST": "ऑस्\u200dट्रेलियाई केंद्रीय मानक समय", "WAT": "पश्चिम अफ़्रीका मानक समय", "PST": "उत्तरी अमेरिकी प्रशांत मानक समय", "WITA": "मध्य इंडोनेशिया समय"}, } } @@ -468,7 +468,12 @@ func (hi *hi_IN) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +487,12 @@ func (hi *hi_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -498,7 +508,12 @@ func (hi *hi_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/hr/hr.go b/hr/hr.go index 73c30d566..5fa3fc059 100644 --- a/hr/hr.go +++ b/hr/hr.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sij", "velj", "ožu", "tra", "svi", "lip", "srp", "kol", "ruj", "lis", "stu", "pro"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"pr. Kr.", "p. Kr."}, + erasAbbreviated: []string{"pr. Kr.", "po. Kr."}, erasNarrow: []string{"pr.n.e.", "AD"}, erasWide: []string{"prije Krista", "poslije Krista"}, - timezones: map[string]string{"AWDT": "zapadnoaustralsko ljetno vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "ART": "argentinsko standardno vrijeme", "SAST": "južnoafričko vrijeme", "WITA": "srednjoindonezijsko vrijeme", "JST": "japansko standardno vrijeme", "∅∅∅": "amazonsko ljetno vrijeme", "ECT": "ekvadorsko vrijeme", "HKST": "hongkonško ljetno vrijeme", "TMT": "turkmenistansko standardno vrijeme", "CST": "središnje standardno vrijeme", "BT": "butansko vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "ARST": "argentinsko ljetno vrijeme", "AKST": "aljaško standardno vrijeme", "ChST": "standardno vrijeme Chamorra", "MEZ": "srednjoeuropsko standardno vrijeme", "AST": "atlantsko standardno vrijeme", "NZST": "novozelandsko standardno vrijeme", "CLST": "čileansko ljetno vrijeme", "ACST": "srednjoaustralsko standardno vrijeme", "COT": "kolumbijsko standardno vrijeme", "EDT": "istočno ljetno vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "WART": "zapadno-argentinsko standardno vrijeme", "EAT": "istočnoafričko vrijeme", "NZDT": "novozelandsko ljetno vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "OEZ": "istočnoeuropsko standardno vrijeme", "WAT": "zapadnoafričko standardno vrijeme", "GYT": "gvajansko vrijeme", "MYT": "malezijsko vrijeme", "OESZ": "istočnoeuropsko ljetno vrijeme", "HKT": "hongkonško standardno vrijeme", "WAST": "zapadnoafričko ljetno vrijeme", "VET": "venezuelsko vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "GMT": "univerzalno vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "WESZ": "zapadnoeuropsko ljetno vrijeme", "HADT": "havajsko-aleutsko ljetno vrijeme", "GFT": "vrijeme Francuske Gvajane", "WIB": "zapadnoindonezijsko vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "AEST": "istočnoaustralsko standardno vrijeme", "WIT": "istočnoindonezijsko vrijeme", "UYST": "urugvajsko ljetno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "COST": "kolumbijsko ljetno vrijeme", "HAT": "newfoundlandsko ljetno vrijeme", "JDT": "japansko ljetno vrijeme", "PDT": "pacifičko ljetno vrijeme", "MST": "planinsko standardno vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "CDT": "središnje ljetno vrijeme", "MDT": "planinsko ljetno vrijeme", "AWST": "zapadnoaustralsko standardno vrijeme", "CLT": "čileansko standardno vrijeme", "CHADT": "ljetno vrijeme Chathama", "IST": "indijsko vrijeme", "AKDT": "aljaško ljetno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "PST": "pacifičko standardno vrijeme", "BOT": "bolivijsko vrijeme", "UYT": "urugvajsko standardno vrijeme", "SRT": "surinamsko vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "EST": "istočno standardno vrijeme", "ADT": "atlantsko ljetno vrijeme", "CAT": "srednjoafričko vrijeme", "WEZ": "zapadnoeuropsko standardno vrijeme", "CHAST": "standardno vrijeme Chathama", "SGT": "singapursko vrijeme"}, + timezones: map[string]string{"HADT": "havajsko-aleutsko ljetno vrijeme", "WESZ": "zapadnoeuropsko ljetno vrijeme", "SAST": "južnoafričko vrijeme", "IST": "indijsko vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "EST": "istočno standardno vrijeme", "HEPMX": "meksičko pacifičko ljetno vrijeme", "SRT": "surinamsko vrijeme", "NZDT": "novozelandsko ljetno vrijeme", "UYST": "urugvajsko ljetno vrijeme", "COT": "kolumbijsko standardno vrijeme", "EDT": "istočno ljetno vrijeme", "GYT": "gvajansko vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "JDT": "japansko ljetno vrijeme", "GMT": "univerzalno vrijeme", "AKST": "aljaško standardno vrijeme", "CST": "središnje standardno vrijeme", "GFT": "vrijeme Francuske Gvajane", "WART": "zapadno-argentinsko standardno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "WEZ": "zapadnoeuropsko standardno vrijeme", "ECT": "ekvadorsko vrijeme", "CDT": "središnje ljetno vrijeme", "HAT": "newfoundlandsko ljetno vrijeme", "∅∅∅": "amazonsko ljetno vrijeme", "SGT": "singapursko vrijeme", "AKDT": "aljaško ljetno vrijeme", "MYT": "malezijsko vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "WITA": "srednjoindonezijsko vrijeme", "MEZ": "srednjoeuropsko standardno vrijeme", "CHADT": "ljetno vrijeme Chathama", "JST": "japansko standardno vrijeme", "EAT": "istočnoafričko vrijeme", "HENOMX": "sjeverozapadno meksičko ljetno vrijeme", "UYT": "urugvajsko standardno vrijeme", "AST": "atlantsko standardno vrijeme", "ART": "argentinsko standardno vrijeme", "AEST": "istočnoaustralsko standardno vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "NZST": "novozelandsko standardno vrijeme", "CLST": "čileansko ljetno vrijeme", "TMT": "turkmenistansko standardno vrijeme", "CAT": "srednjoafričko vrijeme", "WIT": "istočnoindonezijsko vrijeme", "ARST": "argentinsko ljetno vrijeme", "AWST": "zapadnoaustralsko standardno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "HNPM": "standardno vrijeme za Sveti Petar i Mikelon", "CHAST": "standardno vrijeme Chathama", "HNEG": "istočnogrenlandsko standardno vrijeme", "WAST": "zapadnoafričko ljetno vrijeme", "OESZ": "istočnoeuropsko ljetno vrijeme", "ADT": "atlantsko ljetno vrijeme", "WIB": "zapadnoindonezijsko vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "HEOG": "zapadnogrenlandsko ljetno vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "ChST": "standardno vrijeme Chamorra", "HEEG": "istočnogrenlandsko ljetno vrijeme", "HNCU": "kubansko standardno vrijeme", "VET": "venezuelsko vrijeme", "BT": "butansko vrijeme", "HEPM": "ljetno vrijeme za Sveti Petar i Mikelon", "ACST": "srednjoaustralsko standardno vrijeme", "WAT": "zapadnoafričko standardno vrijeme", "COST": "kolumbijsko ljetno vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "HKST": "hongkonško ljetno vrijeme", "CLT": "čileansko standardno vrijeme", "HNNOMX": "sjeverozapadno meksičko standardno vrijeme", "MST": "standardno makaosko vrijeme", "HECU": "kubansko ljetno vrijeme", "PDT": "pacifičko ljetno vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "HNOG": "zapadnogrenlandsko standardno vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "AWDT": "zapadnoaustralsko ljetno vrijeme", "BOT": "bolivijsko vrijeme", "OEZ": "istočnoeuropsko standardno vrijeme", "HNPMX": "meksičko pacifičko standardno vrijeme", "PST": "pacifičko standardno vrijeme", "HKT": "hongkonško standardno vrijeme", "MDT": "ljetno makaosko vrijeme"}, } } @@ -422,7 +422,7 @@ func (hr *hr) FmtDateShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) if t.Month() < 10 { b = append(b, '0') @@ -430,8 +430,14 @@ func (hr *hr) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -446,7 +452,13 @@ func (hr *hr) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -461,7 +473,13 @@ func (hr *hr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -478,7 +496,13 @@ func (hr *hr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -589,7 +613,7 @@ func (hr *hr) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x20, 0x28}...) tz, _ := t.Zone() @@ -599,5 +623,7 @@ func (hr *hr) FmtTimeFull(t time.Time) string { b = append(b, tz...) } + b = append(b, []byte{0x29}...) + return string(b) } diff --git a/hr_BA/hr_BA.go b/hr_BA/hr_BA.go index f53a72bee..50ab93cf5 100644 --- a/hr_BA/hr_BA.go +++ b/hr_BA/hr_BA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sij", "velj", "ožu", "tra", "svi", "lip", "srp", "kol", "ruj", "lis", "stu", "pro"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"pr. Kr.", "p. Kr."}, + erasAbbreviated: []string{"pr. Kr.", "po. Kr."}, erasNarrow: []string{"pr.n.e.", "AD"}, erasWide: []string{"prije Krista", "poslije Krista"}, - timezones: map[string]string{"CLST": "čileansko ljetno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "BOT": "bolivijsko vrijeme", "UYST": "urugvajsko ljetno vrijeme", "HKST": "hongkonško ljetno vrijeme", "ACST": "srednjoaustralsko standardno vrijeme", "SGT": "singapursko vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "MDT": "planinsko ljetno vrijeme", "NZST": "novozelandsko standardno vrijeme", "UYT": "urugvajsko standardno vrijeme", "WART": "zapadno-argentinsko standardno vrijeme", "CDT": "središnje ljetno vrijeme", "WIT": "istočnoindonezijsko vrijeme", "JST": "japansko standardno vrijeme", "∅∅∅": "brazilijsko ljetno vrijeme", "ECT": "ekvadorsko vrijeme", "VET": "venezuelsko vrijeme", "AKST": "aljaško standardno vrijeme", "MYT": "malezijsko vrijeme", "WESZ": "zapadnoeuropsko ljetno vrijeme", "HKT": "hongkonško standardno vrijeme", "MEZ": "srednjoeuropsko standardno vrijeme", "IST": "indijsko vrijeme", "AKDT": "aljaško ljetno vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "BT": "butansko vrijeme", "CLT": "čileansko standardno vrijeme", "GMT": "univerzalno vrijeme", "CHAST": "standardno vrijeme Chathama", "WAT": "zapadnoafričko standardno vrijeme", "AST": "atlantsko standardno vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "COST": "kolumbijsko ljetno vrijeme", "WIB": "zapadnoindonezijsko vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "SAST": "južnoafričko vrijeme", "AWST": "zapadnoaustralsko standardno vrijeme", "JDT": "japansko ljetno vrijeme", "OEZ": "istočnoeuropsko standardno vrijeme", "MST": "planinsko standardno vrijeme", "NZDT": "novozelandsko ljetno vrijeme", "GFT": "vrijeme Francuske Gvajane", "SRT": "surinamsko vrijeme", "COT": "kolumbijsko standardno vrijeme", "CST": "središnje standardno vrijeme", "ChST": "standardno vrijeme Chamorra", "HAT": "newfoundlandsko ljetno vrijeme", "HADT": "havajsko-aleutsko ljetno vrijeme", "EST": "istočno standardno vrijeme", "AWDT": "zapadnoaustralsko ljetno vrijeme", "OESZ": "istočnoeuropsko ljetno vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "ART": "argentinsko standardno vrijeme", "WAST": "zapadnoafričko ljetno vrijeme", "PDT": "pacifičko ljetno vrijeme", "GYT": "gvajansko vrijeme", "ARST": "argentinsko ljetno vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "WEZ": "zapadnoeuropsko standardno vrijeme", "CHADT": "ljetno vrijeme Chathama", "CAT": "srednjoafričko vrijeme", "AEST": "istočnoaustralsko standardno vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "EDT": "istočno ljetno vrijeme", "PST": "pacifičko standardno vrijeme", "ADT": "atlantsko ljetno vrijeme", "TMT": "turkmenistansko standardno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "EAT": "istočnoafričko vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "WITA": "srednjoindonezijsko vrijeme"}, + timezones: map[string]string{"MDT": "ljetno makaosko vrijeme", "SRT": "surinamsko vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "WITA": "srednjoindonezijsko vrijeme", "MEZ": "srednjoeuropsko standardno vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "OESZ": "istočnoeuropsko ljetno vrijeme", "CLST": "čileansko ljetno vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "AWST": "zapadnoaustralsko standardno vrijeme", "ChST": "standardno vrijeme Chamorra", "PDT": "pacifičko ljetno vrijeme", "COST": "kolumbijsko ljetno vrijeme", "AKST": "aljaško standardno vrijeme", "WESZ": "zapadnoeuropsko ljetno vrijeme", "HEPM": "ljetno vrijeme za Sveti Petar i Mikelon", "NZDT": "novozelandsko ljetno vrijeme", "CHADT": "ljetno vrijeme Chathama", "WART": "zapadno-argentinsko standardno vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "JST": "japansko standardno vrijeme", "EST": "istočno standardno vrijeme", "COT": "kolumbijsko standardno vrijeme", "ARST": "argentinsko ljetno vrijeme", "CLT": "čileansko standardno vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "WAST": "zapadnoafričko ljetno vrijeme", "WAT": "zapadnoafričko standardno vrijeme", "MST": "standardno makaosko vrijeme", "CDT": "središnje ljetno vrijeme", "HEEG": "istočnogrenlandsko ljetno vrijeme", "ACST": "srednjoaustralsko standardno vrijeme", "EDT": "istočno ljetno vrijeme", "UYT": "urugvajsko standardno vrijeme", "AKDT": "aljaško ljetno vrijeme", "PST": "pacifičko standardno vrijeme", "HAT": "newfoundlandsko ljetno vrijeme", "IST": "indijsko vrijeme", "∅∅∅": "peruansko ljetno vrijeme", "HKT": "hongkonško standardno vrijeme", "CHAST": "standardno vrijeme Chathama", "AEST": "istočnoaustralsko standardno vrijeme", "HEPMX": "meksičko pacifičko ljetno vrijeme", "UYST": "urugvajsko ljetno vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "VET": "venezuelsko vrijeme", "WIT": "istočnoindonezijsko vrijeme", "SAST": "južnoafričko vrijeme", "HNCU": "kubansko standardno vrijeme", "HECU": "kubansko ljetno vrijeme", "WIB": "zapadnoindonezijsko vrijeme", "HNOG": "zapadnogrenlandsko standardno vrijeme", "HKST": "hongkonško ljetno vrijeme", "HNPM": "standardno vrijeme za Sveti Petar i Mikelon", "NZST": "novozelandsko standardno vrijeme", "ECT": "ekvadorsko vrijeme", "HNPMX": "meksičko pacifičko standardno vrijeme", "ART": "argentinsko standardno vrijeme", "JDT": "japansko ljetno vrijeme", "BOT": "bolivijsko vrijeme", "SGT": "singapursko vrijeme", "GMT": "univerzalno vrijeme", "BT": "butansko vrijeme", "AWDT": "zapadnoaustralsko ljetno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "OEZ": "istočnoeuropsko standardno vrijeme", "HENOMX": "sjeverozapadno meksičko ljetno vrijeme", "CST": "središnje standardno vrijeme", "HADT": "havajsko-aleutsko ljetno vrijeme", "HEOG": "zapadnogrenlandsko ljetno vrijeme", "WEZ": "zapadnoeuropsko standardno vrijeme", "CAT": "srednjoafričko vrijeme", "AST": "atlantsko standardno vrijeme", "ADT": "atlantsko ljetno vrijeme", "TMT": "turkmenistansko standardno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "HNNOMX": "sjeverozapadno meksičko standardno vrijeme", "GYT": "gvajansko vrijeme", "MYT": "malezijsko vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "HNEG": "istočnogrenlandsko standardno vrijeme", "GFT": "vrijeme Francuske Gvajane", "EAT": "istočnoafričko vrijeme"}, } } @@ -417,21 +417,17 @@ func (hr *hr_BA) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e, 0x20}...) - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) b = append(b, []byte{0x2e}...) return string(b) @@ -446,7 +442,13 @@ func (hr *hr_BA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -461,7 +463,13 @@ func (hr *hr_BA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -478,7 +486,13 @@ func (hr *hr_BA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -589,7 +603,7 @@ func (hr *hr_BA) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x20, 0x28}...) tz, _ := t.Zone() @@ -599,5 +613,7 @@ func (hr *hr_BA) FmtTimeFull(t time.Time) string { b = append(b, tz...) } + b = append(b, []byte{0x29}...) + return string(b) } diff --git a/hr_HR/hr_HR.go b/hr_HR/hr_HR.go index fb3554a45..e488be62d 100644 --- a/hr_HR/hr_HR.go +++ b/hr_HR/hr_HR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "sij", "velj", "ožu", "tra", "svi", "lip", "srp", "kol", "ruj", "lis", "stu", "pro"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"pr. Kr.", "p. Kr."}, + erasAbbreviated: []string{"pr. Kr.", "po. Kr."}, erasNarrow: []string{"pr.n.e.", "AD"}, erasWide: []string{"prije Krista", "poslije Krista"}, - timezones: map[string]string{"WITA": "srednjoindonezijsko vrijeme", "BT": "butansko vrijeme", "SRT": "surinamsko vrijeme", "HADT": "havajsko-aleutsko ljetno vrijeme", "NZDT": "novozelandsko ljetno vrijeme", "UYT": "urugvajsko standardno vrijeme", "WIB": "zapadnoindonezijsko vrijeme", "ECT": "ekvadorsko vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "OEZ": "istočnoeuropsko standardno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "SAST": "južnoafričko vrijeme", "∅∅∅": "peruansko ljetno vrijeme", "AWST": "zapadnoaustralsko standardno vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "MST": "planinsko standardno vrijeme", "BOT": "bolivijsko vrijeme", "WESZ": "zapadnoeuropsko ljetno vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "AEST": "istočnoaustralsko standardno vrijeme", "ART": "argentinsko standardno vrijeme", "AKST": "aljaško standardno vrijeme", "EDT": "istočno ljetno vrijeme", "CDT": "središnje ljetno vrijeme", "OESZ": "istočnoeuropsko ljetno vrijeme", "GFT": "vrijeme Francuske Gvajane", "COT": "kolumbijsko standardno vrijeme", "COST": "kolumbijsko ljetno vrijeme", "WART": "zapadno-argentinsko standardno vrijeme", "EAT": "istočnoafričko vrijeme", "TMT": "turkmenistansko standardno vrijeme", "AWDT": "zapadnoaustralsko ljetno vrijeme", "CLT": "čileansko standardno vrijeme", "HKT": "hongkonško standardno vrijeme", "HKST": "hongkonško ljetno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "MEZ": "srednjoeuropsko standardno vrijeme", "PDT": "pacifičko ljetno vrijeme", "GYT": "gvajansko vrijeme", "MDT": "planinsko ljetno vrijeme", "CAT": "srednjoafričko vrijeme", "JST": "japansko standardno vrijeme", "CHADT": "ljetno vrijeme Chathama", "AKDT": "aljaško ljetno vrijeme", "CST": "središnje standardno vrijeme", "AST": "atlantsko standardno vrijeme", "WAST": "zapadnoafričko ljetno vrijeme", "IST": "indijsko vrijeme", "NZST": "novozelandsko standardno vrijeme", "HAT": "newfoundlandsko ljetno vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "ADT": "atlantsko ljetno vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "WEZ": "zapadnoeuropsko standardno vrijeme", "ACST": "srednjoaustralsko standardno vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "CLST": "čileansko ljetno vrijeme", "GMT": "univerzalno vrijeme", "JDT": "japansko ljetno vrijeme", "SGT": "singapursko vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "CHAST": "standardno vrijeme Chathama", "EST": "istočno standardno vrijeme", "VET": "venezuelsko vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "PST": "pacifičko standardno vrijeme", "WAT": "zapadnoafričko standardno vrijeme", "MYT": "malezijsko vrijeme", "ChST": "standardno vrijeme Chamorra", "WIT": "istočnoindonezijsko vrijeme", "UYST": "urugvajsko ljetno vrijeme", "ARST": "argentinsko ljetno vrijeme"}, + timezones: map[string]string{"UYT": "urugvajsko standardno vrijeme", "VET": "venezuelsko vrijeme", "HAT": "newfoundlandsko ljetno vrijeme", "CHAST": "standardno vrijeme Chathama", "SGT": "singapursko vrijeme", "WART": "zapadno-argentinsko standardno vrijeme", "MST": "standardno makaosko vrijeme", "NZDT": "novozelandsko ljetno vrijeme", "ACST": "srednjoaustralsko standardno vrijeme", "ACDT": "srednjoaustralsko ljetno vrijeme", "∅∅∅": "peruansko ljetno vrijeme", "ChST": "standardno vrijeme Chamorra", "CLT": "čileansko standardno vrijeme", "HEPMX": "meksičko pacifičko ljetno vrijeme", "ADT": "atlantsko ljetno vrijeme", "WIB": "zapadnoindonezijsko vrijeme", "HEPM": "ljetno vrijeme za Sveti Petar i Mikelon", "CAT": "srednjoafričko vrijeme", "MYT": "malezijsko vrijeme", "WEZ": "zapadnoeuropsko standardno vrijeme", "HKST": "hongkonško ljetno vrijeme", "CDT": "središnje ljetno vrijeme", "ARST": "argentinsko ljetno vrijeme", "SAST": "južnoafričko vrijeme", "GFT": "vrijeme Francuske Gvajane", "MDT": "ljetno makaosko vrijeme", "COST": "kolumbijsko ljetno vrijeme", "HAST": "havajsko-aleutsko standardno vrijeme", "WIT": "istočnoindonezijsko vrijeme", "PST": "pacifičko standardno vrijeme", "ART": "argentinsko standardno vrijeme", "AWST": "zapadnoaustralsko standardno vrijeme", "WARST": "zapadno-argentinsko ljetno vrijeme", "PDT": "pacifičko ljetno vrijeme", "ACWST": "australsko središnje zapadno standardno vrijeme", "CHADT": "ljetno vrijeme Chathama", "IST": "indijsko vrijeme", "JST": "japansko standardno vrijeme", "HNPMX": "meksičko pacifičko standardno vrijeme", "HECU": "kubansko ljetno vrijeme", "AKST": "aljaško standardno vrijeme", "HADT": "havajsko-aleutsko ljetno vrijeme", "MEZ": "srednjoeuropsko standardno vrijeme", "LHST": "standardno vrijeme otoka Lord Howe", "CLST": "čileansko ljetno vrijeme", "TMST": "turkmenistansko ljetno vrijeme", "ECT": "ekvadorsko vrijeme", "NZST": "novozelandsko standardno vrijeme", "HEEG": "istočnogrenlandsko ljetno vrijeme", "HNPM": "standardno vrijeme za Sveti Petar i Mikelon", "HNCU": "kubansko standardno vrijeme", "EST": "istočno standardno vrijeme", "CST": "središnje standardno vrijeme", "BT": "butansko vrijeme", "SRT": "surinamsko vrijeme", "ACWDT": "australsko središnje zapadno ljetno vrijeme", "HNNOMX": "sjeverozapadno meksičko standardno vrijeme", "HENOMX": "sjeverozapadno meksičko ljetno vrijeme", "AWDT": "zapadnoaustralsko ljetno vrijeme", "BOT": "bolivijsko vrijeme", "HNEG": "istočnogrenlandsko standardno vrijeme", "TMT": "turkmenistansko standardno vrijeme", "OESZ": "istočnoeuropsko ljetno vrijeme", "EDT": "istočno ljetno vrijeme", "AST": "atlantsko standardno vrijeme", "WESZ": "zapadnoeuropsko ljetno vrijeme", "AEST": "istočnoaustralsko standardno vrijeme", "HKT": "hongkonško standardno vrijeme", "WITA": "srednjoindonezijsko vrijeme", "LHDT": "ljetno vrijeme otoka Lord Howe", "WAST": "zapadnoafričko ljetno vrijeme", "GMT": "univerzalno vrijeme", "AKDT": "aljaško ljetno vrijeme", "GYT": "gvajansko vrijeme", "JDT": "japansko ljetno vrijeme", "EAT": "istočnoafričko vrijeme", "AEDT": "istočnoaustralsko ljetno vrijeme", "WAT": "zapadnoafričko standardno vrijeme", "COT": "kolumbijsko standardno vrijeme", "UYST": "urugvajsko ljetno vrijeme", "HNT": "newfoundlandsko standardno vrijeme", "HNOG": "zapadnogrenlandsko standardno vrijeme", "HEOG": "zapadnogrenlandsko ljetno vrijeme", "MESZ": "srednjoeuropsko ljetno vrijeme", "OEZ": "istočnoeuropsko standardno vrijeme"}, } } @@ -422,7 +422,7 @@ func (hr *hr_HR) FmtDateShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) if t.Month() < 10 { b = append(b, '0') @@ -430,8 +430,14 @@ func (hr *hr_HR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -446,7 +452,13 @@ func (hr *hr_HR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -461,7 +473,13 @@ func (hr *hr_HR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -478,7 +496,13 @@ func (hr *hr_HR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -589,7 +613,7 @@ func (hr *hr_HR) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x20, 0x28}...) tz, _ := t.Zone() @@ -599,5 +623,7 @@ func (hr *hr_HR) FmtTimeFull(t time.Time) string { b = append(b, tz...) } + b = append(b, []byte{0x29}...) + return string(b) } diff --git a/hsb/hsb.go b/hsb/hsb.go index 189bed41f..ed30a2174 100644 --- a/hsb/hsb.go +++ b/hsb/hsb.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"př.Chr.n.", "po Chr.n."}, erasNarrow: []string{"", ""}, erasWide: []string{"před Chrystowym narodźenjom", "po Chrystowym narodźenju"}, - timezones: map[string]string{"LHDT": "lětni čas kupy Lord-Howe", "JST": "japanski standardny čas", "IST": "indiski čas", "AEDT": "wuchodoawstralski lětni čas", "PDT": "sewjeroameriski pacifiski lětni čas", "OEZ": "wuchodoeuropski standardny čas", "SGT": "Singapurski čas", "WAT": "zapadoafriski standardny čas", "PST": "sewjeroameriski pacifiski standardny čas", "TMT": "turkmenski standardny čas", "AWST": "zapadoawstralski standardny čas", "WESZ": "zapadoeuropski lětni čas", "CHAST": "chathamski standardny čas", "CHADT": "chathamski lětni čas", "OESZ": "wuchodoeuropski lětni čas", "SAST": "južnoafriski čas", "EST": "sewjeroameriski wuchodny standardny čas", "AST": "atlantiski standardny čas", "∅∅∅": "Brasiliski lětni čas", "ACDT": "srjedźoawstralski lětni čas", "COT": "kolumbiski standardny čas", "MEZ": "srjedźoeuropski standardny čas", "NZST": "nowoseelandski standardny čas", "BT": "bhutanski čas", "CAT": "centralnoafriski čas", "HAST": "hawaiisko-aleutski standardny čas", "CLT": "chilski standardny čas", "UYT": "uruguayski standardny čas", "HAT": "nowofundlandski lětni čas", "HKST": "Hongkongski lětni čas", "COST": "kolumbiski lětni čas", "TMST": "turkmenski lětni čas", "AWDT": "zapadoawstralski lětni čas", "JDT": "japanski lětni čas", "ECT": "ekwadorski čas", "AEST": "wuchodoawstralski standardny čas", "CST": "sewjeroameriski centralny standardny čas", "LHST": "standardny čas kupy Lord-Howe", "HKT": "Hongkongski standardny čas", "WIB": "zapadoindoneski čas", "WARST": "zapadoargentinski lětni čas", "HNT": "nowofundlandski standardny čas", "MYT": "malajziski čas", "GFT": "francoskoguyanski čas", "MESZ": "srjedźoeuropski lětni čas", "ACWST": "srjedźozapadny awstralski standardny čas", "ARST": "argentinski lětni čas", "AKST": "alaskaski standardny čas", "AKDT": "alaskaski lětni čas", "MDT": "sewjeroameriski hórski lětni čas", "ChST": "chamorroski čas", "BOT": "boliwiski čas", "CLST": "chilski lětni čas", "WIT": "wuchodoindoneski", "UYST": "uruguayski lětni čas", "GMT": "Greenwichski čas", "WEZ": "zapadoeuropski standardny čas", "ADT": "atlantiski lětni čas", "NZDT": "nowoseelandski lětni čas", "SRT": "surinamski čas", "WITA": "srjedźoindoneski čas", "MST": "sewjeroameriski hórski standardny čas", "VET": "venezuelski čas", "ACWDT": "sjedźozapadny awstralski lětni čas", "WART": "zapadoargentinski standardny čas", "EDT": "sewjeroameriski wuchodny lětni čas", "EAT": "wuchodoafriski čas", "GYT": "guyanski čas", "CDT": "sewjeroameriski centralny lětni čas", "ACST": "srjedźoawstralski standardny čas", "ART": "argentinski standardny čas", "HADT": "hawaiisko-aleutski lětni čas", "WAST": "zapadoafriski lětni čas"}, + timezones: map[string]string{"HNCU": "kubaski standardny čas", "MST": "MST", "AST": "atlantiski standardny čas", "WIB": "zapadoindoneski čas", "ACWDT": "sjedźozapadny awstralski lětni čas", "NZDT": "nowoseelandski lětni čas", "CAT": "centralnoafriski čas", "GMT": "Greenwichski čas", "EST": "sewjeroameriski wuchodny standardny čas", "ADT": "atlantiski lětni čas", "AKDT": "alaskaski lětni čas", "VET": "venezuelski čas", "ART": "argentinski standardny čas", "OEZ": "wuchodoeuropski standardny čas", "HNNOMX": "mexiski sewjerozapadny standardny čas", "HADT": "hawaiisko-aleutski lětni čas", "HKST": "Hongkongski lětni čas", "JST": "japanski standardny čas", "BOT": "boliwiski čas", "ACDT": "srjedźoawstralski lětni čas", "LHST": "standardny čas kupy Lord-Howe", "LHDT": "lětni čas kupy Lord-Howe", "CHAST": "chathamski standardny čas", "COST": "kolumbiski lětni čas", "MDT": "MDT", "WEZ": "zapadoeuropski standardny čas", "WESZ": "zapadoeuropski lětni čas", "MEZ": "srjedźoeuropski standardny čas", "WARST": "zapadoargentinski lětni čas", "WITA": "srjedźoindoneski čas", "SAST": "južnoafriski čas", "SGT": "Singapurski čas", "GYT": "guyanski čas", "HNEG": "wuchodogrönlandski standardny čas", "MESZ": "srjedźoeuropski lětni čas", "MYT": "malajziski čas", "WIT": "wuchodoindoneski", "PDT": "sewjeroameriski pacifiski lětni čas", "ACWST": "srjedźozapadny awstralski standardny čas", "HNT": "nowofundlandski standardny čas", "AEDT": "wuchodoawstralski lětni čas", "HEPM": "lětni čas kupow St. Pierre a Miquelon", "CHADT": "chathamski lětni čas", "∅∅∅": "peruski lětni čas", "PST": "sewjeroameriski pacifiski standardny čas", "AWDT": "zapadoawstralski lětni čas", "ACST": "srjedźoawstralski standardny čas", "WAT": "zapadoafriski standardny čas", "OESZ": "wuchodoeuropski lětni čas", "UYT": "uruguayski standardny čas", "AKST": "alaskaski standardny čas", "CLST": "chilski lětni čas", "EAT": "wuchodoafriski čas", "BT": "bhutanski čas", "ARST": "argentinski lětni čas", "HEOG": "zapadogrönlandski lětni čas", "AWST": "zapadoawstralski standardny čas", "HNPM": "standardny čas kupow St. Pierre a Miquelon", "IST": "indiski čas", "WAST": "zapadoafriski lětni čas", "HECU": "kubaski lětni čas", "SRT": "surinamski čas", "HAT": "nowofundlandski lětni čas", "TMT": "turkmenski standardny čas", "HEPMX": "mexiski pacifiski lětni čas", "CDT": "sewjeroameriski centralny lětni čas", "HAST": "hawaiisko-aleutski standardny čas", "NZST": "nowoseelandski standardny čas", "ECT": "ekwadorski čas", "HNOG": "zapadogrönlandski standardny čas", "JDT": "japanski lětni čas", "CLT": "chilski standardny čas", "HEEG": "wuchodogrönlandski lětni čas", "GFT": "francoskoguyanski čas", "HENOMX": "mexiski sewjerozapadny lětni čas", "EDT": "sewjeroameriski wuchodny lětni čas", "HNPMX": "mexiski pacifiski standardny čas", "UYST": "uruguayski lětni čas", "CST": "sewjeroameriski centralny standardny čas", "TMST": "turkmenski lětni čas", "WART": "zapadoargentinski standardny čas", "COT": "kolumbiski standardny čas", "AEST": "wuchodoawstralski standardny čas", "HKT": "Hongkongski standardny čas", "ChST": "chamorroski čas"}, } } @@ -421,7 +421,12 @@ func (hsb *hsb) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (hsb *hsb) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +461,12 @@ func (hsb *hsb) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/hsb_DE/hsb_DE.go b/hsb_DE/hsb_DE.go index 6c7381bc1..d6bdbd843 100644 --- a/hsb_DE/hsb_DE.go +++ b/hsb_DE/hsb_DE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"př.Chr.n.", "po Chr.n."}, erasNarrow: []string{"", ""}, erasWide: []string{"před Chrystowym narodźenjom", "po Chrystowym narodźenju"}, - timezones: map[string]string{"HKT": "Hongkongski standardny čas", "AEDT": "wuchodoawstralski lětni čas", "WART": "zapadoargentinski standardny čas", "IST": "indiski čas", "UYT": "uruguayski standardny čas", "JST": "japanski standardny čas", "CLST": "chilski lětni čas", "LHDT": "lětni čas kupy Lord-Howe", "GFT": "francoskoguyanski čas", "MEZ": "srjedźoeuropski standardny čas", "ADT": "atlantiski lětni čas", "MYT": "malajziski čas", "CST": "sewjeroameriski centralny standardny čas", "WIT": "wuchodoindoneski", "UYST": "uruguayski lětni čas", "HADT": "hawaiisko-aleutski lětni čas", "AST": "atlantiski standardny čas", "AKST": "alaskaski standardny čas", "WEZ": "zapadoeuropski standardny čas", "∅∅∅": "peruski lětni čas", "GYT": "guyanski čas", "BOT": "boliwiski čas", "ACWDT": "sjedźozapadny awstralski lětni čas", "AWDT": "zapadoawstralski lětni čas", "SGT": "Singapurski čas", "CDT": "sewjeroameriski centralny lětni čas", "BT": "bhutanski čas", "CLT": "chilski standardny čas", "VET": "venezuelski čas", "ART": "argentinski standardny čas", "WITA": "srjedźoindoneski čas", "ChST": "chamorroski čas", "HAST": "hawaiisko-aleutski standardny čas", "WAT": "zapadoafriski standardny čas", "NZST": "nowoseelandski standardny čas", "NZDT": "nowoseelandski lětni čas", "JDT": "japanski lětni čas", "SRT": "surinamski čas", "CHADT": "chathamski lětni čas", "ACST": "srjedźoawstralski standardny čas", "SAST": "južnoafriski čas", "MDT": "sewjeroameriski hórski lětni čas", "HKST": "Hongkongski lětni čas", "WIB": "zapadoindoneski čas", "WAST": "zapadoafriski lětni čas", "MST": "sewjeroameriski hórski standardny čas", "AEST": "wuchodoawstralski standardny čas", "TMT": "turkmenski standardny čas", "HAT": "nowofundlandski lětni čas", "OEZ": "wuchodoeuropski standardny čas", "OESZ": "wuchodoeuropski lětni čas", "COT": "kolumbiski standardny čas", "ECT": "ekwadorski čas", "ACWST": "srjedźozapadny awstralski standardny čas", "CHAST": "chathamski standardny čas", "HNT": "nowofundlandski standardny čas", "GMT": "Greenwichski čas", "COST": "kolumbiski lětni čas", "EST": "sewjeroameriski wuchodny standardny čas", "AWST": "zapadoawstralski standardny čas", "EAT": "wuchodoafriski čas", "ARST": "argentinski lětni čas", "WARST": "zapadoargentinski lětni čas", "PST": "sewjeroameriski pacifiski standardny čas", "CAT": "centralnoafriski čas", "EDT": "sewjeroameriski wuchodny lětni čas", "PDT": "sewjeroameriski pacifiski lětni čas", "AKDT": "alaskaski lětni čas", "LHST": "standardny čas kupy Lord-Howe", "WESZ": "zapadoeuropski lětni čas", "MESZ": "srjedźoeuropski lětni čas", "ACDT": "srjedźoawstralski lětni čas", "TMST": "turkmenski lětni čas"}, + timezones: map[string]string{"HAT": "nowofundlandski lětni čas", "ARST": "argentinski lětni čas", "HNPM": "standardny čas kupow St. Pierre a Miquelon", "NZDT": "nowoseelandski lětni čas", "JST": "japanski standardny čas", "BT": "bhutanski čas", "WEZ": "zapadoeuropski standardny čas", "WESZ": "zapadoeuropski lětni čas", "WIB": "zapadoindoneski čas", "TMST": "turkmenski lětni čas", "OESZ": "wuchodoeuropski lětni čas", "HNCU": "kubaski standardny čas", "AKDT": "alaskaski lětni čas", "HAST": "hawaiisko-aleutski standardny čas", "AWDT": "zapadoawstralski lětni čas", "MEZ": "srjedźoeuropski standardny čas", "TMT": "turkmenski standardny čas", "ACDT": "srjedźoawstralski lětni čas", "HNT": "nowofundlandski standardny čas", "BOT": "boliwiski čas", "HEEG": "wuchodogrönlandski lětni čas", "HKT": "Hongkongski standardny čas", "EST": "sewjeroameriski wuchodny standardny čas", "MYT": "malajziski čas", "CHAST": "chathamski standardny čas", "SGT": "Singapurski čas", "HECU": "kubaski lětni čas", "VET": "venezuelski čas", "AEDT": "wuchodoawstralski lětni čas", "HKST": "Hongkongski lětni čas", "∅∅∅": "Amaconaski lětni čas", "ACST": "srjedźoawstralski standardny čas", "OEZ": "wuchodoeuropski standardny čas", "SRT": "surinamski čas", "HEOG": "zapadogrönlandski lětni čas", "LHDT": "lětni čas kupy Lord-Howe", "AST": "atlantiski standardny čas", "ACWDT": "sjedźozapadny awstralski lětni čas", "CHADT": "chathamski lětni čas", "HNNOMX": "mexiski sewjerozapadny standardny čas", "EAT": "wuchodoafriski čas", "COST": "kolumbiski lětni čas", "UYT": "uruguayski standardny čas", "WITA": "srjedźoindoneski čas", "IST": "indiski čas", "CLST": "chilski lětni čas", "WART": "zapadoargentinski standardny čas", "EDT": "sewjeroameriski wuchodny lětni čas", "MST": "MST", "UYST": "uruguayski lětni čas", "AKST": "alaskaski standardny čas", "HADT": "hawaiisko-aleutski lětni čas", "JDT": "japanski lětni čas", "WAST": "zapadoafriski lětni čas", "CST": "sewjeroameriski centralny standardny čas", "ADT": "atlantiski lětni čas", "HNPMX": "mexiski pacifiski standardny čas", "AEST": "wuchodoawstralski standardny čas", "CAT": "centralnoafriski čas", "WAT": "zapadoafriski standardny čas", "GMT": "Greenwichski čas", "HEPMX": "mexiski pacifiski lětni čas", "CDT": "sewjeroameriski centralny lětni čas", "GYT": "guyanski čas", "HEPM": "lětni čas kupow St. Pierre a Miquelon", "SAST": "južnoafriski čas", "ChST": "chamorroski čas", "HENOMX": "mexiski sewjerozapadny lětni čas", "AWST": "zapadoawstralski standardny čas", "MESZ": "srjedźoeuropski lětni čas", "ECT": "ekwadorski čas", "WIT": "wuchodoindoneski", "ACWST": "srjedźozapadny awstralski standardny čas", "HNEG": "wuchodogrönlandski standardny čas", "CLT": "chilski standardny čas", "MDT": "MDT", "PST": "sewjeroameriski pacifiski standardny čas", "ART": "argentinski standardny čas", "HNOG": "zapadogrönlandski standardny čas", "GFT": "francoskoguyanski čas", "WARST": "zapadoargentinski lětni čas", "COT": "kolumbiski standardny čas", "PDT": "sewjeroameriski pacifiski lětni čas", "LHST": "standardny čas kupy Lord-Howe", "NZST": "nowoseelandski standardny čas"}, } } @@ -421,7 +421,12 @@ func (hsb *hsb_DE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +440,12 @@ func (hsb *hsb_DE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +461,12 @@ func (hsb *hsb_DE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, hsb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/hu/hu.go b/hu/hu.go index f914dfc61..440e200a3 100644 --- a/hu/hu.go +++ b/hu/hu.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "Ft", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "Ft", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "febr.", "márc.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"i. e.", "i. sz."}, erasNarrow: []string{"ie.", "isz."}, erasWide: []string{"időszámításunk előtt", "időszámításunk szerint"}, - timezones: map[string]string{"PST": "csendes-óceáni zónaidő", "ADT": "atlanti-óceáni nyári idő", "UYT": "uruguayi téli idő", "CHAST": "chathami téli idő", "MST": "hegyvidéki zónaidő", "OEZ": "kelet-európai téli idő", "COT": "kolumbiai téli idő", "ACWST": "közép-nyugat-ausztráliai téli idő", "AKDT": "alaszkai nyári idő", "WAST": "nyugat-afrikai nyári idő", "CDT": "középső államokbeli nyári idő", "ART": "argentínai téli idő", "ACWDT": "közép-nyugat-ausztráliai nyári idő", "TMST": "türkmenisztáni nyári idő", "WARST": "nyugat-argentínai nyári idő", "BOT": "bolíviai téli idő", "IST": "indiai téli idő", "CLST": "chilei nyári idő", "BT": "butáni idő", "SRT": "szurinámi idő", "GMT": "greenwichi középidő, téli idő", "WEZ": "nyugat-európai téli idő", "ARST": "Argentínai nyári idő", "SAST": "dél-afrikai téli idő", "MDT": "hegyvidéki nyári idő", "HNT": "új-fundlandi zónaidő", "CLT": "chilei téli idő", "HKST": "hongkongi nyári idő", "AEST": "kelet-ausztráliai téli idő", "AST": "atlanti-óceáni zónaidő", "MYT": "malajziai idő", "LHDT": "Lord Howe-szigeti nyári idő", "CHADT": "chathami nyári idő", "ACST": "közép-ausztráliai téli idő", "WART": "nyugat-argentínai téli idő", "EST": "keleti államokbeli zónaidő", "WITA": "közép-indonéziai idő", "CST": "középső államokbeli zónaidő", "WIB": "nyugat-indonéziai téli idő", "TMT": "türkmenisztáni téli idő", "HKT": "hongkongi téli idő", "COST": "kolumbiai nyári idő", "LHST": "Lord Howe-szigeti téli idő", "MESZ": "közép-európai nyári idő", "NZST": "új-zélandi téli idő", "JDT": "japán nyári idő", "UYST": "uruguayi nyári idő", "VET": "venezuelai idő", "JST": "japán téli idő", "WAT": "nyugat-afrikai téli idő", "∅∅∅": "azori nyári idő", "OESZ": "kelet-európai nyári idő", "ACDT": "közép-ausztráliai nyári idő", "SGT": "szingapúri téli idő", "HADT": "hawaii-aleuti nyári idő", "EDT": "keleti államokbeli nyári idő", "PDT": "csendes-óceáni nyári idő", "EAT": "kelet-afrikai téli idő", "GYT": "guyanai téli idő", "CAT": "közép-afrikai téli idő", "GFT": "francia-guianai idő", "HAT": "új-fundlandi nyári idő", "WIT": "kelet-indonéziai idő", "AWST": "nyugat-ausztráliai téli idő", "MEZ": "közép-európai téli idő", "HAST": "hawaii-aleuti téli idő", "AEDT": "kelet-ausztráliai nyári idő", "AKST": "alaszkai zónaidő", "ChST": "chamorrói téli idő", "WESZ": "nyugat-európai nyári idő", "ECT": "ecuadori téli idő", "NZDT": "új-zélandi nyári idő", "AWDT": "nyugat-ausztráliai nyári idő"}, + timezones: map[string]string{"HNOG": "nyugat-grönlandi téli idő", "CDT": "középső államokbeli nyári idő", "UYST": "uruguayi nyári idő", "TMST": "türkmenisztáni nyári idő", "WAT": "nyugat-afrikai téli idő", "OEZ": "kelet-európai téli idő", "HENOMX": "északnyugat-mexikói nyári idő", "AKST": "alaszkai zónaidő", "AKDT": "alaszkai nyári idő", "WIT": "kelet-indonéziai idő", "ACWDT": "közép-nyugat-ausztráliai nyári idő", "WITA": "közép-indonéziai idő", "MEZ": "közép-európai téli idő", "IST": "indiai téli idő", "JDT": "japán nyári idő", "ACWST": "közép-nyugat-ausztráliai téli idő", "HNT": "új-fundlandi zónaidő", "NZST": "új-zélandi téli idő", "EAT": "kelet-afrikai téli idő", "ECT": "ecuadori téli idő", "MYT": "malajziai idő", "UYT": "uruguayi téli idő", "WEZ": "nyugat-európai téli idő", "HAT": "új-fundlandi nyári idő", "HNPM": "Saint Pierre és Miquelon-i zónaidő", "MESZ": "közép-európai nyári idő", "COT": "kolumbiai téli idő", "EDT": "keleti államokbeli nyári idő", "HAST": "hawaii-aleuti téli idő", "SRT": "szurinámi idő", "HNPMX": "mexikói csendes-óceáni zónaidő", "PDT": "csendes-óceáni nyári idő", "HKT": "hongkongi téli idő", "HKST": "hongkongi nyári idő", "CHADT": "chathami nyári idő", "CLST": "chilei nyári idő", "HNEG": "kelet-grönlandi téli idő", "WAST": "nyugat-afrikai nyári idő", "GMT": "greenwichi középidő, téli idő", "PST": "csendes-óceáni zónaidő", "ART": "argentínai téli idő", "OESZ": "kelet-európai nyári idő", "∅∅∅": "perui nyári idő", "HNNOMX": "északnyugat-mexikói zónaidő", "CST": "középső államokbeli zónaidő", "AWST": "nyugat-ausztráliai téli idő", "AWDT": "nyugat-ausztráliai nyári idő", "ChST": "chamorrói téli idő", "AST": "atlanti-óceáni zónaidő", "LHDT": "Lord Howe-szigeti nyári idő", "JST": "japán téli idő", "SGT": "szingapúri téli idő", "HADT": "hawaii-aleuti nyári idő", "AEST": "kelet-ausztráliai téli idő", "CLT": "chilei téli idő", "ACST": "közép-ausztráliai téli idő", "GYT": "guyanai téli idő", "VET": "venezuelai idő", "HEOG": "nyugat-grönlandi nyári idő", "LHST": "Lord Howe-szigeti téli idő", "SAST": "dél-afrikai téli idő", "BOT": "bolíviai téli idő", "HEEG": "kelet-grönlandi nyári idő", "WART": "nyugat-argentínai téli idő", "WARST": "nyugat-argentínai nyári idő", "HECU": "kubai nyári idő", "EST": "keleti államokbeli zónaidő", "MST": "Macaui zónaidő", "MDT": "Macaui nyári idő", "WIB": "nyugat-indonéziai téli idő", "BT": "butáni idő", "ARST": "Argentínai nyári idő", "ACDT": "közép-ausztráliai nyári idő", "HNCU": "kubai téli idő", "AEDT": "kelet-ausztráliai nyári idő", "CHAST": "chathami téli idő", "TMT": "türkmenisztáni téli idő", "CAT": "közép-afrikai téli idő", "COST": "kolumbiai nyári idő", "HEPMX": "mexikói csendes-óceáni nyári idő", "WESZ": "nyugat-európai nyári idő", "NZDT": "új-zélandi nyári idő", "GFT": "francia-guianai idő", "ADT": "atlanti-óceáni nyári idő", "HEPM": "Saint Pierre és Miquelon-i nyári idő"}, } } @@ -410,7 +410,12 @@ func (hu *hu) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) if t.Month() < 10 { @@ -436,7 +441,12 @@ func (hu *hu) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -451,7 +461,12 @@ func (hu *hu) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -466,7 +481,12 @@ func (hu *hu) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/hu_HU/hu_HU.go b/hu_HU/hu_HU.go index 7b338b40a..c1db47bf4 100644 --- a/hu_HU/hu_HU.go +++ b/hu_HU/hu_HU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "febr.", "márc.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"i. e.", "i. sz."}, erasNarrow: []string{"ie.", "isz."}, erasWide: []string{"időszámításunk előtt", "időszámításunk szerint"}, - timezones: map[string]string{"AEST": "kelet-ausztráliai téli idő", "GMT": "greenwichi középidő, téli idő", "SGT": "szingapúri téli idő", "AKST": "alaszkai zónaidő", "BOT": "bolíviai téli idő", "ACWST": "közép-nyugat-ausztráliai téli idő", "AEDT": "kelet-ausztráliai nyári idő", "ADT": "atlanti-óceáni nyári idő", "LHST": "Lord Howe-szigeti téli idő", "EST": "keleti államokbeli zónaidő", "PDT": "csendes-óceáni nyári idő", "GFT": "francia-guianai idő", "ART": "argentínai téli idő", "WAT": "nyugat-afrikai téli idő", "TMT": "türkmenisztáni téli idő", "ARST": "Argentínai nyári idő", "AWDT": "nyugat-ausztráliai nyári idő", "WESZ": "nyugat-európai nyári idő", "NZDT": "új-zélandi nyári idő", "SRT": "szurinámi idő", "WIB": "nyugat-indonéziai téli idő", "ACDT": "közép-ausztráliai nyári idő", "HADT": "hawaii-aleuti nyári idő", "IST": "indiai téli idő", "∅∅∅": "azori nyári idő", "BT": "butáni idő", "UYST": "uruguayi nyári idő", "OEZ": "kelet-európai téli idő", "CHADT": "chathami nyári idő", "PST": "csendes-óceáni zónaidő", "CAT": "közép-afrikai téli idő", "NZST": "új-zélandi téli idő", "ChST": "chamorrói téli idő", "UYT": "uruguayi téli idő", "COST": "kolumbiai nyári idő", "WARST": "nyugat-argentínai nyári idő", "ACWDT": "közép-nyugat-ausztráliai nyári idő", "AKDT": "alaszkai nyári idő", "WITA": "közép-indonéziai idő", "WEZ": "nyugat-európai téli idő", "MEZ": "közép-európai téli idő", "HAST": "hawaii-aleuti téli idő", "SAST": "dél-afrikai téli idő", "CLT": "chilei téli idő", "MDT": "hegyvidéki nyári idő", "AWST": "nyugat-ausztráliai téli idő", "HNT": "új-fundlandi zónaidő", "JST": "japán téli idő", "TMST": "türkmenisztáni nyári idő", "MST": "hegyvidéki zónaidő", "COT": "kolumbiai téli idő", "ECT": "ecuadori téli idő", "MESZ": "közép-európai nyári idő", "HKT": "hongkongi téli idő", "ACST": "közép-ausztráliai téli idő", "WAST": "nyugat-afrikai nyári idő", "JDT": "japán nyári idő", "LHDT": "Lord Howe-szigeti nyári idő", "CHAST": "chathami téli idő", "HKST": "hongkongi nyári idő", "WIT": "kelet-indonéziai idő", "OESZ": "kelet-európai nyári idő", "EAT": "kelet-afrikai téli idő", "CST": "középső államokbeli zónaidő", "CDT": "középső államokbeli nyári idő", "GYT": "guyanai téli idő", "MYT": "malajziai idő", "CLST": "chilei nyári idő", "EDT": "keleti államokbeli nyári idő", "AST": "atlanti-óceáni zónaidő", "WART": "nyugat-argentínai téli idő", "HAT": "új-fundlandi nyári idő", "VET": "venezuelai idő"}, + timezones: map[string]string{"HECU": "kubai nyári idő", "UYST": "uruguayi nyári idő", "HNNOMX": "északnyugat-mexikói zónaidő", "HNCU": "kubai téli idő", "AKST": "alaszkai zónaidő", "PDT": "csendes-óceáni nyári idő", "HKST": "hongkongi nyári idő", "ACDT": "közép-ausztráliai nyári idő", "CDT": "középső államokbeli nyári idő", "WIT": "kelet-indonéziai idő", "WEZ": "nyugat-európai téli idő", "ARST": "Argentínai nyári idő", "EAT": "kelet-afrikai téli idő", "GMT": "greenwichi középidő, téli idő", "ADT": "atlanti-óceáni nyári idő", "VET": "venezuelai idő", "ACST": "közép-ausztráliai téli idő", "MYT": "malajziai idő", "UYT": "uruguayi téli idő", "HAST": "hawaii-aleuti téli idő", "LHST": "Lord Howe-szigeti téli idő", "JDT": "japán nyári idő", "OESZ": "kelet-európai nyári idő", "HENOMX": "északnyugat-mexikói nyári idő", "AWST": "nyugat-ausztráliai téli idő", "MESZ": "közép-európai nyári idő", "WART": "nyugat-argentínai téli idő", "CST": "középső államokbeli zónaidő", "ACWST": "közép-nyugat-ausztráliai téli idő", "HAT": "új-fundlandi nyári idő", "AWDT": "nyugat-ausztráliai nyári idő", "HEPM": "Saint Pierre és Miquelon-i nyári idő", "∅∅∅": "amazóniai nyári idő", "WAST": "nyugat-afrikai nyári idő", "SGT": "szingapúri téli idő", "EST": "keleti államokbeli zónaidő", "HNT": "új-fundlandi zónaidő", "IST": "indiai téli idő", "CLT": "chilei téli idő", "CAT": "közép-afrikai téli idő", "EDT": "keleti államokbeli nyári idő", "WIB": "nyugat-indonéziai téli idő", "AEST": "kelet-ausztráliai téli idő", "MST": "Macaui zónaidő", "WESZ": "nyugat-európai nyári idő", "LHDT": "Lord Howe-szigeti nyári idő", "NZST": "új-zélandi téli idő", "CHAST": "chathami téli idő", "ChST": "chamorrói téli idő", "HEEG": "kelet-grönlandi nyári idő", "COT": "kolumbiai téli idő", "NZDT": "új-zélandi nyári idő", "WAT": "nyugat-afrikai téli idő", "BT": "butáni idő", "HEOG": "nyugat-grönlandi nyári idő", "HKT": "hongkongi téli idő", "TMST": "türkmenisztáni nyári idő", "OEZ": "kelet-európai téli idő", "ECT": "ecuadori téli idő", "SRT": "szurinámi idő", "ART": "argentínai téli idő", "AEDT": "kelet-ausztráliai nyári idő", "CHADT": "chathami nyári idő", "TMT": "türkmenisztáni téli idő", "MDT": "Macaui nyári idő", "HADT": "hawaii-aleuti nyári idő", "PST": "csendes-óceáni zónaidő", "SAST": "dél-afrikai téli idő", "HNEG": "kelet-grönlandi téli idő", "WARST": "nyugat-argentínai nyári idő", "AST": "atlanti-óceáni zónaidő", "ACWDT": "közép-nyugat-ausztráliai nyári idő", "HNPM": "Saint Pierre és Miquelon-i zónaidő", "MEZ": "közép-európai téli idő", "CLST": "chilei nyári idő", "COST": "kolumbiai nyári idő", "HEPMX": "mexikói csendes-óceáni nyári idő", "AKDT": "alaszkai nyári idő", "WITA": "közép-indonéziai idő", "JST": "japán téli idő", "BOT": "bolíviai téli idő", "GFT": "francia-guianai idő", "HNPMX": "mexikói csendes-óceáni zónaidő", "GYT": "guyanai téli idő", "HNOG": "nyugat-grönlandi téli idő"}, } } @@ -410,7 +410,12 @@ func (hu *hu_HU) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) if t.Month() < 10 { @@ -436,7 +441,12 @@ func (hu *hu_HU) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -451,7 +461,12 @@ func (hu *hu_HU) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -466,7 +481,12 @@ func (hu *hu_HU) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = append(b, hu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/hy/hy.go b/hy/hy.go index dd9c44015..58a28581c 100644 --- a/hy/hy.go +++ b/hy/hy.go @@ -49,29 +49,29 @@ func New() locales.Translator { pluralsOrdinal: []locales.PluralRule{2, 6}, pluralsRange: []locales.PluralRule{2, 6}, decimal: ",", - group: ".", + group: " ", minus: "-", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "֏", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "֏", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "հնվ", "փտվ", "մրտ", "ապր", "մյս", "հնս", "հլս", "օգս", "սեպ", "հոկ", "նոյ", "դեկ"}, monthsNarrow: []string{"", "Հ", "Փ", "Մ", "Ա", "Մ", "Հ", "Հ", "Օ", "Ս", "Հ", "Ն", "Դ"}, monthsWide: []string{"", "հունվարի", "փետրվարի", "մարտի", "ապրիլի", "մայիսի", "հունիսի", "հուլիսի", "օգոստոսի", "սեպտեմբերի", "հոկտեմբերի", "նոյեմբերի", "դեկտեմբերի"}, daysAbbreviated: []string{"կիր", "երկ", "երք", "չրք", "հնգ", "ուր", "շբթ"}, - daysNarrow: []string{"Կ", "Ե", "Ե", "Չ", "Հ", "Ու", "Շ"}, - daysShort: []string{"կիր", "երկ", "երք", "չրք", "հնգ", "ուր", "շբթ"}, + daysNarrow: []string{"Կ", "Ե", "Ե", "Չ", "Հ", "Ո", "Շ"}, + daysShort: []string{"կր", "եկ", "եք", "չք", "հգ", "ու", "շբ"}, daysWide: []string{"կիրակի", "երկուշաբթի", "երեքշաբթի", "չորեքշաբթի", "հինգշաբթի", "ուրբաթ", "շաբաթ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsAbbreviated: []string{"ԿԱ", "ԿՀ"}, + periodsNarrow: []string{"ա", "հ"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, - erasWide: []string{"մ.թ.ա.", "մ.թ."}, - timezones: map[string]string{"MEZ": "Կենտրոնական Եվրոպայի ստանդարտ ժամանակ", "HADT": "Հավայան-ալեուտյան ամառային ժամանակ", "TMT": "Թուրքմենստանի ստանդարտ ժամանակ", "LHDT": "Լորդ Հաուի ամառային ժամանակ", "CST": "Կենտրոնական Ամերիկայի ստանդարտ ժամանակ", "ARST": "Արգենտինայի ամառային ժամանակ", "EST": "Արևելյան Ամերիկայի ստանդարտ ժամանակ", "EDT": "Արևելյան Ամերիկայի ամառային ժամանակ", "AWST": "Արևմտաավստրալիական ստանդարտ ժամանակ", "WIT": "Արևելյան Ինդոնեզիայի ժամանակ", "HKT": "Հոնկոնգի ստանդարտ ժամանակ", "GFT": "Ֆրանսիական Գվիանայի ժամանակ", "EAT": "Արևելաաֆրիկյան ժամանակ", "CDT": "Կենտրոնական Ամերիկայի ամառային ժամանակ", "CLT": "Չիլիի ստանդարտ ժամանակ", "WESZ": "Արևմտյան Եվրոպայի ամառային ժամանակ", "MESZ": "Կենտրոնական Եվրոպայի ամառային ժամանակ", "WIB": "Արևմտյան Ինդոնեզիայի ժամանակ", "CAT": "Կենտրոնաաֆրիկյան ժամանակ", "BT": "Բութանի ժամանակ", "JST": "Ճապոնիայի ստանդարտ ժամանակ", "SGT": "Սինգապուրի ժամանակ", "ACWST": "Կենտրոնաավստրալիական արևմտյան ստանդարտ ժամանակ", "MDT": "Լեռնային ամառային ժամանակ (Հյուսիսային Ամերիկա)", "AWDT": "Արևմտաավստրալիական ամառային ժամանակ", "UYST": "Ուրուգվայի ամառային ժամանակ", "ACDT": "Կենտրոնաավստրալիական ամառային ժամանակ", "COT": "Կոլումբիայի ստանդարտ ժամանակ", "PDT": "Խաղաղօվկիանոսային ամառային ժամանակ (Հյուսիսային Ամերիկա)", "WEZ": "Արևմտյան Եվրոպայի ստանդարտ ժամանակ", "OESZ": "Արևելյան Եվրոպայի ամառային ժամանակ", "LHST": "Լորդ Հաուի ստանդարտ ժամանակ", "OEZ": "Արևելյան Եվրոպայի ստանդարտ ժամանակ", "AKST": "Ալյասկայի ստանդարտ ժամանակ", "AKDT": "Ալյասկայի ամառային ժամանակ", "BOT": "Բոլիվիայի ժամանակ", "UYT": "Ուրուգվայի ստանդարտ ժամանակ", "∅∅∅": "Բրազիլիայի ամառային ժամանակ", "ACST": "Կենտրոնաավստրալիական ստանդարտ ժամանակ", "ADT": "Ատլանտյան ամառային ժամանակ", "PST": "Խաղաղօվկիանոսային ստանդարտ ժամանակ (Հյուսիսային Ամերիկա)", "JDT": "Ճապոնիայի ամառային ժամանակ", "COST": "Կոլումբիայի ամառային ժամանակ", "GMT": "Գրինվիչի ժամանակ", "AST": "Ատլանտյան ստանդարտ ժամանակ", "IST": "Հնդկաստանի ստանդարտ ժամանակ", "GYT": "Գայանայի ժամանակ", "NZST": "Նոր Զելանդիայի ստանդարտ ժամանակ", "HKST": "Հոնկոնգի ամառային ժամանակ", "SAST": "Հարավաֆրիկյան ժամանակ", "WAST": "Արևմտաաֆրիկյան ամառային ժամանակ", "MYT": "Մալայզիայի ժամանակ", "NZDT": "Նոր Զելանդիայի ամառային ժամանակ", "HAT": "Նյուֆաունդլենդի ամառային ժամանակ", "SRT": "Սուրինամի ժամանակ", "AEDT": "Արևելաավստրալիական ամառային ժամանակ", "ART": "Արգենտինայի ստնադարտ ժամանակ", "WITA": "Կենտրոնական Ինդոնեզիայի ժամանակ", "CLST": "Չիլիի ամառային ժամանակ", "ACWDT": "Կենտրոնաավստրալիական արևմտյան ամառային ժամանակ", "ECT": "Էկվադորի ժամանակ", "WARST": "Արևմտյան Արգենտինայի ամառային ժամանակ", "WAT": "Արևմտաաֆրիկյան ստանդարտ ժամանակ", "TMST": "Թուրքմենստանի ամառային ժամանակ", "MST": "Լեռնային ստանդարտ ժամանակ (Հյուսիսային Ամերիկա)", "ChST": "Չամորոյի ժամանակ", "HNT": "Նյուֆաունդլենդի ստանդարտ ժամանակ", "CHADT": "Չաթեմ կղզու ամառային ժամանակ", "VET": "Վենեսուելայի ժամանակ", "HAST": "Հավայան-ալեուտյան ստանդարտ ժամանակ", "AEST": "Արևելաավստրալիական ստանդարտ ժամանակ", "WART": "Արևմտյան Արգենտինայի ստնադարտ ժամանակ", "CHAST": "Չաթեմ կղզու ստանդարտ ժամանակ"}, + erasWide: []string{"Քրիստոսից առաջ", "Քրիստոսից հետո"}, + timezones: map[string]string{"GMT": "Գրինվիչի ժամանակ", "SGT": "Սինգապուրի ժամանակ", "HECU": "Կուբայի ամառային ժամանակ", "UYST": "Ուրուգվայի ամառային ժամանակ", "HNT": "Նյուֆաունդլենդի ստանդարտ ժամանակ", "HEPM": "Սեն Պիեռ և Միքելոնի ամառային ժամանակ", "CLT": "Չիլիի ստանդարտ ժամանակ", "HAT": "Նյուֆաունդլենդի ամառային ժամանակ", "AEDT": "Արևելյան Ավստրալիայի ամառային ժամանակ", "WITA": "Կենտրոնական Ինդոնեզիայի ժամանակ", "LHDT": "Լորդ Հաուի ամառային ժամանակ", "CHAST": "Չաթեմ կղզու ստանդարտ ժամանակ", "ChST": "Չամոռոյի ժամանակ", "EDT": "Արևելյան Ամերիկայի ամառային ժամանակ", "HEPMX": "Մեքսիկայի խաղաղօվկիանոսյան ամառային ժամանակ", "AKDT": "Ալյասկայի ամառային ժամանակ", "HADT": "Հավայան-ալեության ամառային ժամանակ", "AWST": "Արևմտյան Ավստրալիայի ստանդարտ ժամանակ", "ACST": "Կենտրոնական Ավստրալիայի ստանդարտ ժամանակ", "MST": "MST", "AKST": "Ալյասկայի ստանդարտ ժամանակ", "AST": "Ատլանտյան ստանդարտ ժամանակ", "HAST": "Հավայան-ալեության ստանդարտ ժամանակ", "HNPM": "Սեն Պիեռ և Միքելոնի ստանդարտ ժամանակ", "LHST": "Լորդ Հաուի ստանդարտ ժամանակ", "HNEG": "Արևելյան Գրենլանդիայի ստանդարտ ժամանակ", "WAST": "Արևմտյան Աֆրիկայի ամառային ժամանակ", "COST": "Կոլումբիայի ամառային ժամանակ", "ADT": "Ատլանտյան ամառային ժամանակ", "ARST": "Արգենտինայի ամառային ժամանակ", "NZST": "Նոր Զելանդիայի ստանդարտ ժամանակ", "IST": "Հնդկաստանի ստանդարտ ժամանակ", "JST": "Ճապոնիայի ստանդարտ ժամանակ", "GFT": "Ֆրանսիական Գվիանայի ժամանակ", "CAT": "Կենտրոնական Աֆրիկայի ժամանակ", "COT": "Կոլումբիայի ստանդարտ ժամանակ", "HNNOMX": "Հյուսիսարևմտյան Մեքսիկայի ստանդարտ ժամանակ", "HENOMX": "Հյուսիսարևմտյան Մեքսիկայի ամառային ժամանակ", "AEST": "Արևելյան Ավստրալիայի ստանդարտ ժամանակ", "AWDT": "Արևմտյան Ավստրալիայի ամառային ժամանակ", "CLST": "Չիլիի ամառային ժամանակ", "ACDT": "Կենտրոնական Ավստրալիայի ամառային ժամանակ", "WARST": "Արևմտյան Արգենտինայի ամառային ժամանակ", "WAT": "Արևմտյան Աֆրիկայի ստանդարտ ժամանակ", "OESZ": "Արևելյան Եվրոպայի ամառային ժամանակ", "CHADT": "Չաթեմ կղզու ամառային ժամանակ", "WART": "Արևմտյան Արգենտինայի ստնադարտ ժամանակ", "MYT": "Մալայզիայի ժամանակ", "PST": "Խաղաղօվկիանոսյան ստանդարտ ժամանակ", "PDT": "Խաղաղօվկիանոսյան ամառային ժամանակ", "EAT": "Արևելյան Աֆրիկայի ժամանակ", "VET": "Վենեսուելայի ժամանակ", "SRT": "Սուրինամի ժամանակ", "HKT": "Հոնկոնգի ստանդարտ ժամանակ", "BOT": "Բոլիվիայի ժամանակ", "TMT": "Թուրքմենստանի ստանդարտ ժամանակ", "HNPMX": "Մեքսիկայի խաղաղօվկիանոսյան ստանդարտ ժամանակ", "HEEG": "Արևելյան Գրենլանդիայի ամառային ժամանակ", "EST": "Արևելյան Ամերիկայի ստանդարտ ժամանակ", "WEZ": "Արևմտյան Եվրոպայի ստանդարտ ժամանակ", "ACWDT": "Կենտրոնական Ավստրալիայի արևմտյան ամառային ժամանակ", "∅∅∅": "Պերուի ամառային ժամանակ", "HNOG": "Արևմտյան Գրենլանդիայի ստանդարտ ժամանակ", "NZDT": "Նոր Զելանդիայի ամառային ժամանակ", "SAST": "Հարավային Աֆրիկայի ժամանակ", "MDT": "MDT", "ACWST": "Կենտրոնական Ավստրալիայի արևմտյան ստանդարտ ժամանակ", "MESZ": "Կենտրոնական Եվրոպայի ամառային ժամանակ", "JDT": "Ճապոնիայի ամառային ժամանակ", "MEZ": "Կենտրոնական Եվրոպայի ստանդարտ ժամանակ", "ECT": "Էկվադորի ժամանակ", "HNCU": "Կուբայի ստանդարտ ժամանակ", "UYT": "Ուրուգվայի ստանդարտ ժամանակ", "CST": "Կենտրոնական Ամերիկայի ստանդարտ ժամանակ", "CDT": "Կենտրոնական Ամերիկայի ամառային ժամանակ", "GYT": "Գայանայի ժամանակ", "BT": "Բութանի ժամանակ", "TMST": "Թուրքմենստանի ամառային ժամանակ", "OEZ": "Արևելյան Եվրոպայի ստանդարտ ժամանակ", "WIB": "Արևմտյան Ինդոնեզիայի ժամանակ", "WIT": "Արևելյան Ինդոնեզիայի ժամանակ", "WESZ": "Արևմտյան Եվրոպայի ամառային ժամանակ", "ART": "Արգենտինայի ստնադարտ ժամանակ", "HEOG": "Արևմտյան Գրենլանդիայի ամառային ժամանակ", "HKST": "Հոնկոնգի ամառային ժամանակ"}, } } @@ -210,17 +210,30 @@ func (hy *hy) WeekdaysWide() []string { func (hy *hy) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 - + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, hy.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -272,7 +285,7 @@ func (hy *hy) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := hy.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -287,7 +300,9 @@ func (hy *hy) FmtCurrency(num float64, v uint64, currency currency.Type) string if inWhole { if count == 3 { - b = append(b, hy.group[0]) + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } count = 1 } else { count++ @@ -334,7 +349,7 @@ func (hy *hy) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := hy.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -349,7 +364,9 @@ func (hy *hy) FmtAccounting(num float64, v uint64, currency currency.Type) strin if inWhole { if count == 3 { - b = append(b, hy.group[0]) + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } count = 1 } else { count++ @@ -444,8 +461,14 @@ func (hy *hy) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e}...) return string(b) } @@ -463,8 +486,14 @@ func (hy *hy) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hy.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e}...) return string(b) } @@ -474,8 +503,13 @@ func (hy *hy) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e, 0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e, 0x20}...) b = append(b, hy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -490,6 +524,10 @@ func (hy *hy) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -507,6 +545,10 @@ func (hy *hy) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -531,6 +573,10 @@ func (hy *hy) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -546,7 +592,7 @@ func (hy *hy) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x2c, 0x20}...) + b = append(b, []byte{0x20}...) tz, _ := t.Zone() b = append(b, tz...) @@ -559,6 +605,10 @@ func (hy *hy) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -574,7 +624,7 @@ func (hy *hy) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x2c, 0x20}...) + b = append(b, []byte{0x20}...) tz, _ := t.Zone() diff --git a/hy_AM/hy_AM.go b/hy_AM/hy_AM.go index 18e1ec446..da696d077 100644 --- a/hy_AM/hy_AM.go +++ b/hy_AM/hy_AM.go @@ -49,29 +49,29 @@ func New() locales.Translator { pluralsOrdinal: []locales.PluralRule{2, 6}, pluralsRange: []locales.PluralRule{2, 6}, decimal: ",", - group: ".", + group: " ", minus: "-", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "հնվ", "փտվ", "մրտ", "ապր", "մյս", "հնս", "հլս", "օգս", "սեպ", "հոկ", "նոյ", "դեկ"}, monthsNarrow: []string{"", "Հ", "Փ", "Մ", "Ա", "Մ", "Հ", "Հ", "Օ", "Ս", "Հ", "Ն", "Դ"}, monthsWide: []string{"", "հունվարի", "փետրվարի", "մարտի", "ապրիլի", "մայիսի", "հունիսի", "հուլիսի", "օգոստոսի", "սեպտեմբերի", "հոկտեմբերի", "նոյեմբերի", "դեկտեմբերի"}, daysAbbreviated: []string{"կիր", "երկ", "երք", "չրք", "հնգ", "ուր", "շբթ"}, - daysNarrow: []string{"Կ", "Ե", "Ե", "Չ", "Հ", "Ու", "Շ"}, - daysShort: []string{"կիր", "երկ", "երք", "չրք", "հնգ", "ուր", "շբթ"}, + daysNarrow: []string{"Կ", "Ե", "Ե", "Չ", "Հ", "Ո", "Շ"}, + daysShort: []string{"կր", "եկ", "եք", "չք", "հգ", "ու", "շբ"}, daysWide: []string{"կիրակի", "երկուշաբթի", "երեքշաբթի", "չորեքշաբթի", "հինգշաբթի", "ուրբաթ", "շաբաթ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsAbbreviated: []string{"ԿԱ", "ԿՀ"}, + periodsNarrow: []string{"ա", "հ"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, - erasWide: []string{"մ.թ.ա.", "մ.թ."}, - timezones: map[string]string{"UYT": "Ուրուգվայի ստանդարտ ժամանակ", "VET": "Վենեսուելայի ժամանակ", "ARST": "Արգենտինայի ամառային ժամանակ", "WART": "Արևմտյան Արգենտինայի ստնադարտ ժամանակ", "TMT": "Թուրքմենստանի ստանդարտ ժամանակ", "NZDT": "Նոր Զելանդիայի ամառային ժամանակ", "BOT": "Բոլիվիայի ժամանակ", "HAT": "Նյուֆաունդլենդի ամառային ժամանակ", "LHDT": "Լորդ Հաուի ամառային ժամանակ", "JDT": "Ճապոնիայի ամառային ժամանակ", "HKT": "Հոնկոնգի ստանդարտ ժամանակ", "GFT": "Ֆրանսիական Գվիանայի ժամանակ", "HAST": "Հավայան-ալեուտյան ստանդարտ ժամանակ", "WAT": "Արևմտաաֆրիկյան ստանդարտ ժամանակ", "LHST": "Լորդ Հաուի ստանդարտ ժամանակ", "GYT": "Գայանայի ժամանակ", "CLST": "Չիլիի ամառային ժամանակ", "ADT": "Ատլանտյան ամառային ժամանակ", "MST": "Լեռնային ստանդարտ ժամանակ (Հյուսիսային Ամերիկա)", "MDT": "Լեռնային ամառային ժամանակ (Հյուսիսային Ամերիկա)", "NZST": "Նոր Զելանդիայի ստանդարտ ժամանակ", "HNT": "Նյուֆաունդլենդի ստանդարտ ժամանակ", "GMT": "Գրինվիչի ժամանակ", "UYST": "Ուրուգվայի ամառային ժամանակ", "HADT": "Հավայան-ալեուտյան ամառային ժամանակ", "WITA": "Կենտրոնական Ինդոնեզիայի ժամանակ", "AWST": "Արևմտաավստրալիական ստանդարտ ժամանակ", "WESZ": "Արևմտյան Եվրոպայի ամառային ժամանակ", "EST": "Արևելյան Ամերիկայի ստանդարտ ժամանակ", "OEZ": "Արևելյան Եվրոպայի ստանդարտ ժամանակ", "OESZ": "Արևելյան Եվրոպայի ամառային ժամանակ", "ACDT": "Կենտրոնաավստրալիական ամառային ժամանակ", "COT": "Կոլումբիայի ստանդարտ ժամանակ", "COST": "Կոլումբիայի ամառային ժամանակ", "AKST": "Ալյասկայի ստանդարտ ժամանակ", "AKDT": "Ալյասկայի ամառային ժամանակ", "EDT": "Արևելյան Ամերիկայի ամառային ժամանակ", "PST": "Խաղաղօվկիանոսային ստանդարտ ժամանակ (Հյուսիսային Ամերիկա)", "CHAST": "Չաթեմ կղզու ստանդարտ ժամանակ", "SRT": "Սուրինամի ժամանակ", "MEZ": "Կենտրոնական Եվրոպայի ստանդարտ ժամանակ", "SGT": "Սինգապուրի ժամանակ", "ACWST": "Կենտրոնաավստրալիական արևմտյան ստանդարտ ժամանակ", "CDT": "Կենտրոնական Ամերիկայի ամառային ժամանակ", "CHADT": "Չաթեմ կղզու ամառային ժամանակ", "WIB": "Արևմտյան Ինդոնեզիայի ժամանակ", "AEST": "Արևելաավստրալիական ստանդարտ ժամանակ", "WARST": "Արևմտյան Արգենտինայի ամառային ժամանակ", "WAST": "Արևմտաաֆրիկյան ամառային ժամանակ", "PDT": "Խաղաղօվկիանոսային ամառային ժամանակ (Հյուսիսային Ամերիկա)", "AWDT": "Արևմտաավստրալիական ամառային ժամանակ", "WIT": "Արևելյան Ինդոնեզիայի ժամանակ", "WEZ": "Արևմտյան Եվրոպայի ստանդարտ ժամանակ", "AEDT": "Արևելաավստրալիական ամառային ժամանակ", "TMST": "Թուրքմենստանի ամառային ժամանակ", "EAT": "Արևելաաֆրիկյան ժամանակ", "BT": "Բութանի ժամանակ", "CLT": "Չիլիի ստանդարտ ժամանակ", "ART": "Արգենտինայի ստնադարտ ժամանակ", "JST": "Ճապոնիայի ստանդարտ ժամանակ", "MESZ": "Կենտրոնական Եվրոպայի ամառային ժամանակ", "ACST": "Կենտրոնաավստրալիական ստանդարտ ժամանակ", "SAST": "Հարավաֆրիկյան ժամանակ", "ACWDT": "Կենտրոնաավստրալիական արևմտյան ամառային ժամանակ", "AST": "Ատլանտյան ստանդարտ ժամանակ", "CST": "Կենտրոնական Ամերիկայի ստանդարտ ժամանակ", "∅∅∅": "Ազորյան կղզիների ամառային ժամանակ", "CAT": "Կենտրոնաաֆրիկյան ժամանակ", "HKST": "Հոնկոնգի ամառային ժամանակ", "ECT": "Էկվադորի ժամանակ", "MYT": "Մալայզիայի ժամանակ", "ChST": "Չամորոյի ժամանակ", "IST": "Հնդկաստանի ստանդարտ ժամանակ"}, + erasWide: []string{"Քրիստոսից առաջ", "Քրիստոսից հետո"}, + timezones: map[string]string{"AEST": "Արևելյան Ավստրալիայի ստանդարտ ժամանակ", "HNPM": "Սեն Պիեռ և Միքելոնի ստանդարտ ժամանակ", "HEPM": "Սեն Պիեռ և Միքելոնի ամառային ժամանակ", "CHAST": "Չաթեմ կղզու ստանդարտ ժամանակ", "CLST": "Չիլիի ամառային ժամանակ", "BOT": "Բոլիվիայի ժամանակ", "AKST": "Ալյասկայի ստանդարտ ժամանակ", "ACDT": "Կենտրոնական Ավստրալիայի ամառային ժամանակ", "WAST": "Արևմտյան Աֆրիկայի ամառային ժամանակ", "UYT": "Ուրուգվայի ստանդարտ ժամանակ", "GYT": "Գայանայի ժամանակ", "IST": "Հնդկաստանի ստանդարտ ժամանակ", "HNEG": "Արևելյան Գրենլանդիայի ստանդարտ ժամանակ", "ADT": "Ատլանտյան ամառային ժամանակ", "VET": "Վենեսուելայի ժամանակ", "WEZ": "Արևմտյան Եվրոպայի ստանդարտ ժամանակ", "LHST": "Լորդ Հաուի ստանդարտ ժամանակ", "TMT": "Թուրքմենստանի ստանդարտ ժամանակ", "OESZ": "Արևելյան Եվրոպայի ամառային ժամանակ", "MDT": "MDT", "AKDT": "Ալյասկայի ամառային ժամանակ", "WIB": "Արևմտյան Ինդոնեզիայի ժամանակ", "OEZ": "Արևելյան Եվրոպայի ստանդարտ ժամանակ", "CDT": "Կենտրոնական Ամերիկայի ամառային ժամանակ", "CAT": "Կենտրոնական Աֆրիկայի ժամանակ", "ECT": "Էկվադորի ժամանակ", "GMT": "Գրինվիչի ժամանակ", "ART": "Արգենտինայի ստնադարտ ժամանակ", "WAT": "Արևմտյան Աֆրիկայի ստանդարտ ժամանակ", "COST": "Կոլումբիայի ամառային ժամանակ", "HAT": "Նյուֆաունդլենդի ամառային ժամանակ", "HKT": "Հոնկոնգի ստանդարտ ժամանակ", "HNT": "Նյուֆաունդլենդի ստանդարտ ժամանակ", "ARST": "Արգենտինայի ամառային ժամանակ", "MESZ": "Կենտրոնական Եվրոպայի ամառային ժամանակ", "NZDT": "Նոր Զելանդիայի ամառային ժամանակ", "JDT": "Ճապոնիայի ամառային ժամանակ", "EAT": "Արևելյան Աֆրիկայի ժամանակ", "MYT": "Մալայզիայի ժամանակ", "ACWST": "Կենտրոնական Ավստրալիայի արևմտյան ստանդարտ ժամանակ", "COT": "Կոլումբիայի ստանդարտ ժամանակ", "HENOMX": "Հյուսիսարևմտյան Մեքսիկայի ամառային ժամանակ", "AST": "Ատլանտյան ստանդարտ ժամանակ", "ACWDT": "Կենտրոնական Ավստրալիայի արևմտյան ամառային ժամանակ", "HEOG": "Արևմտյան Գրենլանդիայի ամառային ժամանակ", "WIT": "Արևելյան Ինդոնեզիայի ժամանակ", "NZST": "Նոր Զելանդիայի ստանդարտ ժամանակ", "SAST": "Հարավային Աֆրիկայի ժամանակ", "∅∅∅": "Ամազոնյան ամառային ժամանակ", "WART": "Արևմտյան Արգենտինայի ստնադարտ ժամանակ", "HECU": "Կուբայի ամառային ժամանակ", "HADT": "Հավայան-ալեության ամառային ժամանակ", "CHADT": "Չաթեմ կղզու ամառային ժամանակ", "ACST": "Կենտրոնական Ավստրալիայի ստանդարտ ժամանակ", "HNNOMX": "Հյուսիսարևմտյան Մեքսիկայի ստանդարտ ժամանակ", "UYST": "Ուրուգվայի ամառային ժամանակ", "WESZ": "Արևմտյան Եվրոպայի ամառային ժամանակ", "PST": "Խաղաղօվկիանոսյան ստանդարտ ժամանակ", "PDT": "Խաղաղօվկիանոսյան ամառային ժամանակ", "GFT": "Ֆրանսիական Գվիանայի ժամանակ", "WARST": "Արևմտյան Արգենտինայի ամառային ժամանակ", "EDT": "Արևելյան Ամերիկայի ամառային ժամանակ", "MST": "MST", "HNPMX": "Մեքսիկայի խաղաղօվկիանոսյան ստանդարտ ժամանակ", "SRT": "Սուրինամի ժամանակ", "AEDT": "Արևելյան Ավստրալիայի ամառային ժամանակ", "AWST": "Արևմտյան Ավստրալիայի ստանդարտ ժամանակ", "AWDT": "Արևմտյան Ավստրալիայի ամառային ժամանակ", "HKST": "Հոնկոնգի ամառային ժամանակ", "WITA": "Կենտրոնական Ինդոնեզիայի ժամանակ", "EST": "Արևելյան Ամերիկայի ստանդարտ ժամանակ", "HEPMX": "Մեքսիկայի խաղաղօվկիանոսյան ամառային ժամանակ", "HNCU": "Կուբայի ստանդարտ ժամանակ", "BT": "Բութանի ժամանակ", "HNOG": "Արևմտյան Գրենլանդիայի ստանդարտ ժամանակ", "LHDT": "Լորդ Հաուի ամառային ժամանակ", "CLT": "Չիլիի ստանդարտ ժամանակ", "JST": "Ճապոնիայի ստանդարտ ժամանակ", "TMST": "Թուրքմենստանի ամառային ժամանակ", "SGT": "Սինգապուրի ժամանակ", "HAST": "Հավայան-ալեության ստանդարտ ժամանակ", "MEZ": "Կենտրոնական Եվրոպայի ստանդարտ ժամանակ", "ChST": "Չամոռոյի ժամանակ", "HEEG": "Արևելյան Գրենլանդիայի ամառային ժամանակ", "CST": "Կենտրոնական Ամերիկայի ստանդարտ ժամանակ"}, } } @@ -210,17 +210,30 @@ func (hy *hy_AM) WeekdaysWide() []string { func (hy *hy_AM) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 - + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, hy.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -272,7 +285,7 @@ func (hy *hy_AM) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := hy.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -287,7 +300,9 @@ func (hy *hy_AM) FmtCurrency(num float64, v uint64, currency currency.Type) stri if inWhole { if count == 3 { - b = append(b, hy.group[0]) + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } count = 1 } else { count++ @@ -334,7 +349,7 @@ func (hy *hy_AM) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := hy.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -349,7 +364,9 @@ func (hy *hy_AM) FmtAccounting(num float64, v uint64, currency currency.Type) st if inWhole { if count == 3 { - b = append(b, hy.group[0]) + for j := len(hy.group) - 1; j >= 0; j-- { + b = append(b, hy.group[j]) + } count = 1 } else { count++ @@ -444,8 +461,14 @@ func (hy *hy_AM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e}...) return string(b) } @@ -463,8 +486,14 @@ func (hy *hy_AM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, hy.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e}...) return string(b) } @@ -474,8 +503,13 @@ func (hy *hy_AM) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0xd5, 0xa9, 0x2e, 0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20, 0xd5, 0xa9, 0x2e, 0x20}...) b = append(b, hy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -490,6 +524,10 @@ func (hy *hy_AM) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -507,6 +545,10 @@ func (hy *hy_AM) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -531,6 +573,10 @@ func (hy *hy_AM) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -546,7 +592,7 @@ func (hy *hy_AM) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x2c, 0x20}...) + b = append(b, []byte{0x20}...) tz, _ := t.Zone() b = append(b, tz...) @@ -559,6 +605,10 @@ func (hy *hy_AM) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, hy.timeSeparator...) @@ -574,7 +624,7 @@ func (hy *hy_AM) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x2c, 0x20}...) + b = append(b, []byte{0x20}...) tz, _ := t.Zone() diff --git a/id/id.go b/id/id.go index 8e1bd39d6..4905a8a07 100644 --- a/id/id.go +++ b/id/id.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "Rp", "IEP", "ILP", "ILR", "₪", "Rs", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "Rp", "IEP", "ILP", "ILR", "₪", "Rs", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agt", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"}, @@ -66,8 +66,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"SM", "M"}, erasNarrow: []string{"SM", "M"}, - erasWide: []string{"Sebelum Masehi", "M"}, - timezones: map[string]string{"LHST": "Waktu Standar Lord Howe", "UYT": "Waktu Standar Uruguay", "OEZ": "Waktu Standar Eropa Timur", "ACWST": "Waktu Standar Barat Tengah Australia", "CST": "Waktu Standar Tengah", "NZDT": "Waktu Musim Panas Selandia Baru", "AWST": "Waktu Standar Barat Australia", "GMT": "Waktu Rata-rata Greenwich", "VET": "Waktu Venezuela", "MESZ": "Waktu Musim Panas Eropa Tengah", "WARST": "Waktu Musim Panas Argentina Bagian Barat", "EST": "Waktu Standar Timur", "WIT": "Waktu Indonesia Timur", "CHAST": "Waktu Standar Chatham", "AKST": "Waktu Standar Alaska", "WAST": "Waktu Musim Panas Afrika Barat", "CDT": "Waktu Musim Panas Tengah", "GYT": "Waktu Guyana", "CLT": "Waktu Standar Cile", "AWDT": "Waktu Musim Panas Barat Australia", "ECT": "Waktu Ekuador", "ARST": "Waktu Musim Panas Argentina", "PST": "Waktu Standar Pasifik", "WITA": "Waktu Indonesia Tengah", "MDT": "Waktu Musim Panas Pegunungan", "GFT": "Waktu Guyana Prancis", "AEDT": "Waktu Musim Panas Timur Australia", "MST": "Waktu Standar Pegunungan", "∅∅∅": "Waktu Musim Panas Brasil", "OESZ": "Waktu Musim Panas Eropa Timur", "ART": "Waktu Standar Argentina", "JST": "Waktu Standar Jepang", "HKST": "Waktu Musim Panas Hong Kong", "EDT": "Waktu Musim Panas Timur", "SAST": "Waktu Standar Afrika Selatan", "AKDT": "Waktu Musim Panas Alaska", "TMST": "Waktu Musim Panas Turkmenistan", "CAT": "Waktu Afrika Tengah", "UYST": "Waktu Musim Panas Uruguay", "EAT": "Waktu Afrika Timur", "MYT": "Waktu Malaysia", "NZST": "Waktu Standar Selandia Baru", "SGT": "Waktu Standar Singapura", "WART": "Waktu Standar Argentina Bagian Barat", "AEST": "Waktu Standar Timur Australia", "ChST": "Waktu Chamorro", "ACWDT": "Waktu Musim Panas Barat Tengah Australia", "BOT": "Waktu Bolivia", "CLST": "Waktu Musim Panas Cile", "HAST": "Waktu Standar Hawaii-Aleutian", "PDT": "Waktu Musim Panas Pasifik", "JDT": "Waktu Musim Panas Jepang", "CHADT": "Waktu Musim Panas Chatham", "WEZ": "Waktu Standar Eropa Barat", "HKT": "Waktu Standar Hong Kong", "WIB": "Waktu Indonesia Barat", "WESZ": "Waktu Musim Panas Eropa Barat", "ACST": "Waktu Standar Tengah Australia", "ADT": "Waktu Musim Panas Atlantik", "TMT": "Waktu Standar Turkmenistan", "LHDT": "Waktu Musim Panas Lord Howe", "COST": "Waktu Musim Panas Kolombia", "ACDT": "Waktu Musim Panas Tengah Australia", "IST": "Waktu India", "AST": "Waktu Standar Atlantik", "HNT": "Waktu Standar Newfoundland", "HAT": "Waktu Musim Panas Newfoundland", "BT": "Waktu Bhutan", "SRT": "Waktu Suriname", "COT": "Waktu Standar Kolombia", "MEZ": "Waktu Standar Eropa Tengah", "HADT": "Waktu Musim Panas Hawaii-Aleutian", "WAT": "Waktu Standar Afrika Barat"}, + erasWide: []string{"Sebelum Masehi", "Masehi"}, + timezones: map[string]string{"JDT": "Waktu Musim Panas Jepang", "TMT": "Waktu Standar Turkmenistan", "ChST": "Waktu Standar Chamorro", "HECU": "Waktu Musim Panas Kuba", "EST": "Waktu Standar Timur", "AKDT": "Waktu Musim Panas Alaska", "SAST": "Waktu Standar Afrika Selatan", "JST": "Waktu Standar Jepang", "GYT": "Waktu Guyana", "WIT": "Waktu Indonesia Timur", "AEDT": "Waktu Musim Panas Timur Australia", "HEPM": "Waktu Musim Panas Saint Pierre dan Miquelon", "WARST": "Waktu Musim Panas Argentina Bagian Barat", "COT": "Waktu Standar Kolombia", "ACDT": "Waktu Musim Panas Tengah Australia", "HNCU": "Waktu Standar Kuba", "ARST": "Waktu Musim Panas Argentina", "AWST": "Waktu Standar Barat Australia", "CHAST": "Waktu Standar Chatham", "BOT": "Waktu Bolivia", "UYT": "Waktu Standar Uruguay", "HAST": "Waktu Standar Hawaii-Aleutian", "AWDT": "Waktu Musim Panas Barat Australia", "MESZ": "Waktu Musim Panas Eropa Tengah", "ECT": "Waktu Ekuador", "WART": "Waktu Standar Argentina Bagian Barat", "MST": "Waktu Standar Makau", "CDT": "Waktu Musim Panas Tengah", "SRT": "Waktu Suriname", "NZST": "Waktu Standar Selandia Baru", "HNEG": "Waktu Standar Greenland Timur", "HEEG": "Waktu Musim Panas Greenland Timur", "WAST": "Waktu Musim Panas Afrika Barat", "OESZ": "Waktu Musim Panas Eropa Timur", "ART": "Waktu Standar Argentina", "HEOG": "Waktu Musim Panas Greenland Barat", "LHST": "Waktu Standar Lord Howe", "CLST": "Waktu Musim Panas Cile", "EAT": "Waktu Afrika Timur", "ADT": "Waktu Musim Panas Atlantik", "BT": "Waktu Bhutan", "PDT": "Waktu Musim Panas Pasifik", "ACST": "Waktu Standar Tengah Australia", "CAT": "Waktu Afrika Tengah", "WIB": "Waktu Indonesia Barat", "WEZ": "Waktu Standar Eropa Barat", "HNNOMX": "Waktu Standar Meksiko Barat Laut", "CST": "Waktu Standar Tengah", "COST": "Waktu Musim Panas Kolombia", "MYT": "Waktu Malaysia", "PST": "Waktu Standar Pasifik", "HKT": "Waktu Standar Hong Kong", "LHDT": "Waktu Musim Panas Lord Howe", "IST": "Waktu India", "HAT": "Waktu Musim Panas Newfoundland", "HNOG": "Waktu Standar Greenland Barat", "MDT": "Waktu Musim Panas Makau", "UYST": "Waktu Musim Panas Uruguay", "HADT": "Waktu Musim Panas Hawaii-Aleutian", "CHADT": "Waktu Musim Panas Chatham", "EDT": "Waktu Musim Panas Timur", "HEPMX": "Waktu Musim Panas Pasifik Meksiko", "WITA": "Waktu Indonesia Tengah", "∅∅∅": "Waktu Musim Panas Amazon", "SGT": "Waktu Standar Singapura", "AST": "Waktu Standar Atlantik", "VET": "Waktu Venezuela", "HNT": "Waktu Standar Newfoundland", "HKST": "Waktu Musim Panas Hong Kong", "NZDT": "Waktu Musim Panas Selandia Baru", "WAT": "Waktu Standar Afrika Barat", "TMST": "Waktu Musim Panas Turkmenistan", "OEZ": "Waktu Standar Eropa Timur", "HENOMX": "Waktu Musim Panas Meksiko Barat Laut", "GMT": "Greenwich Mean Time", "HNPMX": "Waktu Standar Pasifik Meksiko", "ACWDT": "Waktu Musim Panas Barat Tengah Australia", "CLT": "Waktu Standar Cile", "GFT": "Waktu Guyana Prancis", "WESZ": "Waktu Musim Panas Eropa Barat", "HNPM": "Waktu Standar Saint Pierre dan Miquelon", "ACWST": "Waktu Standar Barat Tengah Australia", "AEST": "Waktu Standar Timur Australia", "MEZ": "Waktu Standar Eropa Tengah", "AKST": "Waktu Standar Alaska"}, } } @@ -409,7 +409,12 @@ func (id *id) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (id *id) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (id *id) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/id_ID/id_ID.go b/id_ID/id_ID.go index df463c537..8d6193754 100644 --- a/id_ID/id_ID.go +++ b/id_ID/id_ID.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agt", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"}, @@ -66,8 +66,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"SM", "M"}, erasNarrow: []string{"SM", "M"}, - erasWide: []string{"Sebelum Masehi", "M"}, - timezones: map[string]string{"HAT": "Waktu Musim Panas Newfoundland", "GYT": "Waktu Guyana", "WESZ": "Waktu Musim Panas Eropa Barat", "HKT": "Waktu Standar Hong Kong", "CHADT": "Waktu Musim Panas Chatham", "NZST": "Waktu Standar Selandia Baru", "BOT": "Waktu Bolivia", "HNT": "Waktu Standar Newfoundland", "UYST": "Waktu Musim Panas Uruguay", "GFT": "Waktu Guyana Prancis", "WIB": "Waktu Indonesia Barat", "HADT": "Waktu Musim Panas Hawaii-Aleutian", "AKDT": "Waktu Musim Panas Alaska", "TMST": "Waktu Musim Panas Turkmenistan", "CDT": "Waktu Musim Panas Tengah", "CLT": "Waktu Standar Cile", "CLST": "Waktu Musim Panas Cile", "AEST": "Waktu Standar Timur Australia", "AST": "Waktu Standar Atlantik", "SAST": "Waktu Standar Afrika Selatan", "AWST": "Waktu Standar Barat Australia", "AWDT": "Waktu Musim Panas Barat Australia", "SGT": "Waktu Standar Singapura", "EDT": "Waktu Musim Panas Timur", "OESZ": "Waktu Musim Panas Eropa Timur", "HKST": "Waktu Musim Panas Hong Kong", "ECT": "Waktu Ekuador", "AKST": "Waktu Standar Alaska", "WIT": "Waktu Indonesia Timur", "BT": "Waktu Bhutan", "LHST": "Waktu Standar Lord Howe", "VET": "Waktu Venezuela", "ARST": "Waktu Musim Panas Argentina", "CAT": "Waktu Afrika Tengah", "UYT": "Waktu Standar Uruguay", "CHAST": "Waktu Standar Chatham", "COT": "Waktu Standar Kolombia", "WARST": "Waktu Musim Panas Argentina Bagian Barat", "MDT": "Waktu Musim Panas Makau", "ChST": "Waktu Chamorro", "GMT": "Waktu Rata-rata Greenwich", "HAST": "Waktu Standar Hawaii-Aleutian", "WART": "Waktu Standar Argentina Bagian Barat", "TMT": "Waktu Standar Turkmenistan", "MYT": "Waktu Malaysia", "OEZ": "Waktu Standar Eropa Timur", "ACST": "Waktu Standar Tengah Australia", "AEDT": "Waktu Musim Panas Timur Australia", "ADT": "Waktu Musim Panas Atlantik", "WITA": "Waktu Indonesia Tengah", "JDT": "Waktu Musim Panas Jepang", "MEZ": "Waktu Standar Eropa Tengah", "MESZ": "Waktu Musim Panas Eropa Tengah", "EST": "Waktu Standar Timur", "WAT": "Waktu Standar Afrika Barat", "IST": "Waktu India", "CST": "Waktu Standar Tengah", "MST": "Waktu Standar Makau", "LHDT": "Waktu Musim Panas Lord Howe", "JST": "Waktu Standar Jepang", "ACDT": "Waktu Musim Panas Tengah Australia", "ACWST": "Waktu Standar Barat Tengah Australia", "SRT": "Waktu Suriname", "WEZ": "Waktu Standar Eropa Barat", "ACWDT": "Waktu Musim Panas Barat Tengah Australia", "PST": "Waktu Standar Pasifik", "WAST": "Waktu Musim Panas Afrika Barat", "NZDT": "Waktu Musim Panas Selandia Baru", "∅∅∅": "Waktu Musim Panas Amazon", "COST": "Waktu Musim Panas Kolombia", "EAT": "Waktu Afrika Timur", "ART": "Waktu Standar Argentina", "PDT": "Waktu Musim Panas Pasifik"}, + erasWide: []string{"Sebelum Masehi", "Masehi"}, + timezones: map[string]string{"HNT": "Waktu Standar Newfoundland", "IST": "Waktu India", "∅∅∅": "Waktu Musim Panas Amazon", "HEEG": "Waktu Musim Panas Greenland Timur", "WARST": "Waktu Musim Panas Argentina Bagian Barat", "HEPMX": "Waktu Musim Panas Pasifik Meksiko", "ADT": "Waktu Musim Panas Atlantik", "OEZ": "Waktu Standar Eropa Timur", "GMT": "Greenwich Mean Time", "UYST": "Waktu Musim Panas Uruguay", "WEZ": "Waktu Standar Eropa Barat", "HEPM": "Waktu Musim Panas Saint Pierre dan Miquelon", "HADT": "Waktu Musim Panas Hawaii-Aleutian", "MEZ": "Waktu Standar Eropa Tengah", "ChST": "Waktu Standar Chamorro", "TMST": "Waktu Musim Panas Turkmenistan", "MST": "Waktu Standar Makau", "CDT": "Waktu Musim Panas Tengah", "MYT": "Waktu Malaysia", "MESZ": "Waktu Musim Panas Eropa Tengah", "SRT": "Waktu Suriname", "ARST": "Waktu Musim Panas Argentina", "CAT": "Waktu Afrika Tengah", "HECU": "Waktu Musim Panas Kuba", "HNPMX": "Waktu Standar Pasifik Meksiko", "BT": "Waktu Bhutan", "PDT": "Waktu Musim Panas Pasifik", "HNPM": "Waktu Standar Saint Pierre dan Miquelon", "NZDT": "Waktu Musim Panas Selandia Baru", "ACDT": "Waktu Musim Panas Tengah Australia", "UYT": "Waktu Standar Uruguay", "PST": "Waktu Standar Pasifik", "AWDT": "Waktu Musim Panas Barat Australia", "EAT": "Waktu Afrika Timur", "HAT": "Waktu Musim Panas Newfoundland", "AWST": "Waktu Standar Barat Australia", "LHST": "Waktu Standar Lord Howe", "AKST": "Waktu Standar Alaska", "CST": "Waktu Standar Tengah", "WAT": "Waktu Standar Afrika Barat", "ECT": "Waktu Ekuador", "HNOG": "Waktu Standar Greenland Barat", "TMT": "Waktu Standar Turkmenistan", "AKDT": "Waktu Musim Panas Alaska", "LHDT": "Waktu Musim Panas Lord Howe", "NZST": "Waktu Standar Selandia Baru", "CLT": "Waktu Standar Cile", "JDT": "Waktu Musim Panas Jepang", "BOT": "Waktu Bolivia", "GFT": "Waktu Guyana Prancis", "AEST": "Waktu Standar Timur Australia", "WITA": "Waktu Indonesia Tengah", "SAST": "Waktu Standar Afrika Selatan", "OESZ": "Waktu Musim Panas Eropa Timur", "WART": "Waktu Standar Argentina Bagian Barat", "EDT": "Waktu Musim Panas Timur", "ART": "Waktu Standar Argentina", "AEDT": "Waktu Musim Panas Timur Australia", "HKT": "Waktu Standar Hong Kong", "CLST": "Waktu Musim Panas Cile", "WAST": "Waktu Musim Panas Afrika Barat", "HENOMX": "Waktu Musim Panas Meksiko Barat Laut", "SGT": "Waktu Standar Singapura", "WIB": "Waktu Indonesia Barat", "HEOG": "Waktu Musim Panas Greenland Barat", "AST": "Waktu Standar Atlantik", "HAST": "Waktu Standar Hawaii-Aleutian", "CHAST": "Waktu Standar Chatham", "CHADT": "Waktu Musim Panas Chatham", "HNEG": "Waktu Standar Greenland Timur", "COT": "Waktu Standar Kolombia", "COST": "Waktu Musim Panas Kolombia", "HNNOMX": "Waktu Standar Meksiko Barat Laut", "WIT": "Waktu Indonesia Timur", "ACWST": "Waktu Standar Barat Tengah Australia", "JST": "Waktu Standar Jepang", "EST": "Waktu Standar Timur", "MDT": "Waktu Musim Panas Makau", "GYT": "Waktu Guyana", "VET": "Waktu Venezuela", "ACST": "Waktu Standar Tengah Australia", "HNCU": "Waktu Standar Kuba", "WESZ": "Waktu Musim Panas Eropa Barat", "ACWDT": "Waktu Musim Panas Barat Tengah Australia", "HKST": "Waktu Musim Panas Hong Kong"}, } } @@ -409,7 +409,12 @@ func (id *id_ID) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (id *id_ID) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,7 +454,12 @@ func (id *id_ID) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, id.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ig/ig.go b/ig/ig.go index 7b638cbcc..cffc159b5 100644 --- a/ig/ig.go +++ b/ig/ig.go @@ -10,58 +10,64 @@ import ( ) type ig struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ig' locale func New() locales.Translator { return &ig{ - locale: "ig", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: nil, - pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "Jen", "Feb", "Maa", "Epr", "Mee", "Juu", "Jul", "Ọgọ", "Sep", "Ọkt", "Nov", "Dis"}, - monthsWide: []string{"", "Jenụwarị", "Febrụwarị", "Maachị", "Eprel", "Mee", "Juun", "Julaị", "Ọgọọst", "Septemba", "Ọktoba", "Novemba", "Disemba"}, - daysAbbreviated: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, - daysWide: []string{"Mbọsị Ụka", "Mọnde", "Tiuzdee", "Wenezdee", "Tọọzdee", "Fraịdee", "Satọdee"}, - periodsAbbreviated: []string{"A.M.", "P.M."}, - periodsWide: []string{"A.M.", "P.M."}, - erasAbbreviated: []string{"T.K.", "A.K."}, - erasNarrow: []string{"", ""}, - erasWide: []string{"Tupu Kristi", "Afọ Kristi"}, - timezones: map[string]string{"WAST": "WAST", "CDT": "CDT", "MDT": "MDT", "CLT": "CLT", "∅∅∅": "∅∅∅", "BT": "BT", "HNT": "HNT", "CHAST": "CHAST", "SGT": "SGT", "WARST": "WARST", "WAT": "WAT", "MESZ": "MESZ", "ECT": "ECT", "EDT": "EDT", "CST": "CST", "MST": "MST", "NZDT": "NZDT", "UYT": "UYT", "ART": "ART", "PST": "PST", "CLST": "CLST", "LHST": "LHST", "OESZ": "OESZ", "HADT": "HADT", "PDT": "PDT", "HAT": "HAT", "LHDT": "LHDT", "ACWDT": "ACWDT", "ADT": "ADT", "SAST": "SAST", "WITA": "WITA", "ChST": "ChST", "WEZ": "WEZ", "COT": "COT", "EAT": "EAT", "TMT": "TMT", "MEZ": "MEZ", "COST": "COST", "WART": "WART", "AWDT": "AWDT", "HAST": "HAST", "AEST": "AEST", "ACDT": "ACDT", "ACWST": "ACWST", "TMST": "TMST", "CAT": "CAT", "WIT": "WIT", "OEZ": "OEZ", "WIB": "WIB", "ACST": "ACST", "IST": "IST", "AKST": "AKST", "AEDT": "AEDT", "NZST": "NZST", "HKT": "HKT", "HKST": "HKST", "VET": "VET", "AST": "AST", "AKDT": "AKDT", "MYT": "MYT", "UYST": "UYST", "JST": "JST", "BOT": "BOT", "SRT": "SRT", "WESZ": "WESZ", "CHADT": "CHADT", "GFT": "GFT", "EST": "EST", "AWST": "AWST", "ARST": "ARST", "GYT": "GYT", "GMT": "GMT", "JDT": "JDT"}, + locale: "ig", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: "٫", + group: "٬", + perMille: "؉", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + monthsAbbreviated: []string{"", "Jen", "Feb", "Maa", "Epr", "Mee", "Juu", "Jul", "Ọgọ", "Sep", "Ọkt", "Nov", "Dis"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "Jenụwarị", "Febrụwarị", "Maachị", "Eprel", "Mee", "Juun", "Julaị", "Ọgọọst", "Septemba", "Ọktoba", "Novemba", "Disemba"}, + daysAbbreviated: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, + daysWide: []string{"Mbọsị Ụka", "Mọnde", "Tiuzdee", "Wenezdee", "Tọọzdee", "Fraịdee", "Satọdee"}, + periodsAbbreviated: []string{"A.M.", "P.M."}, + periodsNarrow: []string{"A.M.", "P.M."}, + periodsWide: []string{"A.M.", "P.M."}, + erasAbbreviated: []string{"T.K.", "A.K."}, + erasNarrow: []string{"T.K.", "A.K."}, + erasWide: []string{"Tupu Kristi", "Afọ Kristi"}, + timezones: map[string]string{"HNPMX": "HNPMX", "ADT": "ADT", "MESZ": "MESZ", "NZST": "NZST", "EDT": "EDT", "UYST": "UYST", "SRT": "SRT", "EST": "EST", "HNOG": "HNOG", "CHADT": "CHADT", "JDT": "JDT", "HAST": "HAST", "BT": "BT", "WEZ": "WEZ", "WITA": "WITA", "SAST": "SAST", "GFT": "GFT", "TMT": "TMT", "PDT": "PDT", "AEST": "AEST", "EAT": "EAT", "TMST": "TMST", "HEPMX": "HEPMX", "CST": "CST", "GYT": "GYT", "AWDT": "AWDT", "MEZ": "MEZ", "HNEG": "HNEG", "HEEG": "HEEG", "WART": "WART", "AKDT": "AKDT", "PST": "PST", "ARST": "ARST", "HKT": "HKT", "HNNOMX": "HNNOMX", "UYT": "UYT", "VET": "VET", "ACWST": "ACWST", "ACWDT": "ACWDT", "HKST": "HKST", "HNPM": "HNPM", "ChST": "ChST", "MST": "MST", "CLT": "CLT", "JST": "JST", "WAT": "WAT", "OESZ": "OESZ", "ECT": "ECT", "SGT": "SGT", "WIT": "WIT", "IST": "IST", "CAT": "CAT", "COST": "COST", "HENOMX": "HENOMX", "HNCU": "HNCU", "AEDT": "AEDT", "ACDT": "ACDT", "GMT": "GMT", "HECU": "HECU", "MDT": "MDT", "LHDT": "LHDT", "∅∅∅": "∅∅∅", "LHST": "LHST", "NZDT": "NZDT", "BOT": "BOT", "ACST": "ACST", "WAST": "WAST", "CDT": "CDT", "MYT": "MYT", "WIB": "WIB", "HAT": "HAT", "HEOG": "HEOG", "CHAST": "CHAST", "CLST": "CLST", "HADT": "HADT", "WESZ": "WESZ", "ART": "ART", "AWST": "AWST", "OEZ": "OEZ", "WARST": "WARST", "COT": "COT", "AKST": "AKST", "AST": "AST", "HNT": "HNT", "HEPM": "HEPM"}, } } @@ -117,7 +123,7 @@ func (ig *ig) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ig *ig) MonthsNarrow() []string { - return nil + return ig.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -173,13 +179,81 @@ func (ig *ig) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ig' and handles both Whole and Real numbers based on 'v' func (ig *ig) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ig.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ig' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ig *ig) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 4 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ig.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ig.percentSuffix...) + + b = append(b, ig.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ig' @@ -187,7 +261,7 @@ func (ig *ig) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ig.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -195,14 +269,18 @@ func (ig *ig) FmtCurrency(num float64, v uint64, currency currency.Type) string for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { - b = append(b, ig.decimal[0]) + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } inWhole = true continue } if inWhole { if count == 3 { - b = append(b, ig.group[0]) + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } count = 1 } else { count++ @@ -245,7 +323,7 @@ func (ig *ig) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ig.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -253,14 +331,18 @@ func (ig *ig) FmtAccounting(num float64, v uint64, currency currency.Type) strin for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { - b = append(b, ig.decimal[0]) + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } inWhole = true continue } if inWhole { if count == 3 { - b = append(b, ig.group[0]) + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } count = 1 } else { count++ @@ -276,7 +358,7 @@ func (ig *ig) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - b = append(b, ig.currencyNegativePrefix[0]) + b = append(b, ig.minus[0]) } else { @@ -302,10 +384,6 @@ func (ig *ig) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } - if num < 0 { - b = append(b, ig.currencyNegativeSuffix...) - } - return string(b) } @@ -328,7 +406,12 @@ func (ig *ig) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +425,12 @@ func (ig *ig) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +444,12 @@ func (ig *ig) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +465,12 @@ func (ig *ig) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,13 +480,11 @@ func (ig *ig) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -396,13 +492,6 @@ func (ig *ig) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } return string(b) } @@ -412,13 +501,11 @@ func (ig *ig) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -433,13 +520,6 @@ func (ig *ig) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } return string(b) } @@ -449,13 +529,11 @@ func (ig *ig) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -472,14 +550,6 @@ func (ig *ig) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -491,13 +561,11 @@ func (ig *ig) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -514,14 +582,6 @@ func (ig *ig) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := ig.timezones[tz]; ok { diff --git a/ig_NG/ig_NG.go b/ig_NG/ig_NG.go index 367b44fa9..a4fb976e7 100644 --- a/ig_NG/ig_NG.go +++ b/ig_NG/ig_NG.go @@ -10,58 +10,64 @@ import ( ) type ig_NG struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ig_NG' locale func New() locales.Translator { return &ig_NG{ - locale: "ig_NG", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: nil, - pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "Jen", "Feb", "Maa", "Epr", "Mee", "Juu", "Jul", "Ọgọ", "Sep", "Ọkt", "Nov", "Dis"}, - monthsWide: []string{"", "Jenụwarị", "Febrụwarị", "Maachị", "Eprel", "Mee", "Juun", "Julaị", "Ọgọọst", "Septemba", "Ọktoba", "Novemba", "Disemba"}, - daysAbbreviated: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, - daysWide: []string{"Mbọsị Ụka", "Mọnde", "Tiuzdee", "Wenezdee", "Tọọzdee", "Fraịdee", "Satọdee"}, - periodsAbbreviated: []string{"A.M.", "P.M."}, - periodsWide: []string{"A.M.", "P.M."}, - erasAbbreviated: []string{"T.K.", "A.K."}, - erasNarrow: []string{"", ""}, - erasWide: []string{"Tupu Kristi", "Afọ Kristi"}, - timezones: map[string]string{"EDT": "EDT", "BT": "BT", "AWDT": "AWDT", "HKT": "HKT", "MEZ": "MEZ", "COT": "COT", "COST": "COST", "ART": "ART", "AKDT": "AKDT", "NZST": "NZST", "CHADT": "CHADT", "ACST": "ACST", "WAT": "WAT", "TMST": "TMST", "CDT": "CDT", "NZDT": "NZDT", "UYT": "UYT", "OESZ": "OESZ", "MESZ": "MESZ", "WARST": "WARST", "PST": "PST", "WITA": "WITA", "MYT": "MYT", "AWST": "AWST", "JDT": "JDT", "WESZ": "WESZ", "SGT": "SGT", "PDT": "PDT", "AST": "AST", "IST": "IST", "GYT": "GYT", "MDT": "MDT", "BOT": "BOT", "ACWDT": "ACWDT", "WAST": "WAST", "EST": "EST", "CAT": "CAT", "HAT": "HAT", "GMT": "GMT", "LHST": "LHST", "ACWST": "ACWST", "JST": "JST", "∅∅∅": "∅∅∅", "HADT": "HADT", "WART": "WART", "TMT": "TMT", "OEZ": "OEZ", "WEZ": "WEZ", "ECT": "ECT", "AEST": "AEST", "EAT": "EAT", "CST": "CST", "CLST": "CLST", "WIT": "WIT", "UYST": "UYST", "ADT": "ADT", "AKST": "AKST", "CLT": "CLT", "SRT": "SRT", "ACDT": "ACDT", "VET": "VET", "SAST": "SAST", "ChST": "ChST", "LHDT": "LHDT", "HKST": "HKST", "GFT": "GFT", "HAST": "HAST", "AEDT": "AEDT", "ARST": "ARST", "CHAST": "CHAST", "WIB": "WIB", "MST": "MST", "HNT": "HNT"}, + locale: "ig_NG", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: "٫", + group: "٬", + perMille: "؉", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + monthsAbbreviated: []string{"", "Jen", "Feb", "Maa", "Epr", "Mee", "Juu", "Jul", "Ọgọ", "Sep", "Ọkt", "Nov", "Dis"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "Jenụwarị", "Febrụwarị", "Maachị", "Eprel", "Mee", "Juun", "Julaị", "Ọgọọst", "Septemba", "Ọktoba", "Novemba", "Disemba"}, + daysAbbreviated: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"Ụka", "Mọn", "Tiu", "Wen", "Tọọ", "Fraị", "Sat"}, + daysWide: []string{"Mbọsị Ụka", "Mọnde", "Tiuzdee", "Wenezdee", "Tọọzdee", "Fraịdee", "Satọdee"}, + periodsAbbreviated: []string{"A.M.", "P.M."}, + periodsNarrow: []string{"A.M.", "P.M."}, + periodsWide: []string{"A.M.", "P.M."}, + erasAbbreviated: []string{"T.K.", "A.K."}, + erasNarrow: []string{"T.K.", "A.K."}, + erasWide: []string{"Tupu Kristi", "Afọ Kristi"}, + timezones: map[string]string{"ACWST": "ACWST", "CHAST": "CHAST", "CHADT": "CHADT", "HENOMX": "HENOMX", "PDT": "PDT", "AEDT": "AEDT", "HKT": "HKT", "IST": "IST", "ECT": "ECT", "UYT": "UYT", "WIT": "WIT", "ART": "ART", "ACDT": "ACDT", "WARST": "WARST", "HADT": "HADT", "JDT": "JDT", "GMT": "GMT", "HEPMX": "HEPMX", "WITA": "WITA", "BT": "BT", "AWDT": "AWDT", "CLST": "CLST", "JST": "JST", "HEEG": "HEEG", "EAT": "EAT", "WART": "WART", "VET": "VET", "MYT": "MYT", "OESZ": "OESZ", "CDT": "CDT", "WAT": "WAT", "HNEG": "HNEG", "COST": "COST", "HNPMX": "HNPMX", "ADT": "ADT", "GYT": "GYT", "NZDT": "NZDT", "BOT": "BOT", "PST": "PST", "ACWDT": "ACWDT", "MEZ": "MEZ", "AST": "AST", "SRT": "SRT", "HEOG": "HEOG", "∅∅∅": "∅∅∅", "TMT": "TMT", "TMST": "TMST", "ACST": "ACST", "CAT": "CAT", "SGT": "SGT", "HAST": "HAST", "AKDT": "AKDT", "UYST": "UYST", "AKST": "AKST", "HAT": "HAT", "EST": "EST", "EDT": "EDT", "MST": "MST", "CST": "CST", "HNT": "HNT", "MESZ": "MESZ", "NZST": "NZST", "ChST": "ChST", "COT": "COT", "WIB": "WIB", "WESZ": "WESZ", "ARST": "ARST", "AEST": "AEST", "HKST": "HKST", "HNPM": "HNPM", "SAST": "SAST", "OEZ": "OEZ", "MDT": "MDT", "WEZ": "WEZ", "CLT": "CLT", "GFT": "GFT", "WAST": "WAST", "HNCU": "HNCU", "HECU": "HECU", "AWST": "AWST", "LHST": "LHST", "HNOG": "HNOG", "LHDT": "LHDT", "HNNOMX": "HNNOMX", "HEPM": "HEPM"}, } } @@ -117,7 +123,7 @@ func (ig *ig_NG) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ig *ig_NG) MonthsNarrow() []string { - return nil + return ig.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -173,13 +179,81 @@ func (ig *ig_NG) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ig_NG' and handles both Whole and Real numbers based on 'v' func (ig *ig_NG) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ig.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ig_NG' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ig *ig_NG) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 4 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ig.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ig.percentSuffix...) + + b = append(b, ig.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ig_NG' @@ -187,7 +261,7 @@ func (ig *ig_NG) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ig.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -195,14 +269,18 @@ func (ig *ig_NG) FmtCurrency(num float64, v uint64, currency currency.Type) stri for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { - b = append(b, ig.decimal[0]) + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } inWhole = true continue } if inWhole { if count == 3 { - b = append(b, ig.group[0]) + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } count = 1 } else { count++ @@ -245,7 +323,7 @@ func (ig *ig_NG) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ig.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -253,14 +331,18 @@ func (ig *ig_NG) FmtAccounting(num float64, v uint64, currency currency.Type) st for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { - b = append(b, ig.decimal[0]) + for j := len(ig.decimal) - 1; j >= 0; j-- { + b = append(b, ig.decimal[j]) + } inWhole = true continue } if inWhole { if count == 3 { - b = append(b, ig.group[0]) + for j := len(ig.group) - 1; j >= 0; j-- { + b = append(b, ig.group[j]) + } count = 1 } else { count++ @@ -276,7 +358,7 @@ func (ig *ig_NG) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - b = append(b, ig.currencyNegativePrefix[0]) + b = append(b, ig.minus[0]) } else { @@ -302,10 +384,6 @@ func (ig *ig_NG) FmtAccounting(num float64, v uint64, currency currency.Type) st } } - if num < 0 { - b = append(b, ig.currencyNegativeSuffix...) - } - return string(b) } @@ -328,7 +406,12 @@ func (ig *ig_NG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +425,12 @@ func (ig *ig_NG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +444,12 @@ func (ig *ig_NG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +465,12 @@ func (ig *ig_NG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ig.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,13 +480,11 @@ func (ig *ig_NG) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -396,13 +492,6 @@ func (ig *ig_NG) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } return string(b) } @@ -412,13 +501,11 @@ func (ig *ig_NG) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -433,13 +520,6 @@ func (ig *ig_NG) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } return string(b) } @@ -449,13 +529,11 @@ func (ig *ig_NG) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -472,14 +550,6 @@ func (ig *ig_NG) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -491,13 +561,11 @@ func (ig *ig_NG) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, ig.timeSeparator...) if t.Minute() < 10 { @@ -514,14 +582,6 @@ func (ig *ig_NG) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, ig.periodsAbbreviated[0]...) - } else { - b = append(b, ig.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := ig.timezones[tz]; ok { diff --git a/ii/ii.go b/ii/ii.go index 5d5c7ae0c..a30ad3560 100644 --- a/ii/ii.go +++ b/ii/ii.go @@ -23,9 +23,7 @@ type ii struct { inifinity string currencies []string // idx = enum of currency code currencyPositivePrefix string - currencyPositiveSuffix string currencyNegativePrefix string - currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -52,13 +50,14 @@ func New() locales.Translator { pluralsRange: nil, decimal: ".", group: ",", + minus: "-", + percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", - monthsAbbreviated: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsAbbreviated: []string{"", "ꋍꆪ", "ꑍꆪ", "ꌕꆪ", "ꇖꆪ", "ꉬꆪ", "ꃘꆪ", "ꏃꆪ", "ꉆꆪ", "ꈬꆪ", "ꊰꆪ", "ꊰꊪꆪ", "ꊰꑋꆪ"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "ꋍꆪ", "ꑍꆪ", "ꌕꆪ", "ꇖꆪ", "ꉬꆪ", "ꃘꆪ", "ꏃꆪ", "ꉆꆪ", "ꈬꆪ", "ꊰꆪ", "ꊰꊪꆪ", "ꊰꑋꆪ"}, daysAbbreviated: []string{"ꑭꆏ", "ꆏꋍ", "ꆏꑍ", "ꆏꌕ", "ꆏꇖ", "ꆏꉬ", "ꆏꃘ"}, daysNarrow: []string{"ꆏ", "ꋍ", "ꑍ", "ꌕ", "ꇖ", "ꉬ", "ꃘ"}, @@ -68,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ꃅꋊꂿ", "ꃅꋊꊂ"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"TMT": "TMT", "COT": "COT", "ECT": "ECT", "WART": "WART", "PDT": "PDT", "WITA": "WITA", "AWDT": "AWDT", "ACST": "ACST", "MDT": "MDT", "HKT": "HKT", "HKST": "HKST", "WAST": "WAST", "JST": "JST", "JDT": "JDT", "OESZ": "OESZ", "MEZ": "MEZ", "AWST": "AWST", "WARST": "WARST", "AEST": "AEST", "SAST": "SAST", "WAT": "WAT", "AST": "AST", "ADT": "ADT", "EAT": "EAT", "MYT": "MYT", "BT": "BT", "SRT": "SRT", "WESZ": "WESZ", "IST": "IST", "EDT": "EDT", "CAT": "CAT", "UYST": "UYST", "ACWDT": "ACWDT", "AEDT": "AEDT", "AKDT": "AKDT", "BOT": "BOT", "HAT": "HAT", "LHST": "LHST", "PST": "PST", "GFT": "GFT", "OEZ": "OEZ", "COST": "COST", "CST": "CST", "MST": "MST", "CLT": "CLT", "CHAST": "CHAST", "SGT": "SGT", "ART": "ART", "ARST": "ARST", "NZST": "NZST", "CHADT": "CHADT", "WIB": "WIB", "MESZ": "MESZ", "ACDT": "ACDT", "AKST": "AKST", "TMST": "TMST", "HNT": "HNT", "WIT": "WIT", "UYT": "UYT", "HADT": "HADT", "EST": "EST", "HAST": "HAST", "∅∅∅": "∅∅∅", "NZDT": "NZDT", "CLST": "CLST", "GMT": "GMT", "VET": "VET", "ACWST": "ACWST", "CDT": "CDT", "GYT": "GYT", "ChST": "ChST", "LHDT": "LHDT", "WEZ": "WEZ"}, + timezones: map[string]string{"NZDT": "NZDT", "OEZ": "OEZ", "MST": "MST", "GYT": "GYT", "ART": "ART", "WITA": "WITA", "HNPM": "HNPM", "MEZ": "MEZ", "LHST": "LHST", "AST": "AST", "HEOG": "HEOG", "AWDT": "AWDT", "CHAST": "CHAST", "WAST": "WAST", "HNOG": "HNOG", "HKT": "HKT", "CAT": "CAT", "HEPMX": "HEPMX", "VET": "VET", "BT": "BT", "HNT": "HNT", "AWST": "AWST", "HKST": "HKST", "ECT": "ECT", "HENOMX": "HENOMX", "SGT": "SGT", "ADT": "ADT", "WIB": "WIB", "HADT": "HADT", "ACST": "ACST", "CHADT": "CHADT", "WART": "WART", "WARST": "WARST", "COT": "COT", "AKST": "AKST", "MYT": "MYT", "HAT": "HAT", "HEPM": "HEPM", "SAST": "SAST", "LHDT": "LHDT", "EST": "EST", "EDT": "EDT", "MDT": "MDT", "WEZ": "WEZ", "ACWST": "ACWST", "ARST": "ARST", "MESZ": "MESZ", "BOT": "BOT", "∅∅∅": "∅∅∅", "AKDT": "AKDT", "UYT": "UYT", "CLST": "CLST", "HNEG": "HNEG", "WAT": "WAT", "COST": "COST", "PDT": "PDT", "ChST": "ChST", "ACDT": "ACDT", "OESZ": "OESZ", "HNCU": "HNCU", "CST": "CST", "CDT": "CDT", "WIT": "WIT", "NZST": "NZST", "GMT": "GMT", "UYST": "UYST", "SRT": "SRT", "PST": "PST", "CLT": "CLT", "JST": "JST", "HNNOMX": "HNNOMX", "WESZ": "WESZ", "IST": "IST", "TMT": "TMT", "GFT": "GFT", "EAT": "EAT", "HECU": "HECU", "HAST": "HAST", "ACWDT": "ACWDT", "AEST": "AEST", "AEDT": "AEDT", "HEEG": "HEEG", "HNPMX": "HNPMX", "JDT": "JDT", "TMST": "TMST"}, } } @@ -124,7 +123,7 @@ func (ii *ii) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ii *ii) MonthsNarrow() []string { - return nil + return ii.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -180,13 +179,73 @@ func (ii *ii) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ii' and handles both Whole and Real numbers based on 'v' func (ii *ii) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ii.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ii.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ii' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ii *ii) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ii.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ii.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ii.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ii' @@ -194,17 +253,28 @@ func (ii *ii) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ii.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, ii.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -225,7 +295,16 @@ func (ii *ii) FmtCurrency(num float64, v uint64, currency currency.Type) string b[i], b[j] = b[j], b[i] } - b = append(b, ii.currencyPositiveSuffix...) + if int(v) < 2 { + + if v == 0 { + b = append(b, ii.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } return string(b) } @@ -236,17 +315,28 @@ func (ii *ii) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ii.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, ii.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -279,11 +369,15 @@ func (ii *ii) FmtAccounting(num float64, v uint64, currency currency.Type) strin b[i], b[j] = b[j], b[i] } - if num < 0 { - b = append(b, ii.currencyNegativeSuffix...) - } else { + if int(v) < 2 { + + if v == 0 { + b = append(b, ii.decimal...) + } - b = append(b, ii.currencyPositiveSuffix...) + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } } return string(b) @@ -294,6 +388,28 @@ func (ii *ii) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -302,6 +418,17 @@ func (ii *ii) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -310,6 +437,17 @@ func (ii *ii) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -318,6 +456,19 @@ func (ii *ii) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, ii.daysWide[t.Weekday()]...) + return string(b) } diff --git a/ii_CN/ii_CN.go b/ii_CN/ii_CN.go index ff40a73b5..0fc819b96 100644 --- a/ii_CN/ii_CN.go +++ b/ii_CN/ii_CN.go @@ -23,9 +23,7 @@ type ii_CN struct { inifinity string currencies []string // idx = enum of currency code currencyPositivePrefix string - currencyPositiveSuffix string currencyNegativePrefix string - currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -52,13 +50,14 @@ func New() locales.Translator { pluralsRange: nil, decimal: ".", group: ",", + minus: "-", + percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", - monthsAbbreviated: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsAbbreviated: []string{"", "ꋍꆪ", "ꑍꆪ", "ꌕꆪ", "ꇖꆪ", "ꉬꆪ", "ꃘꆪ", "ꏃꆪ", "ꉆꆪ", "ꈬꆪ", "ꊰꆪ", "ꊰꊪꆪ", "ꊰꑋꆪ"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "ꋍꆪ", "ꑍꆪ", "ꌕꆪ", "ꇖꆪ", "ꉬꆪ", "ꃘꆪ", "ꏃꆪ", "ꉆꆪ", "ꈬꆪ", "ꊰꆪ", "ꊰꊪꆪ", "ꊰꑋꆪ"}, daysAbbreviated: []string{"ꑭꆏ", "ꆏꋍ", "ꆏꑍ", "ꆏꌕ", "ꆏꇖ", "ꆏꉬ", "ꆏꃘ"}, daysNarrow: []string{"ꆏ", "ꋍ", "ꑍ", "ꌕ", "ꇖ", "ꉬ", "ꃘ"}, @@ -68,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ꃅꋊꂿ", "ꃅꋊꊂ"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WIT": "WIT", "LHDT": "LHDT", "SRT": "SRT", "MDT": "MDT", "SAST": "SAST", "HNT": "HNT", "GMT": "GMT", "OEZ": "OEZ", "ACDT": "ACDT", "CLST": "CLST", "OESZ": "OESZ", "VET": "VET", "EDT": "EDT", "CHAST": "CHAST", "COST": "COST", "WAST": "WAST", "AST": "AST", "MST": "MST", "MYT": "MYT", "BOT": "BOT", "WARST": "WARST", "ACWDT": "ACWDT", "PDT": "PDT", "GYT": "GYT", "UYST": "UYST", "WIB": "WIB", "ARST": "ARST", "CLT": "CLT", "CAT": "CAT", "UYT": "UYT", "ART": "ART", "WAT": "WAT", "ADT": "ADT", "NZDT": "NZDT", "HKST": "HKST", "SGT": "SGT", "EST": "EST", "PST": "PST", "HKT": "HKT", "HAST": "HAST", "JDT": "JDT", "∅∅∅": "∅∅∅", "AWST": "AWST", "TMT": "TMT", "WEZ": "WEZ", "IST": "IST", "HAT": "HAT", "ACST": "ACST", "ACWST": "ACWST", "AKST": "AKST", "AKDT": "AKDT", "WITA": "WITA", "CDT": "CDT", "GFT": "GFT", "ECT": "ECT", "COT": "COT", "MEZ": "MEZ", "EAT": "EAT", "TMST": "TMST", "NZST": "NZST", "AWDT": "AWDT", "CHADT": "CHADT", "WESZ": "WESZ", "BT": "BT", "LHST": "LHST", "AEDT": "AEDT", "ChST": "ChST", "WART": "WART", "HADT": "HADT", "CST": "CST", "JST": "JST", "MESZ": "MESZ", "AEST": "AEST"}, + timezones: map[string]string{"HNPM": "HNPM", "HEPMX": "HEPMX", "JDT": "JDT", "ChST": "ChST", "OESZ": "OESZ", "HECU": "HECU", "AKST": "AKST", "ADT": "ADT", "HENOMX": "HENOMX", "ACWST": "ACWST", "HEPM": "HEPM", "NZDT": "NZDT", "GFT": "GFT", "TMT": "TMT", "WARST": "WARST", "COST": "COST", "CHAST": "CHAST", "CAT": "CAT", "HNPMX": "HNPMX", "VET": "VET", "SAST": "SAST", "IST": "IST", "∅∅∅": "∅∅∅", "UYST": "UYST", "AEST": "AEST", "AEDT": "AEDT", "MESZ": "MESZ", "HEEG": "HEEG", "WAT": "WAT", "COT": "COT", "EST": "EST", "MEZ": "MEZ", "ACDT": "ACDT", "HAST": "HAST", "BT": "BT", "ART": "ART", "AWST": "AWST", "CST": "CST", "HNOG": "HNOG", "HEOG": "HEOG", "CLT": "CLT", "WAST": "WAST", "MYT": "MYT", "UYT": "UYT", "HAT": "HAT", "CLST": "CLST", "ACST": "ACST", "GMT": "GMT", "HNCU": "HNCU", "SRT": "SRT", "PST": "PST", "WEZ": "WEZ", "ACWDT": "ACWDT", "HKT": "HKT", "WITA": "WITA", "NZST": "NZST", "CDT": "CDT", "AST": "AST", "MST": "MST", "WESZ": "WESZ", "AWDT": "AWDT", "LHST": "LHST", "WART": "WART", "SGT": "SGT", "AKDT": "AKDT", "WIB": "WIB", "HADT": "HADT", "WIT": "WIT", "PDT": "PDT", "HKST": "HKST", "ECT": "ECT", "MDT": "MDT", "LHDT": "LHDT", "JST": "JST", "EAT": "EAT", "HNT": "HNT", "CHADT": "CHADT", "BOT": "BOT", "TMST": "TMST", "OEZ": "OEZ", "EDT": "EDT", "GYT": "GYT", "ARST": "ARST", "HNEG": "HNEG", "HNNOMX": "HNNOMX"}, } } @@ -124,7 +123,7 @@ func (ii *ii_CN) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ii *ii_CN) MonthsNarrow() []string { - return nil + return ii.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -180,13 +179,73 @@ func (ii *ii_CN) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ii_CN' and handles both Whole and Real numbers based on 'v' func (ii *ii_CN) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ii.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ii.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ii_CN' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ii *ii_CN) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ii.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ii.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ii.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ii_CN' @@ -194,17 +253,28 @@ func (ii *ii_CN) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ii.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, ii.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -225,7 +295,16 @@ func (ii *ii_CN) FmtCurrency(num float64, v uint64, currency currency.Type) stri b[i], b[j] = b[j], b[i] } - b = append(b, ii.currencyPositiveSuffix...) + if int(v) < 2 { + + if v == 0 { + b = append(b, ii.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } return string(b) } @@ -236,17 +315,28 @@ func (ii *ii_CN) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ii.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, ii.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, ii.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -279,11 +369,15 @@ func (ii *ii_CN) FmtAccounting(num float64, v uint64, currency currency.Type) st b[i], b[j] = b[j], b[i] } - if num < 0 { - b = append(b, ii.currencyNegativeSuffix...) - } else { + if int(v) < 2 { + + if v == 0 { + b = append(b, ii.decimal...) + } - b = append(b, ii.currencyPositiveSuffix...) + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } } return string(b) @@ -294,6 +388,28 @@ func (ii *ii_CN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -302,6 +418,17 @@ func (ii *ii_CN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -310,6 +437,17 @@ func (ii *ii_CN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -318,6 +456,19 @@ func (ii *ii_CN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, ii.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, ii.daysWide[t.Weekday()]...) + return string(b) } diff --git a/is/is.go b/is/is.go index 912bd3341..594baad06 100644 --- a/is/is.go +++ b/is/is.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mar.", "apr.", "maí", "jún.", "júl.", "ágú.", "sep.", "okt.", "nóv.", "des."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.k.", "e.k."}, erasWide: []string{"fyrir Krist", "eftir Krist"}, - timezones: map[string]string{"ACDT": "Sumartími í Mið-Ástralíu", "MYT": "Malasíutími", "ACWDT": "Sumartími í miðvesturhluta Ástralíu", "AKST": "Staðaltími í Alaska", "SAST": "Suður-Afríkutími", "GYT": "Gvæjanatími", "JST": "Staðaltími í Japan", "CHAST": "Staðaltími í Chatham", "COST": "Sumartími í Kólumbíu", "HNT": "Staðaltími á Nýfundnalandi", "CAT": "Mið-Afríkutími", "COT": "Staðaltími í Kólumbíu", "VET": "Venesúelatími", "MDT": "Sumartími í Klettafjöllum", "IST": "Indlandstími", "TMT": "Staðaltími í Túrkmenistan", "ChST": "Chamorro-staðaltími", "HKST": "Sumartími í Hong Kong", "ART": "Staðaltími í Argentínu", "ACWST": "Staðaltími í miðvesturhluta Ástralíu", "MST": "Staðaltími í Klettafjöllum", "SRT": "Súrinamtími", "ADT": "Sumartími á Atlantshafssvæðinu", "WAT": "Staðaltími í Vestur-Afríku", "NZST": "Staðaltími á Nýja-Sjálandi", "AWDT": "Sumartími í Vestur-Ástralíu", "WESZ": "Sumartími í Vestur-Evrópu", "EST": "Staðaltími í austurhluta Bandaríkjanna og Kanada", "CST": "Staðaltími í miðhluta Bandaríkjanna og Kanada", "GFT": "Tími í Frönsku Gvæjana", "WARST": "Sumartími í Vestur-Argentínu", "ECT": "Ekvadortími", "MEZ": "Staðaltími í Mið-Evrópu", "TMST": "Sumartími í Túrkmenistan", "WAST": "Sumartími í Vestur-Afríku", "JDT": "Sumartími í Japan", "MESZ": "Sumartími í Mið-Evrópu", "EDT": "Sumartími í austurhluta Bandaríkjanna og Kanada", "∅∅∅": "Sumartími í Brasilíu", "LHST": "Staðaltími á Lord Howe-eyju", "AWST": "Staðaltími í Vestur-Ástralíu", "WEZ": "Staðaltími í Vestur-Evrópu", "PST": "Staðaltími á Kyrrahafssvæðinu", "HAST": "Staðaltími á Havaí og Aleúta", "AST": "Staðaltími á Atlantshafssvæðinu", "BOT": "Bólivíutími", "NZDT": "Sumartími á Nýja-Sjálandi", "CLST": "Sumartími í Síle", "UYST": "Sumartími í Úrúgvæ", "CHADT": "Sumartími í Chatham", "SGT": "Singapúrtími", "BT": "Bútantími", "WIB": "Vestur-Indónesíutími", "ACST": "Staðaltími í Mið-Ástralíu", "PDT": "Sumartími á Kyrrahafssvæðinu", "EAT": "Austur-Afríkutími", "WITA": "Mið-Indónesíutími", "GMT": "Greenwich-staðaltími", "UYT": "Staðaltími í Úrúgvæ", "HKT": "Staðaltími í Hong Kong", "WIT": "Austur-Indónesíutími", "AEST": "Staðaltími í Austur-Ástralíu", "AKDT": "Sumartími í Alaska", "CDT": "Sumartími í miðhluta Bandaríkjanna og Kanada", "OEZ": "Staðaltími í Austur-Evrópu", "ARST": "Sumartími í Argentínu", "WART": "Staðaltími í Vestur-Argentínu", "AEDT": "Sumartími í Austur-Ástralíu", "HAT": "Sumartími á Nýfundnalandi", "LHDT": "Sumartími á Lord Howe-eyju", "OESZ": "Sumartími í Austur-Evrópu", "HADT": "Sumartími á Havaí og Aleúta", "CLT": "Staðaltími í Síle"}, + timezones: map[string]string{"VET": "Venesúelatími", "MESZ": "Sumartími í Mið-Evrópu", "GFT": "Tími í Frönsku Gvæjana", "EAT": "Austur-Afríkutími", "CST": "Staðaltími í miðhluta Bandaríkjanna og Kanada", "HEOG": "Sumartími á Vestur-Grænlandi", "PDT": "Sumartími á Kyrrahafssvæðinu", "ACWDT": "Sumartími í miðvesturhluta Ástralíu", "AWST": "Staðaltími í Vestur-Ástralíu", "CHAST": "Staðaltími í Chatham", "IST": "Indlandstími", "UYT": "Staðaltími í Úrúgvæ", "AEST": "Staðaltími í Austur-Ástralíu", "NZST": "Staðaltími á Nýja-Sjálandi", "NZDT": "Sumartími á Nýja-Sjálandi", "ACST": "Staðaltími í Mið-Ástralíu", "HNNOMX": "Staðaltími í Norðvestur-Mexíkó", "HNCU": "Staðaltími á Kúbu", "HEPMX": "Sumartími í Mexíkó á Kyrrahafssvæðinu", "BT": "Bútantími", "HNOG": "Staðaltími á Vestur-Grænlandi", "WEZ": "Staðaltími í Vestur-Evrópu", "ChST": "Chamorro-staðaltími", "SGT": "Singapúrtími", "EDT": "Sumartími í austurhluta Bandaríkjanna og Kanada", "WESZ": "Sumartími í Vestur-Evrópu", "SAST": "Suður-Afríkutími", "OESZ": "Sumartími í Austur-Evrópu", "AKST": "Staðaltími í Alaska", "HADT": "Sumartími á Havaí og Aleúta", "ACWST": "Staðaltími í miðvesturhluta Ástralíu", "∅∅∅": "Sumartími á Amasónsvæðinu", "WAT": "Staðaltími í Vestur-Afríku", "EST": "Staðaltími í austurhluta Bandaríkjanna og Kanada", "WIB": "Vestur-Indónesíutími", "ART": "Staðaltími í Argentínu", "JDT": "Sumartími í Japan", "TMST": "Sumartími í Túrkmenistan", "WAST": "Sumartími í Vestur-Afríku", "WARST": "Sumartími í Vestur-Argentínu", "WIT": "Austur-Indónesíutími", "AWDT": "Sumartími í Vestur-Ástralíu", "MEZ": "Staðaltími í Mið-Evrópu", "CLT": "Staðaltími í Síle", "TMT": "Staðaltími í Túrkmenistan", "ACDT": "Sumartími í Mið-Ástralíu", "OEZ": "Staðaltími í Austur-Evrópu", "UYST": "Sumartími í Úrúgvæ", "ADT": "Sumartími á Atlantshafssvæðinu", "SRT": "Súrinamtími", "HNT": "Staðaltími á Nýfundnalandi", "HEPM": "Sumartími á Sankti Pierre og Miquelon", "JST": "Staðaltími í Japan", "HEEG": "Sumartími á Austur-Grænlandi", "ECT": "Ekvadortími", "WART": "Staðaltími í Vestur-Argentínu", "CHADT": "Sumartími í Chatham", "HNPMX": "Staðaltími í Mexíkó á Kyrrahafssvæðinu", "HKT": "Staðaltími í Hong Kong", "HNEG": "Staðaltími á Austur-Grænlandi", "COST": "Sumartími í Kólumbíu", "CDT": "Sumartími í miðhluta Bandaríkjanna og Kanada", "AST": "Staðaltími á Atlantshafssvæðinu", "MYT": "Malasíutími", "WITA": "Mið-Indónesíutími", "HKST": "Sumartími í Hong Kong", "HNPM": "Staðaltími á Sankti Pierre og Miquelon", "CLST": "Sumartími í Síle", "AKDT": "Sumartími í Alaska", "ARST": "Sumartími í Argentínu", "LHDT": "Sumartími á Lord Howe-eyju", "GMT": "Greenwich-staðaltími", "HECU": "Sumartími á Kúbu", "MST": "MST", "MDT": "MDT", "HAT": "Sumartími á Nýfundnalandi", "AEDT": "Sumartími í Austur-Ástralíu", "LHST": "Staðaltími á Lord Howe-eyju", "CAT": "Mið-Afríkutími", "GYT": "Gvæjanatími", "HAST": "Staðaltími á Havaí og Aleúta", "PST": "Staðaltími á Kyrrahafssvæðinu", "BOT": "Bólivíutími", "COT": "Staðaltími í Kólumbíu", "HENOMX": "Sumartími í Norðvestur-Mexíkó"}, } } @@ -407,7 +407,12 @@ func (is *is) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +426,12 @@ func (is *is) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +445,12 @@ func (is *is) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +466,12 @@ func (is *is) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/is_IS/is_IS.go b/is_IS/is_IS.go index 5335c352a..2a2687e4b 100644 --- a/is_IS/is_IS.go +++ b/is_IS/is_IS.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mar.", "apr.", "maí", "jún.", "júl.", "ágú.", "sep.", "okt.", "nóv.", "des."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.k.", "e.k."}, erasWide: []string{"fyrir Krist", "eftir Krist"}, - timezones: map[string]string{"COST": "Sumartími í Kólumbíu", "HAST": "Staðaltími á Havaí og Aleúta", "TMT": "Staðaltími í Túrkmenistan", "MDT": "Sumartími í Klettafjöllum", "LHDT": "Sumartími á Lord Howe-eyju", "JST": "Staðaltími í Japan", "WESZ": "Sumartími í Vestur-Evrópu", "HKST": "Sumartími í Hong Kong", "NZDT": "Sumartími á Nýja-Sjálandi", "BOT": "Bólivíutími", "OEZ": "Staðaltími í Austur-Evrópu", "EST": "Staðaltími í austurhluta Bandaríkjanna og Kanada", "WAST": "Sumartími í Vestur-Afríku", "TMST": "Sumartími í Túrkmenistan", "∅∅∅": "Sumartími í Perú", "NZST": "Staðaltími á Nýja-Sjálandi", "HNT": "Staðaltími á Nýfundnalandi", "AEDT": "Sumartími í Austur-Ástralíu", "AST": "Staðaltími á Atlantshafssvæðinu", "MYT": "Malasíutími", "AWDT": "Sumartími í Vestur-Ástralíu", "ACST": "Staðaltími í Mið-Ástralíu", "ART": "Staðaltími í Argentínu", "PST": "Staðaltími á Kyrrahafssvæðinu", "UYST": "Sumartími í Úrúgvæ", "GFT": "Tími í Frönsku Gvæjana", "CHAST": "Staðaltími í Chatham", "JDT": "Sumartími í Japan", "ACWDT": "Sumartími í miðvesturhluta Ástralíu", "AKST": "Staðaltími í Alaska", "UYT": "Staðaltími í Úrúgvæ", "HADT": "Sumartími á Havaí og Aleúta", "GMT": "Greenwich-staðaltími", "LHST": "Staðaltími á Lord Howe-eyju", "SRT": "Súrinamtími", "WEZ": "Staðaltími í Vestur-Evrópu", "PDT": "Sumartími á Kyrrahafssvæðinu", "BT": "Bútantími", "EAT": "Austur-Afríkutími", "IST": "Indlandstími", "CAT": "Mið-Afríkutími", "AWST": "Staðaltími í Vestur-Ástralíu", "VET": "Venesúelatími", "ACWST": "Staðaltími í miðvesturhluta Ástralíu", "ARST": "Sumartími í Argentínu", "CST": "Staðaltími í miðhluta Bandaríkjanna og Kanada", "GYT": "Gvæjanatími", "OESZ": "Sumartími í Austur-Evrópu", "MEZ": "Staðaltími í Mið-Evrópu", "ChST": "Chamorro-staðaltími", "CLT": "Staðaltími í Síle", "WARST": "Sumartími í Vestur-Argentínu", "EDT": "Sumartími í austurhluta Bandaríkjanna og Kanada", "WAT": "Staðaltími í Vestur-Afríku", "WITA": "Mið-Indónesíutími", "WIT": "Austur-Indónesíutími", "HAT": "Sumartími á Nýfundnalandi", "ACDT": "Sumartími í Mið-Ástralíu", "WART": "Staðaltími í Vestur-Argentínu", "ADT": "Sumartími á Atlantshafssvæðinu", "SGT": "Singapúrtími", "COT": "Staðaltími í Kólumbíu", "AKDT": "Sumartími í Alaska", "CDT": "Sumartími í miðhluta Bandaríkjanna og Kanada", "MST": "Staðaltími í Klettafjöllum", "CLST": "Sumartími í Síle", "CHADT": "Sumartími í Chatham", "AEST": "Staðaltími í Austur-Ástralíu", "HKT": "Staðaltími í Hong Kong", "WIB": "Vestur-Indónesíutími", "MESZ": "Sumartími í Mið-Evrópu", "ECT": "Ekvadortími", "SAST": "Suður-Afríkutími"}, + timezones: map[string]string{"MST": "MST", "HKT": "Staðaltími í Hong Kong", "OESZ": "Sumartími í Austur-Evrópu", "OEZ": "Staðaltími í Austur-Evrópu", "ECT": "Ekvadortími", "EAT": "Austur-Afríkutími", "HECU": "Sumartími á Kúbu", "CST": "Staðaltími í miðhluta Bandaríkjanna og Kanada", "PDT": "Sumartími á Kyrrahafssvæðinu", "CHAST": "Staðaltími í Chatham", "LHDT": "Sumartími á Lord Howe-eyju", "HNNOMX": "Staðaltími í Norðvestur-Mexíkó", "JST": "Staðaltími í Japan", "JDT": "Sumartími í Japan", "HEEG": "Sumartími á Austur-Grænlandi", "∅∅∅": "Sumartími á Asóreyjum", "SGT": "Singapúrtími", "AEST": "Staðaltími í Austur-Ástralíu", "AEDT": "Sumartími í Austur-Ástralíu", "AWST": "Staðaltími í Vestur-Ástralíu", "ChST": "Chamorro-staðaltími", "GFT": "Tími í Frönsku Gvæjana", "HNCU": "Staðaltími á Kúbu", "EDT": "Sumartími í austurhluta Bandaríkjanna og Kanada", "HNPM": "Staðaltími á Sankti Pierre og Miquelon", "NZDT": "Sumartími á Nýja-Sjálandi", "MESZ": "Sumartími í Mið-Evrópu", "WARST": "Sumartími í Vestur-Argentínu", "ACWDT": "Sumartími í miðvesturhluta Ástralíu", "HAT": "Sumartími á Nýfundnalandi", "IST": "Indlandstími", "HNEG": "Staðaltími á Austur-Grænlandi", "CAT": "Mið-Afríkutími", "AKST": "Staðaltími í Alaska", "WIT": "Austur-Indónesíutími", "VET": "Venesúelatími", "WEZ": "Staðaltími í Vestur-Evrópu", "LHST": "Staðaltími á Lord Howe-eyju", "AKDT": "Sumartími í Alaska", "HAST": "Staðaltími á Havaí og Aleúta", "SRT": "Súrinamtími", "MEZ": "Staðaltími í Mið-Evrópu", "WAT": "Staðaltími í Vestur-Afríku", "WART": "Staðaltími í Vestur-Argentínu", "HEPMX": "Sumartími í Mexíkó á Kyrrahafssvæðinu", "HADT": "Sumartími á Havaí og Aleúta", "HEOG": "Sumartími á Vestur-Grænlandi", "AWDT": "Sumartími í Vestur-Ástralíu", "ACDT": "Sumartími í Mið-Ástralíu", "HEPM": "Sumartími á Sankti Pierre og Miquelon", "CLST": "Sumartími í Síle", "TMST": "Sumartími í Túrkmenistan", "GYT": "Gvæjanatími", "UYT": "Staðaltími í Úrúgvæ", "HNT": "Staðaltími á Nýfundnalandi", "HKST": "Sumartími í Hong Kong", "WITA": "Mið-Indónesíutími", "MYT": "Malasíutími", "CHADT": "Sumartími í Chatham", "ACST": "Staðaltími í Mið-Ástralíu", "COT": "Staðaltími í Kólumbíu", "HNPMX": "Staðaltími í Mexíkó á Kyrrahafssvæðinu", "EST": "Staðaltími í austurhluta Bandaríkjanna og Kanada", "WIB": "Vestur-Indónesíutími", "HNOG": "Staðaltími á Vestur-Grænlandi", "COST": "Sumartími í Kólumbíu", "AST": "Staðaltími á Atlantshafssvæðinu", "WESZ": "Sumartími í Vestur-Evrópu", "NZST": "Staðaltími á Nýja-Sjálandi", "HENOMX": "Sumartími í Norðvestur-Mexíkó", "ARST": "Sumartími í Argentínu", "CLT": "Staðaltími í Síle", "GMT": "Greenwich-staðaltími", "CDT": "Sumartími í miðhluta Bandaríkjanna og Kanada", "ADT": "Sumartími á Atlantshafssvæðinu", "ACWST": "Staðaltími í miðvesturhluta Ástralíu", "ART": "Staðaltími í Argentínu", "UYST": "Sumartími í Úrúgvæ", "PST": "Staðaltími á Kyrrahafssvæðinu", "SAST": "Suður-Afríkutími", "TMT": "Staðaltími í Túrkmenistan", "WAST": "Sumartími í Vestur-Afríku", "MDT": "MDT", "BT": "Bútantími", "BOT": "Bólivíutími"}, } } @@ -407,7 +407,12 @@ func (is *is_IS) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +426,12 @@ func (is *is_IS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +445,12 @@ func (is *is_IS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -451,7 +466,12 @@ func (is *is_IS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, is.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/it/it.go b/it/it.go index 054035ca3..c93d01955 100644 --- a/it/it.go +++ b/it/it.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic"}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "d.C."}, - timezones: map[string]string{"CST": "Ora standard centrale USA", "MESZ": "Ora legale dell’Europa centrale", "AST": "Ora standard dell’Atlantico", "CDT": "Ora legale centrale USA", "HAT": "Ora legale di Terranova", "MYT": "Ora della Malesia", "LHDT": "Ora legale di Lord Howe", "CHADT": "Ora legale delle Chatham", "AEDT": "Ora legale dell’Australia orientale", "WAT": "Ora standard dell’Africa occidentale", "WITA": "Ora dell’Indonesia centrale", "CAT": "Ora dell’Africa centrale", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "BOT": "Ora della Bolivia", "ACDT": "Ora legale dell’Australia centrale", "WAST": "Ora legale dell’Africa occidentale", "NZDT": "Ora legale della Nuova Zelanda", "BT": "Ora del Bhutan", "CLST": "Ora legale del Cile", "AEST": "Ora standard dell’Australia orientale", "TMST": "Ora legale del Turkmenistan", "HNT": "Ora standard di Terranova", "AKDT": "Ora legale dell’Alaska", "UYT": "Ora standard dell’Uruguay", "CHAST": "Ora standard delle Chatham", "ACWDT": "Ora legale dell’Australia centroccidentale", "AWDT": "Ora legale dell’Australia occidentale", "GMT": "Ora del meridiano di Greenwich", "LHST": "Ora standard di Lord Howe", "JST": "Ora standard del Giappone", "WESZ": "Ora legale dell’Europa occidentale", "HKT": "Ora standard di Hong Kong", "SGT": "Ora Singapore", "COST": "Ora legale della Colombia", "WART": "Ora standard dell’Argentina occidentale", "PDT": "Ora legale del Pacifico USA", "EDT": "Ora legale orientale USA", "∅∅∅": "Ora legale del Perù", "NZST": "Ora standard della Nuova Zelanda", "UYST": "Ora legale dell’Uruguay", "ACWST": "Ora standard dell’Australia centroccidentale", "SAST": "Ora dell’Africa meridionale", "EST": "Ora standard orientale USA", "GYT": "Ora della Guyana", "AWST": "Ora standard dell’Australia occidentale", "HKST": "Ora legale di Hong Kong", "MEZ": "Ora standard dell’Europa centrale", "ACST": "Ora standard dell’Australia centrale", "VET": "Ora del Venezuela", "WARST": "Ora legale dell’Argentina occidentale", "PST": "Ora standard del Pacifico USA", "MDT": "Ora legale Montagne Rocciose USA", "ChST": "Ora Chamorro", "WIB": "Ora dell’Indonesia occidentale", "ARST": "Ora legale dell’Argentina", "EAT": "Ora dell’Africa orientale", "JDT": "Ora legale del Giappone", "COT": "Ora standard della Colombia", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "ART": "Ora standard dell’Argentina", "WIT": "Ora dell’Indonesia orientale", "SRT": "Ora del Suriname", "OESZ": "Ora legale dell’Europa orientale", "WEZ": "Ora standard dell’Europa occidentale", "OEZ": "Ora standard dell’Europa orientale", "IST": "Ora standard dell’India", "TMT": "Ora standard del Turkmenistan", "MST": "Ora standard Montagne Rocciose USA", "CLT": "Ora standard del Cile", "GFT": "Ora della Guiana francese", "ECT": "Ora dell’Ecuador", "ADT": "Ora legale dell’Atlantico", "AKST": "Ora standard dell’Alaska"}, + erasWide: []string{"avanti Cristo", "dopo Cristo"}, + timezones: map[string]string{"MST": "MST", "CDT": "Ora legale centrale USA", "HNOG": "Ora standard della Groenlandia occidentale", "HEOG": "Ora legale della Groenlandia occidentale", "OEZ": "Ora standard dell’Europa orientale", "SRT": "Ora del Suriname", "WESZ": "Ora legale dell’Europa occidentale", "ARST": "Ora legale dell’Argentina", "COST": "Ora legale della Colombia", "LHDT": "Ora legale di Lord Howe", "NZDT": "Ora legale della Nuova Zelanda", "BOT": "Ora della Bolivia", "GMT": "Ora del meridiano di Greenwich", "GYT": "Ora della Guyana", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "VET": "Ora del Venezuela", "WITA": "Ora dell’Indonesia centrale", "EAT": "Ora dell’Africa orientale", "HNPMX": "Ora standard del Pacifico (Messico)", "MYT": "Ora della Malesia", "WIT": "Ora dell’Indonesia orientale", "HNNOMX": "Ora standard del Messico nord-occidentale", "HENOMX": "Ora legale del Messico nord-occidentale", "∅∅∅": "∅∅∅", "HEPMX": "Ora legale del Pacifico (Messico)", "WEZ": "Ora standard dell’Europa occidentale", "ART": "Ora standard dell’Argentina", "SAST": "Ora dell’Africa meridionale", "PST": "Ora standard del Pacifico USA", "AWST": "Ora standard dell’Australia occidentale", "WART": "Ora standard dell’Argentina occidentale", "CHAST": "Ora standard delle Chatham", "WARST": "Ora legale dell’Argentina occidentale", "EDT": "Ora legale orientale USA", "MDT": "MDT", "PDT": "Ora legale del Pacifico USA", "ACWDT": "Ora legale dell’Australia centroccidentale", "AWDT": "Ora legale dell’Australia occidentale", "ECT": "Ora dell’Ecuador", "HECU": "Ora legale di Cuba", "AST": "Ora standard dell’Atlantico", "ACWST": "Ora standard dell’Australia centroccidentale", "LHST": "Ora standard di Lord Howe", "ACST": "Ora standard dell’Australia centrale", "COT": "Ora standard della Colombia", "EST": "Ora standard orientale USA", "AKST": "Ora standard dell’Alaska", "WIB": "Ora dell’Indonesia occidentale", "CLST": "Ora legale del Cile", "JST": "Ora standard del Giappone", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "HNT": "Ora standard di Terranova", "ACDT": "Ora legale dell’Australia centrale", "CAT": "Ora dell’Africa centrale", "HEEG": "Ora legale della Groenlandia orientale", "AKDT": "Ora legale dell’Alaska", "AEST": "Ora standard dell’Australia orientale", "HKT": "Ora standard di Hong Kong", "HEPM": "Ora legale di Saint-Pierre e Miquelon", "MEZ": "Ora standard dell’Europa centrale", "JDT": "Ora legale del Giappone", "SGT": "Ora di Singapore", "HNCU": "Ora standard di Cuba", "UYST": "Ora legale dell’Uruguay", "CHADT": "Ora legale delle Chatham", "IST": "Ora standard dell’India", "WAST": "Ora legale dell’Africa occidentale", "CST": "Ora standard centrale USA", "ADT": "Ora legale dell’Atlantico", "HNPM": "Ora standard di Saint-Pierre e Miquelon", "NZST": "Ora standard della Nuova Zelanda", "WAT": "Ora standard dell’Africa occidentale", "BT": "Ora del Bhutan", "AEDT": "Ora legale dell’Australia orientale", "HKST": "Ora legale di Hong Kong", "GFT": "Ora della Guiana francese", "OESZ": "Ora legale dell’Europa orientale", "TMST": "Ora legale del Turkmenistan", "UYT": "Ora standard dell’Uruguay", "HAT": "Ora legale di Terranova", "MESZ": "Ora legale dell’Europa centrale", "HNEG": "Ora standard della Groenlandia orientale", "TMT": "Ora standard del Turkmenistan", "CLT": "Ora standard del Cile", "ChST": "Ora di Chamorro"}, } } @@ -442,7 +442,12 @@ func (it *it) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +461,12 @@ func (it *it) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +482,12 @@ func (it *it) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/it_CH/it_CH.go b/it_CH/it_CH.go index 74499c4ca..d03e89e31 100644 --- a/it_CH/it_CH.go +++ b/it_CH/it_CH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic"}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "d.C."}, - timezones: map[string]string{"JDT": "Ora legale del Giappone", "WAT": "Ora standard dell’Africa occidentale", "TMT": "Ora standard del Turkmenistan", "WEZ": "Ora standard dell’Europa occidentale", "CHADT": "Ora legale delle Chatham", "BOT": "Ora della Bolivia", "LHST": "Ora standard di Lord Howe", "LHDT": "Ora legale di Lord Howe", "∅∅∅": "Ora legale di Brasilia", "PDT": "Ora legale del Pacifico USA", "MYT": "Ora della Malesia", "CLT": "Ora standard del Cile", "WIT": "Ora dell’Indonesia orientale", "GFT": "Ora della Guiana francese", "ACST": "Ora standard dell’Australia centrale", "WITA": "Ora dell’Indonesia centrale", "GYT": "Ora della Guyana", "OEZ": "Ora standard dell’Europa orientale", "SRT": "Ora del Suriname", "WESZ": "Ora legale dell’Europa occidentale", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "AKST": "Ora standard dell’Alaska", "EST": "Ora standard orientale USA", "CDT": "Ora legale centrale USA", "CLST": "Ora legale del Cile", "OESZ": "Ora legale dell’Europa orientale", "ACDT": "Ora legale dell’Australia centrale", "SGT": "Ora Singapore", "EDT": "Ora legale orientale USA", "HAT": "Ora legale di Terranova", "CHAST": "Ora standard delle Chatham", "COST": "Ora legale della Colombia", "ECT": "Ora dell’Ecuador", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "HNT": "Ora standard di Terranova", "COT": "Ora standard della Colombia", "ACWST": "Ora standard dell’Australia centroccidentale", "PST": "Ora standard del Pacifico USA", "ADT": "Ora legale dell’Atlantico", "SAST": "Ora dell’Africa meridionale", "ChST": "Ora Chamorro", "AWST": "Ora standard dell’Australia occidentale", "WIB": "Ora dell’Indonesia occidentale", "AEDT": "Ora legale dell’Australia orientale", "ART": "Ora standard dell’Argentina", "MDT": "Ora legale Montagne Rocciose USA", "AWDT": "Ora legale dell’Australia occidentale", "UYST": "Ora legale dell’Uruguay", "ACWDT": "Ora legale dell’Australia centroccidentale", "ARST": "Ora legale dell’Argentina", "TMST": "Ora legale del Turkmenistan", "CST": "Ora standard centrale USA", "GMT": "Ora del meridiano di Greenwich", "JST": "Ora standard del Giappone", "MEZ": "Ora standard dell’Europa centrale", "AST": "Ora standard dell’Atlantico", "EAT": "Ora dell’Africa orientale", "HKST": "Ora legale di Hong Kong", "AEST": "Ora standard dell’Australia orientale", "WAST": "Ora legale dell’Africa occidentale", "IST": "Ora standard dell’India", "CAT": "Ora dell’Africa centrale", "HKT": "Ora standard di Hong Kong", "MESZ": "Ora legale dell’Europa centrale", "VET": "Ora del Venezuela", "MST": "Ora standard Montagne Rocciose USA", "NZST": "Ora standard della Nuova Zelanda", "UYT": "Ora standard dell’Uruguay", "WART": "Ora standard dell’Argentina occidentale", "WARST": "Ora legale dell’Argentina occidentale", "AKDT": "Ora legale dell’Alaska", "NZDT": "Ora legale della Nuova Zelanda", "BT": "Ora del Bhutan"}, + erasWide: []string{"avanti Cristo", "dopo Cristo"}, + timezones: map[string]string{"HKST": "Ora legale di Hong Kong", "ADT": "Ora legale dell’Atlantico", "HNPM": "Ora standard di Saint-Pierre e Miquelon", "CHAST": "Ora standard delle Chatham", "CAT": "Ora dell’Africa centrale", "HECU": "Ora legale di Cuba", "WESZ": "Ora legale dell’Europa occidentale", "ACWDT": "Ora legale dell’Australia centroccidentale", "ACDT": "Ora legale dell’Australia centrale", "WIT": "Ora dell’Indonesia orientale", "WARST": "Ora legale dell’Argentina occidentale", "AKDT": "Ora legale dell’Alaska", "AEDT": "Ora legale dell’Australia orientale", "CLT": "Ora standard del Cile", "TMT": "Ora standard del Turkmenistan", "MYT": "Ora della Malesia", "UYST": "Ora legale dell’Uruguay", "AKST": "Ora standard dell’Alaska", "AEST": "Ora standard dell’Australia orientale", "JDT": "Ora legale del Giappone", "ChST": "Ora di Chamorro", "HNEG": "Ora standard della Groenlandia orientale", "HENOMX": "Ora legale del Messico nord-occidentale", "CST": "Ora standard centrale USA", "BT": "Ora del Bhutan", "HNOG": "Ora standard della Groenlandia occidentale", "PST": "Ora standard del Pacifico USA", "GFT": "Ora della Guiana francese", "TMST": "Ora legale del Turkmenistan", "UYT": "Ora standard dell’Uruguay", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "CLST": "Ora legale del Cile", "BOT": "Ora della Bolivia", "∅∅∅": "Ora legale dell’Amazzonia", "OESZ": "Ora legale dell’Europa orientale", "GMT": "Ora del meridiano di Greenwich", "HNPMX": "Ora standard del Pacifico (Messico)", "HEOG": "Ora legale della Groenlandia occidentale", "AWDT": "Ora legale dell’Australia occidentale", "LHST": "Ora standard di Lord Howe", "IST": "Ora standard dell’India", "WAT": "Ora standard dell’Africa occidentale", "OEZ": "Ora standard dell’Europa orientale", "MDT": "MDT", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "PDT": "Ora legale del Pacifico USA", "ARST": "Ora legale dell’Argentina", "COST": "Ora legale della Colombia", "HEPMX": "Ora legale del Pacifico (Messico)", "HEEG": "Ora legale della Groenlandia orientale", "CDT": "Ora legale centrale USA", "NZST": "Ora standard della Nuova Zelanda", "NZDT": "Ora legale della Nuova Zelanda", "WART": "Ora standard dell’Argentina occidentale", "COT": "Ora standard della Colombia", "WIB": "Ora dell’Indonesia occidentale", "ACWST": "Ora standard dell’Australia centroccidentale", "MESZ": "Ora legale dell’Europa centrale", "LHDT": "Ora legale di Lord Howe", "WAST": "Ora legale dell’Africa occidentale", "SGT": "Ora di Singapore", "HNCU": "Ora standard di Cuba", "GYT": "Ora della Guyana", "WEZ": "Ora standard dell’Europa occidentale", "HNT": "Ora standard di Terranova", "CHADT": "Ora legale delle Chatham", "ACST": "Ora standard dell’Australia centrale", "EST": "Ora standard orientale USA", "MST": "MST", "VET": "Ora del Venezuela", "ART": "Ora standard dell’Argentina", "MEZ": "Ora standard dell’Europa centrale", "HNNOMX": "Ora standard del Messico nord-occidentale", "EDT": "Ora legale orientale USA", "HAT": "Ora legale di Terranova", "AWST": "Ora standard dell’Australia occidentale", "HEPM": "Ora legale di Saint-Pierre e Miquelon", "SAST": "Ora dell’Africa meridionale", "JST": "Ora standard del Giappone", "EAT": "Ora dell’Africa orientale", "ECT": "Ora dell’Ecuador", "AST": "Ora standard dell’Atlantico", "HKT": "Ora standard di Hong Kong", "WITA": "Ora dell’Indonesia centrale", "SRT": "Ora del Suriname"}, } } @@ -451,7 +451,12 @@ func (it *it_CH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -465,7 +470,12 @@ func (it *it_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -481,7 +491,12 @@ func (it *it_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/it_IT/it_IT.go b/it_IT/it_IT.go index deec01641..d9f3dedff 100644 --- a/it_IT/it_IT.go +++ b/it_IT/it_IT.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic"}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "d.C."}, - timezones: map[string]string{"WART": "Ora standard dell’Argentina occidentale", "AKDT": "Ora legale dell’Alaska", "PDT": "Ora legale del Pacifico USA", "BT": "Ora del Bhutan", "HKT": "Ora standard di Hong Kong", "MESZ": "Ora legale dell’Europa centrale", "COST": "Ora legale della Colombia", "EAT": "Ora dell’Africa orientale", "ChST": "Ora Chamorro", "AST": "Ora standard dell’Atlantico", "WITA": "Ora dell’Indonesia centrale", "HAT": "Ora legale di Terranova", "JST": "Ora standard del Giappone", "OESZ": "Ora legale dell’Europa orientale", "ACST": "Ora standard dell’Australia centrale", "SRT": "Ora del Suriname", "ACWST": "Ora standard dell’Australia centroccidentale", "ADT": "Ora legale dell’Atlantico", "TMST": "Ora legale del Turkmenistan", "CST": "Ora standard centrale USA", "LHST": "Ora standard di Lord Howe", "OEZ": "Ora standard dell’Europa orientale", "CHADT": "Ora legale delle Chatham", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "AEDT": "Ora legale dell’Australia orientale", "ARST": "Ora legale dell’Argentina", "UYT": "Ora standard dell’Uruguay", "UYST": "Ora legale dell’Uruguay", "WESZ": "Ora legale dell’Europa occidentale", "AEST": "Ora standard dell’Australia orientale", "EST": "Ora standard orientale USA", "NZDT": "Ora legale della Nuova Zelanda", "CAT": "Ora dell’Africa centrale", "HKST": "Ora legale di Hong Kong", "WAST": "Ora legale dell’Africa occidentale", "∅∅∅": "Ora legale del Perù", "NZST": "Ora standard della Nuova Zelanda", "ART": "Ora standard dell’Argentina", "SAST": "Ora dell’Africa meridionale", "WAT": "Ora standard dell’Africa occidentale", "MDT": "Ora legale Montagne Rocciose USA", "HNT": "Ora standard di Terranova", "GMT": "Ora del meridiano di Greenwich", "MEZ": "Ora standard dell’Europa centrale", "CDT": "Ora legale centrale USA", "BOT": "Ora della Bolivia", "CHAST": "Ora standard delle Chatham", "IST": "Ora standard dell’India", "MST": "Ora standard Montagne Rocciose USA", "WEZ": "Ora standard dell’Europa occidentale", "COT": "Ora standard della Colombia", "ECT": "Ora dell’Ecuador", "VET": "Ora del Venezuela", "WARST": "Ora legale dell’Argentina occidentale", "AKST": "Ora standard dell’Alaska", "JDT": "Ora legale del Giappone", "ACDT": "Ora legale dell’Australia centrale", "PST": "Ora standard del Pacifico USA", "AWDT": "Ora legale dell’Australia occidentale", "CLST": "Ora legale del Cile", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "GYT": "Ora della Guyana", "LHDT": "Ora legale di Lord Howe", "WIB": "Ora dell’Indonesia occidentale", "ACWDT": "Ora legale dell’Australia centroccidentale", "EDT": "Ora legale orientale USA", "TMT": "Ora standard del Turkmenistan", "AWST": "Ora standard dell’Australia occidentale", "WIT": "Ora dell’Indonesia orientale", "GFT": "Ora della Guiana francese", "SGT": "Ora Singapore", "MYT": "Ora della Malesia", "CLT": "Ora standard del Cile"}, + erasWide: []string{"avanti Cristo", "dopo Cristo"}, + timezones: map[string]string{"CHADT": "Ora legale delle Chatham", "∅∅∅": "Ora legale dell’Amazzonia", "GMT": "Ora del meridiano di Greenwich", "SGT": "Ora di Singapore", "EST": "Ora standard orientale USA", "ACWST": "Ora standard dell’Australia centroccidentale", "ARST": "Ora legale dell’Argentina", "NZST": "Ora standard della Nuova Zelanda", "COST": "Ora legale della Colombia", "HEPMX": "Ora legale del Pacifico (Messico)", "UYST": "Ora legale dell’Uruguay", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "ACWDT": "Ora legale dell’Australia centroccidentale", "IST": "Ora standard dell’India", "UYT": "Ora standard dell’Uruguay", "BT": "Ora del Bhutan", "AEDT": "Ora legale dell’Australia orientale", "SAST": "Ora dell’Africa meridionale", "HECU": "Ora legale di Cuba", "ART": "Ora standard dell’Argentina", "HNPM": "Ora standard di Saint-Pierre e Miquelon", "WESZ": "Ora legale dell’Europa occidentale", "HNOG": "Ora standard della Groenlandia occidentale", "HEOG": "Ora legale della Groenlandia occidentale", "WITA": "Ora dell’Indonesia centrale", "HNT": "Ora standard di Terranova", "CHAST": "Ora standard delle Chatham", "ACDT": "Ora legale dell’Australia centrale", "OESZ": "Ora legale dell’Europa orientale", "AST": "Ora standard dell’Atlantico", "MYT": "Ora della Malesia", "WEZ": "Ora standard dell’Europa occidentale", "WIT": "Ora dell’Indonesia orientale", "HKST": "Ora legale di Hong Kong", "WART": "Ora standard dell’Argentina occidentale", "HNNOMX": "Ora standard del Messico nord-occidentale", "MST": "MST", "AKST": "Ora standard dell’Alaska", "AKDT": "Ora legale dell’Alaska", "ADT": "Ora legale dell’Atlantico", "CLT": "Ora standard del Cile", "JDT": "Ora legale del Giappone", "COT": "Ora standard della Colombia", "GYT": "Ora della Guyana", "MEZ": "Ora standard dell’Europa centrale", "LHST": "Ora standard di Lord Howe", "LHDT": "Ora legale di Lord Howe", "GFT": "Ora della Guiana francese", "HKT": "Ora standard di Hong Kong", "AWST": "Ora standard dell’Australia occidentale", "HEPM": "Ora legale di Saint-Pierre e Miquelon", "JST": "Ora standard del Giappone", "BOT": "Ora della Bolivia", "CDT": "Ora legale centrale USA", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "HAT": "Ora legale di Terranova", "NZDT": "Ora legale della Nuova Zelanda", "ECT": "Ora dell’Ecuador", "HNCU": "Ora standard di Cuba", "MESZ": "Ora legale dell’Europa centrale", "ChST": "Ora di Chamorro", "HNEG": "Ora standard della Groenlandia orientale", "TMST": "Ora legale del Turkmenistan", "WAT": "Ora standard dell’Africa occidentale", "CLST": "Ora legale del Cile", "CAT": "Ora dell’Africa centrale", "HNPMX": "Ora standard del Pacifico (Messico)", "WIB": "Ora dell’Indonesia occidentale", "CST": "Ora standard centrale USA", "PDT": "Ora legale del Pacifico USA", "ACST": "Ora standard dell’Australia centrale", "OEZ": "Ora standard dell’Europa orientale", "WARST": "Ora legale dell’Argentina occidentale", "HENOMX": "Ora legale del Messico nord-occidentale", "EDT": "Ora legale orientale USA", "MDT": "MDT", "AEST": "Ora standard dell’Australia orientale", "AWDT": "Ora legale dell’Australia occidentale", "WAST": "Ora legale dell’Africa occidentale", "PST": "Ora standard del Pacifico USA", "HEEG": "Ora legale della Groenlandia orientale", "TMT": "Ora standard del Turkmenistan", "EAT": "Ora dell’Africa orientale", "VET": "Ora del Venezuela", "SRT": "Ora del Suriname"}, } } @@ -442,7 +442,12 @@ func (it *it_IT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +461,12 @@ func (it *it_IT) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +482,12 @@ func (it *it_IT) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/it_SM/it_SM.go b/it_SM/it_SM.go index bfb205c73..1a04acc57 100644 --- a/it_SM/it_SM.go +++ b/it_SM/it_SM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic"}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"aC", "dC"}, - erasWide: []string{"a.C.", "d.C."}, - timezones: map[string]string{"WEZ": "Ora standard dell’Europa occidentale", "OEZ": "Ora standard dell’Europa orientale", "COST": "Ora legale della Colombia", "CST": "Ora standard centrale USA", "NZDT": "Ora legale della Nuova Zelanda", "HNT": "Ora standard di Terranova", "WESZ": "Ora legale dell’Europa occidentale", "ECT": "Ora dell’Ecuador", "ACWST": "Ora standard dell’Australia centroccidentale", "MDT": "Ora legale Montagne Rocciose USA", "BT": "Ora del Bhutan", "HKT": "Ora standard di Hong Kong", "MESZ": "Ora legale dell’Europa centrale", "GYT": "Ora della Guyana", "AWST": "Ora standard dell’Australia occidentale", "ART": "Ora standard dell’Argentina", "AST": "Ora standard dell’Atlantico", "ACST": "Ora standard dell’Australia centrale", "WARST": "Ora legale dell’Argentina occidentale", "MYT": "Ora della Malesia", "WIT": "Ora dell’Indonesia orientale", "LHDT": "Ora legale di Lord Howe", "MEZ": "Ora standard dell’Europa centrale", "EDT": "Ora legale orientale USA", "HAT": "Ora legale di Terranova", "∅∅∅": "Ora legale di Brasilia", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "WAT": "Ora standard dell’Africa occidentale", "WAST": "Ora legale dell’Africa occidentale", "MST": "Ora standard Montagne Rocciose USA", "JDT": "Ora legale del Giappone", "AKDT": "Ora legale dell’Alaska", "ADT": "Ora legale dell’Atlantico", "ChST": "Ora Chamorro", "OESZ": "Ora legale dell’Europa orientale", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "PST": "Ora standard del Pacifico USA", "EAT": "Ora dell’Africa orientale", "BOT": "Ora della Bolivia", "JST": "Ora standard del Giappone", "HKST": "Ora legale di Hong Kong", "WART": "Ora standard dell’Argentina occidentale", "IST": "Ora standard dell’India", "WITA": "Ora dell’Indonesia centrale", "CLST": "Ora legale del Cile", "UYT": "Ora standard dell’Uruguay", "GMT": "Ora del meridiano di Greenwich", "SRT": "Ora del Suriname", "COT": "Ora standard della Colombia", "ACWDT": "Ora legale dell’Australia centroccidentale", "SAST": "Ora dell’Africa meridionale", "CDT": "Ora legale centrale USA", "NZST": "Ora standard della Nuova Zelanda", "TMST": "Ora legale del Turkmenistan", "AWDT": "Ora legale dell’Australia occidentale", "CLT": "Ora standard del Cile", "GFT": "Ora della Guiana francese", "SGT": "Ora Singapore", "VET": "Ora del Venezuela", "AEDT": "Ora legale dell’Australia orientale", "TMT": "Ora standard del Turkmenistan", "CAT": "Ora dell’Africa centrale", "CHAST": "Ora standard delle Chatham", "WIB": "Ora dell’Indonesia occidentale", "AEST": "Ora standard dell’Australia orientale", "ARST": "Ora legale dell’Argentina", "UYST": "Ora legale dell’Uruguay", "CHADT": "Ora legale delle Chatham", "ACDT": "Ora legale dell’Australia centrale", "LHST": "Ora standard di Lord Howe", "AKST": "Ora standard dell’Alaska", "EST": "Ora standard orientale USA", "PDT": "Ora legale del Pacifico USA"}, + erasWide: []string{"avanti Cristo", "dopo Cristo"}, + timezones: map[string]string{"AEDT": "Ora legale dell’Australia orientale", "NZST": "Ora standard della Nuova Zelanda", "ACDT": "Ora legale dell’Australia centrale", "EDT": "Ora legale orientale USA", "AWST": "Ora standard dell’Australia occidentale", "EAT": "Ora dell’Africa orientale", "HAST": "Ora standard delle Isole Hawaii-Aleutine", "ARST": "Ora legale dell’Argentina", "HKT": "Ora standard di Hong Kong", "SGT": "Ora di Singapore", "MST": "MST", "AKDT": "Ora legale dell’Alaska", "ACWDT": "Ora legale dell’Australia centroccidentale", "WITA": "Ora dell’Indonesia centrale", "HNPM": "Ora standard di Saint-Pierre e Miquelon", "AKST": "Ora standard dell’Alaska", "AST": "Ora standard dell’Atlantico", "HADT": "Ora legale delle Isole Hawaii-Aleutine", "ACWST": "Ora standard dell’Australia centroccidentale", "ADT": "Ora legale dell’Atlantico", "HNOG": "Ora standard della Groenlandia occidentale", "HKST": "Ora legale di Hong Kong", "LHDT": "Ora legale di Lord Howe", "TMT": "Ora standard del Turkmenistan", "GMT": "Ora del meridiano di Greenwich", "CST": "Ora standard centrale USA", "HNCU": "Ora standard di Cuba", "HECU": "Ora legale di Cuba", "UYT": "Ora standard dell’Uruguay", "AWDT": "Ora legale dell’Australia occidentale", "CLT": "Ora standard del Cile", "CLST": "Ora legale del Cile", "ChST": "Ora di Chamorro", "WARST": "Ora legale dell’Argentina occidentale", "ECT": "Ora dell’Ecuador", "WART": "Ora standard dell’Argentina occidentale", "HNT": "Ora standard di Terranova", "PST": "Ora standard del Pacifico USA", "LHST": "Ora standard di Lord Howe", "SAST": "Ora dell’Africa meridionale", "WESZ": "Ora legale dell’Europa occidentale", "EST": "Ora standard orientale USA", "UYST": "Ora legale dell’Uruguay", "CHAST": "Ora standard delle Chatham", "WAST": "Ora legale dell’Africa occidentale", "OEZ": "Ora standard dell’Europa orientale", "HNNOMX": "Ora standard del Messico nord-occidentale", "HNEG": "Ora standard della Groenlandia orientale", "MDT": "MDT", "GYT": "Ora della Guyana", "HAT": "Ora legale di Terranova", "NZDT": "Ora legale della Nuova Zelanda", "IST": "Ora standard dell’India", "JST": "Ora standard del Giappone", "BOT": "Ora della Bolivia", "HEPM": "Ora legale di Saint-Pierre e Miquelon", "CAT": "Ora dell’Africa centrale", "HENOMX": "Ora legale del Messico nord-occidentale", "MYT": "Ora della Malesia", "WIB": "Ora dell’Indonesia occidentale", "COST": "Ora legale della Colombia", "HEPMX": "Ora legale del Pacifico (Messico)", "HEOG": "Ora legale della Groenlandia occidentale", "AEST": "Ora standard dell’Australia orientale", "COT": "Ora standard della Colombia", "VET": "Ora del Venezuela", "WIT": "Ora dell’Indonesia orientale", "SRT": "Ora del Suriname", "MEZ": "Ora standard dell’Europa centrale", "HEEG": "Ora legale della Groenlandia orientale", "TMST": "Ora legale del Turkmenistan", "ACST": "Ora standard dell’Australia centrale", "WEZ": "Ora standard dell’Europa occidentale", "PDT": "Ora legale del Pacifico USA", "ART": "Ora standard dell’Argentina", "CHADT": "Ora legale delle Chatham", "MESZ": "Ora legale dell’Europa centrale", "OESZ": "Ora legale dell’Europa orientale", "BT": "Ora del Bhutan", "JDT": "Ora legale del Giappone", "WAT": "Ora standard dell’Africa occidentale", "HNPMX": "Ora standard del Pacifico (Messico)", "∅∅∅": "Ora legale dell’Amazzonia", "GFT": "Ora della Guiana francese", "CDT": "Ora legale centrale USA"}, } } @@ -442,7 +442,12 @@ func (it *it_SM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +461,12 @@ func (it *it_SM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +482,12 @@ func (it *it_SM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, it.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ja/ja.go b/ja/ja.go index a2f6b7907..70dcdc096 100644 --- a/ja/ja.go +++ b/ja/ja.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "元", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "元", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"紀元前", "西暦"}, erasNarrow: []string{"BC", "AD"}, erasWide: []string{"紀元前", "西暦"}, - timezones: map[string]string{"WART": "西部アルゼンチン標準時", "WAST": "西アフリカ夏時間", "TMST": "トルクメニスタン夏時間", "WESZ": "西ヨーロッパ夏時間", "SRT": "スリナム時間", "WARST": "西部アルゼンチン夏時間", "TMT": "トルクメニスタン標準時", "WIT": "インドネシア東部時間", "BT": "ブータン時間", "HAST": "ハワイ・アリューシャン標準時", "SAST": "南アフリカ標準時", "MST": "マカオ標準時", "CLST": "チリ夏時間", "ARST": "アルゼンチン夏時間", "WAT": "西アフリカ標準時", "EST": "アメリカ東部標準時", "CST": "アメリカ中部標準時", "CAT": "中央アフリカ時間", "ACST": "オーストラリア中部標準時", "BOT": "ボリビア時間", "AKST": "アラスカ標準時", "AST": "大西洋標準時", "LHDT": "ロードハウ夏時間", "SGT": "シンガポール標準時", "WIB": "インドネシア西部時間", "HADT": "ハワイ・アリューシャン夏時間", "ART": "アルゼンチン標準時", "GYT": "ガイアナ時間", "NZDT": "ニュージーランド夏時間", "AEST": "オーストラリア東部標準時", "IST": "インド標準時", "WITA": "インドネシア中部時間", "MESZ": "中央ヨーロッパ夏時間", "CLT": "チリ標準時", "UYT": "ウルグアイ標準時", "OESZ": "東ヨーロッパ夏時間", "VET": "ベネズエラ時間", "ACWST": "オーストラリア中西部標準時", "MDT": "マカオ夏時間", "AWDT": "オーストラリア西部夏時間", "EAT": "東アフリカ時間", "NZST": "ニュージーランド標準時", "HAT": "ニューファンドランド夏時間", "JST": "日本標準時", "OEZ": "東ヨーロッパ標準時", "HKT": "香港標準時", "COST": "コロンビア夏時間", "AKDT": "アラスカ夏時間", "CDT": "アメリカ中部夏時間", "HNT": "ニューファンドランド標準時", "COT": "コロンビア標準時", "GMT": "グリニッジ標準時", "LHST": "ロードハウ標準時", "WEZ": "西ヨーロッパ標準時", "ACDT": "オーストラリア中部夏時間", "ACWDT": "オーストラリア中西部夏時間", "AEDT": "オーストラリア東部夏時間", "ChST": "チャモロ時間", "CHAST": "チャタム標準時", "MEZ": "中央ヨーロッパ標準時", "ECT": "エクアドル時間", "PST": "アメリカ太平洋標準時", "MYT": "マレーシア時間", "AWST": "オーストラリア西部標準時", "∅∅∅": "ブラジリア夏時間", "HKST": "香港夏時間", "JDT": "日本夏時間", "CHADT": "チャタム夏時間", "GFT": "仏領ギアナ時間", "ADT": "大西洋夏時間", "EDT": "アメリカ東部夏時間", "PDT": "アメリカ太平洋夏時間", "UYST": "ウルグアイ夏時間"}, + timezones: map[string]string{"CLT": "チリ標準時", "HAT": "ニューファンドランド夏時間", "AWST": "オーストラリア西部標準時", "WITA": "インドネシア中部時間", "GYT": "ガイアナ時間", "UYST": "ウルグアイ夏時間", "CDT": "アメリカ中部夏時間", "ADT": "大西洋夏時間", "HNNOMX": "メキシコ北西部標準時", "SGT": "シンガポール標準時", "MST": "マカオ標準時", "WART": "西部アルゼンチン標準時", "AKST": "アラスカ標準時", "AEST": "オーストラリア東部標準時", "AEDT": "オーストラリア東部夏時間", "IST": "インド標準時", "SRT": "スリナム時間", "BOT": "ボリビア時間", "HNEG": "グリーンランド東部標準時", "CLST": "チリ夏時間", "GFT": "仏領ギアナ時間", "AKDT": "アラスカ夏時間", "AST": "大西洋標準時", "HNT": "ニューファンドランド標準時", "NZST": "ニュージーランド標準時", "CHAST": "チャタム標準時", "EST": "アメリカ東部標準時", "UYT": "ウルグアイ標準時", "HKST": "香港夏時間", "WAST": "西アフリカ夏時間", "HNCU": "キューバ標準時", "GMT": "グリニッジ標準時", "EDT": "アメリカ東部夏時間", "MYT": "マレーシア時間", "MEZ": "中央ヨーロッパ標準時", "JDT": "日本夏時間", "WARST": "西部アルゼンチン夏時間", "WAT": "西アフリカ標準時", "∅∅∅": "アマゾン夏時間", "TMT": "トルクメニスタン標準時", "TMST": "トルクメニスタン夏時間", "MESZ": "中央ヨーロッパ夏時間", "NZDT": "ニュージーランド夏時間", "CHADT": "チャタム夏時間", "ACST": "オーストラリア中部標準時", "CAT": "中央アフリカ時間", "WIT": "インドネシア東部時間", "BT": "ブータン時間", "HNOG": "グリーンランド西部標準時", "EAT": "東アフリカ時間", "COT": "コロンビア標準時", "HENOMX": "メキシコ北西部夏時間", "MDT": "マカオ夏時間", "HNPMX": "メキシコ太平洋標準時", "PDT": "アメリカ太平洋夏時間", "WEZ": "西ヨーロッパ標準時", "OESZ": "東ヨーロッパ夏時間", "HKT": "香港標準時", "COST": "コロンビア夏時間", "ACWST": "オーストラリア中西部標準時", "AWDT": "オーストラリア西部夏時間", "HEPMX": "メキシコ太平洋夏時間", "CST": "アメリカ中部標準時", "HAST": "ハワイ・アリューシャン標準時", "ACWDT": "オーストラリア中西部夏時間", "OEZ": "東ヨーロッパ標準時", "PST": "アメリカ太平洋標準時", "JST": "日本標準時", "ChST": "チャモロ時間", "LHST": "ロードハウ標準時", "SAST": "南アフリカ標準時", "ACDT": "オーストラリア中部夏時間", "HECU": "キューバ夏時間", "WIB": "インドネシア西部時間", "VET": "ベネズエラ時間", "WESZ": "西ヨーロッパ夏時間", "HNPM": "サンピエール・ミクロン標準時", "ARST": "アルゼンチン夏時間", "HEPM": "サンピエール・ミクロン夏時間", "LHDT": "ロードハウ夏時間", "HEEG": "グリーンランド東部夏時間", "ECT": "エクアドル時間", "HADT": "ハワイ・アリューシャン夏時間", "HEOG": "グリーンランド西部夏時間", "ART": "アルゼンチン標準時"}, } } @@ -384,7 +384,12 @@ func (ja *ja) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) if t.Month() < 10 { @@ -409,7 +414,12 @@ func (ja *ja) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) if t.Month() < 10 { @@ -434,7 +444,12 @@ func (ja *ja) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -449,7 +464,12 @@ func (ja *ja) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/ja_JP/ja_JP.go b/ja_JP/ja_JP.go index a2ea5594b..b0bdd0783 100644 --- a/ja_JP/ja_JP.go +++ b/ja_JP/ja_JP.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"紀元前", "西暦"}, erasNarrow: []string{"BC", "AD"}, erasWide: []string{"紀元前", "西暦"}, - timezones: map[string]string{"MST": "アメリカ山地標準時", "HAT": "ニューファンドランド夏時間", "CHADT": "チャタム夏時間", "GFT": "仏領ギアナ時間", "ACDT": "オーストラリア中部夏時間", "MEZ": "中央ヨーロッパ標準時", "AEDT": "オーストラリア東部夏時間", "EDT": "アメリカ東部夏時間", "CDT": "アメリカ中部夏時間", "CLT": "チリ標準時", "JST": "日本標準時", "EAT": "東アフリカ時間", "HKT": "香港標準時", "OESZ": "東ヨーロッパ夏時間", "ACST": "オーストラリア中部標準時", "AEST": "オーストラリア東部標準時", "HADT": "ハワイ・アリューシャン夏時間", "SAST": "南アフリカ標準時", "WESZ": "西ヨーロッパ夏時間", "CHAST": "チャタム標準時", "HNT": "ニューファンドランド標準時", "IST": "インド標準時", "CAT": "中央アフリカ時間", "UYT": "ウルグアイ標準時", "ECT": "エクアドル時間", "WAST": "西アフリカ夏時間", "HKST": "香港夏時間", "SGT": "シンガポール標準時", "WIB": "インドネシア西部時間", "CLST": "チリ夏時間", "BT": "ブータン時間", "OEZ": "東ヨーロッパ標準時", "PDT": "アメリカ太平洋夏時間", "NZST": "ニュージーランド標準時", "∅∅∅": "アゾレス夏時間", "COST": "コロンビア夏時間", "WART": "西部アルゼンチン標準時", "TMST": "トルクメニスタン夏時間", "TMT": "トルクメニスタン標準時", "GYT": "ガイアナ時間", "COT": "コロンビア標準時", "ACWST": "オーストラリア中西部標準時", "ACWDT": "オーストラリア中西部夏時間", "PST": "アメリカ太平洋標準時", "MYT": "マレーシア時間", "ChST": "チャモロ時間", "WIT": "インドネシア東部時間", "LHDT": "ロードハウ夏時間", "AKST": "アラスカ標準時", "AST": "大西洋標準時", "AWDT": "オーストラリア西部夏時間", "LHST": "ロードハウ標準時", "UYST": "ウルグアイ夏時間", "VET": "ベネズエラ時間", "ART": "アルゼンチン標準時", "WAT": "西アフリカ標準時", "JDT": "日本夏時間", "ADT": "大西洋夏時間", "WITA": "インドネシア中部時間", "MDT": "アメリカ山地夏時間", "NZDT": "ニュージーランド夏時間", "WEZ": "西ヨーロッパ標準時", "AKDT": "アラスカ夏時間", "GMT": "グリニッジ標準時", "MESZ": "中央ヨーロッパ夏時間", "ARST": "アルゼンチン夏時間", "WARST": "西部アルゼンチン夏時間", "CST": "アメリカ中部標準時", "BOT": "ボリビア時間", "AWST": "オーストラリア西部標準時", "SRT": "スリナム時間", "HAST": "ハワイ・アリューシャン標準時", "EST": "アメリカ東部標準時"}, + timezones: map[string]string{"HEOG": "グリーンランド西部夏時間", "LHST": "ロードハウ標準時", "WART": "西部アルゼンチン標準時", "MYT": "マレーシア時間", "AWST": "オーストラリア西部標準時", "HNPM": "サンピエール・ミクロン標準時", "HEEG": "グリーンランド東部夏時間", "CST": "アメリカ中部標準時", "VET": "ベネズエラ時間", "OESZ": "東ヨーロッパ夏時間", "HADT": "ハワイ・アリューシャン夏時間", "ACDT": "オーストラリア中部夏時間", "OEZ": "東ヨーロッパ標準時", "COST": "コロンビア夏時間", "HEPMX": "メキシコ太平洋夏時間", "CHADT": "チャタム夏時間", "JST": "日本標準時", "GFT": "仏領ギアナ時間", "GMT": "グリニッジ標準時", "MDT": "マカオ夏時間", "WIT": "インドネシア東部時間", "HKT": "香港標準時", "CLST": "チリ夏時間", "∅∅∅": "アマゾン夏時間", "UYST": "ウルグアイ夏時間", "HENOMX": "メキシコ北西部夏時間", "AKST": "アラスカ標準時", "PST": "アメリカ太平洋標準時", "IST": "インド標準時", "JDT": "日本夏時間", "ChST": "チャモロ時間", "CAT": "中央アフリカ時間", "ECT": "エクアドル時間", "EDT": "アメリカ東部夏時間", "AEST": "オーストラリア東部標準時", "HKST": "香港夏時間", "MESZ": "中央ヨーロッパ夏時間", "CLT": "チリ標準時", "WAT": "西アフリカ標準時", "ACST": "オーストラリア中部標準時", "WARST": "西部アルゼンチン夏時間", "HNNOMX": "メキシコ北西部標準時", "HAST": "ハワイ・アリューシャン標準時", "SRT": "スリナム時間", "HNOG": "グリーンランド西部標準時", "ACWDT": "オーストラリア中西部夏時間", "ARST": "アルゼンチン夏時間", "CDT": "アメリカ中部夏時間", "ADT": "大西洋夏時間", "GYT": "ガイアナ時間", "BT": "ブータン時間", "WESZ": "西ヨーロッパ夏時間", "HAT": "ニューファンドランド夏時間", "ART": "アルゼンチン標準時", "MST": "マカオ標準時", "AKDT": "アラスカ夏時間", "AST": "大西洋標準時", "WEZ": "西ヨーロッパ標準時", "WITA": "インドネシア中部時間", "HNEG": "グリーンランド東部標準時", "TMT": "トルクメニスタン標準時", "WAST": "西アフリカ夏時間", "PDT": "アメリカ太平洋夏時間", "ACWST": "オーストラリア中西部標準時", "HNCU": "キューバ標準時", "HEPM": "サンピエール・ミクロン夏時間", "LHDT": "ロードハウ夏時間", "CHAST": "チャタム標準時", "EAT": "東アフリカ時間", "SGT": "シンガポール標準時", "NZDT": "ニュージーランド夏時間", "BOT": "ボリビア時間", "TMST": "トルクメニスタン夏時間", "HECU": "キューバ夏時間", "HNPMX": "メキシコ太平洋標準時", "MEZ": "中央ヨーロッパ標準時", "COT": "コロンビア標準時", "EST": "アメリカ東部標準時", "WIB": "インドネシア西部時間", "UYT": "ウルグアイ標準時", "HNT": "ニューファンドランド標準時", "AEDT": "オーストラリア東部夏時間", "AWDT": "オーストラリア西部夏時間", "NZST": "ニュージーランド標準時", "SAST": "南アフリカ標準時"}, } } @@ -384,7 +384,12 @@ func (ja *ja_JP) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) if t.Month() < 10 { @@ -409,7 +414,12 @@ func (ja *ja_JP) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) if t.Month() < 10 { @@ -434,7 +444,12 @@ func (ja *ja_JP) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -449,7 +464,12 @@ func (ja *ja_JP) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/jgo/jgo.go b/jgo/jgo.go index ac7059d6d..b4d5475aa 100644 --- a/jgo/jgo.go +++ b/jgo/jgo.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Nduŋmbi Saŋ", "Pɛsaŋ Pɛ́pá", "Pɛsaŋ Pɛ́tát", "Pɛsaŋ Pɛ́nɛ́kwa", "Pɛsaŋ Pataa", "Pɛsaŋ Pɛ́nɛ́ntúkú", "Pɛsaŋ Saambá", "Pɛsaŋ Pɛ́nɛ́fɔm", "Pɛsaŋ Pɛ́nɛ́pfúꞋú", "Pɛsaŋ Nɛgɛ́m", "Pɛsaŋ Ntsɔ̌pmɔ́", "Pɛsaŋ Ntsɔ̌ppá"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"tsɛttsɛt mɛŋguꞌ mi ɛ́ lɛɛnɛ Kɛlísɛtɔ gɔ ńɔ́", "tsɛttsɛt mɛŋguꞌ mi ɛ́ fúnɛ Kɛlísɛtɔ tɔ́ mɔ́"}, - timezones: map[string]string{"SAST": "SAST", "CST": "CST", "MDT": "MDT", "WART": "WART", "BOT": "BOT", "CLT": "CLT", "GFT": "GFT", "MESZ": "MESZ", "IST": "IST", "PDT": "PDT", "WITA": "WITA", "BT": "BT", "OEZ": "OEZ", "EAT": "EAT", "MST": "MST", "CHAST": "CHAST", "WAST": "WAST", "EDT": "EDT", "AWST": "AWST", "HAT": "HAT", "UYT": "UYT", "HKT": "HKT", "HKST": "HKST", "ARST": "ARST", "ART": "ART", "AKST": "AKST", "GYT": "GYT", "MYT": "MYT", "ACWDT": "ACWDT", "WARST": "WARST", "TMST": "TMST", "ChST": "ChST", "SRT": "SRT", "ACST": "ACST", "HADT": "HADT", "AKDT": "AKDT", "HNT": "HNT", "COST": "COST", "WIB": "WIB", "ACWST": "ACWST", "AWDT": "AWDT", "JDT": "JDT", "AEDT": "AEDT", "AST": "AST", "CAT": "CAT", "WIT": "WIT", "JST": "JST", "CHADT": "CHADT", "ACDT": "ACDT", "PST": "PST", "TMT": "TMT", "UYST": "UYST", "WESZ": "WESZ", "COT": "COT", "VET": "VET", "WAT": "WAT", "EST": "EST", "∅∅∅": "∅∅∅", "CLST": "CLST", "LHDT": "LHDT", "WEZ": "WEZ", "ADT": "ADT", "NZST": "NZST", "NZDT": "NZDT", "GMT": "GMT", "LHST": "LHST", "MEZ": "MEZ", "ECT": "ECT", "HAST": "HAST", "AEST": "AEST", "CDT": "CDT", "OESZ": "OESZ", "SGT": "SGT"}, + timezones: map[string]string{"AEDT": "AEDT", "CHADT": "CHADT", "ACST": "ACST", "HENOMX": "HENOMX", "ChST": "ChST", "MYT": "MYT", "UYT": "UYT", "PDT": "PDT", "CHAST": "CHAST", "MESZ": "MESZ", "CLST": "CLST", "HNEG": "HNEG", "UYST": "UYST", "BOT": "BOT", "ECT": "ECT", "EAT": "EAT", "BT": "BT", "HKT": "HKT", "NZST": "NZST", "∅∅∅": "∅∅∅", "TMT": "TMT", "AKDT": "AKDT", "ACDT": "ACDT", "OESZ": "OESZ", "WARST": "WARST", "HNT": "HNT", "HEOG": "HEOG", "WEZ": "WEZ", "AWST": "AWST", "HNPM": "HNPM", "HNPMX": "HNPMX", "EDT": "EDT", "GYT": "GYT", "HADT": "HADT", "HKST": "HKST", "SAST": "SAST", "HEEG": "HEEG", "SRT": "SRT", "JDT": "JDT", "IST": "IST", "GFT": "GFT", "GMT": "GMT", "ADT": "ADT", "WIB": "WIB", "AWDT": "AWDT", "AST": "AST", "WIT": "WIT", "WITA": "WITA", "OEZ": "OEZ", "CAT": "CAT", "EST": "EST", "HAT": "HAT", "ART": "ART", "COT": "COT", "HECU": "HECU", "CDT": "CDT", "ACWST": "ACWST", "WESZ": "WESZ", "HEPM": "HEPM", "WAT": "WAT", "HNCU": "HNCU", "HEPMX": "HEPMX", "VET": "VET", "ACWDT": "ACWDT", "NZDT": "NZDT", "LHDT": "LHDT", "WAST": "WAST", "MDT": "MDT", "PST": "PST", "AEST": "AEST", "WART": "WART", "MEZ": "MEZ", "COST": "COST", "AKST": "AKST", "MST": "MST", "HAST": "HAST", "HNOG": "HNOG", "JST": "JST", "CLT": "CLT", "CST": "CST", "ARST": "ARST", "LHST": "LHST", "TMST": "TMST", "HNNOMX": "HNNOMX", "SGT": "SGT"}, } } @@ -397,7 +397,12 @@ func (jgo *jgo) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -422,7 +427,12 @@ func (jgo *jgo) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -436,7 +446,12 @@ func (jgo *jgo) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -452,7 +467,13 @@ func (jgo *jgo) FmtDateFull(t time.Time) string { b = append(b, jgo.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/jgo_CM/jgo_CM.go b/jgo_CM/jgo_CM.go index ec5cd3b98..ab9ff9862 100644 --- a/jgo_CM/jgo_CM.go +++ b/jgo_CM/jgo_CM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Nduŋmbi Saŋ", "Pɛsaŋ Pɛ́pá", "Pɛsaŋ Pɛ́tát", "Pɛsaŋ Pɛ́nɛ́kwa", "Pɛsaŋ Pataa", "Pɛsaŋ Pɛ́nɛ́ntúkú", "Pɛsaŋ Saambá", "Pɛsaŋ Pɛ́nɛ́fɔm", "Pɛsaŋ Pɛ́nɛ́pfúꞋú", "Pɛsaŋ Nɛgɛ́m", "Pɛsaŋ Ntsɔ̌pmɔ́", "Pɛsaŋ Ntsɔ̌ppá"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"tsɛttsɛt mɛŋguꞌ mi ɛ́ lɛɛnɛ Kɛlísɛtɔ gɔ ńɔ́", "tsɛttsɛt mɛŋguꞌ mi ɛ́ fúnɛ Kɛlísɛtɔ tɔ́ mɔ́"}, - timezones: map[string]string{"ACWST": "ACWST", "EAT": "EAT", "∅∅∅": "∅∅∅", "ARST": "ARST", "WAST": "WAST", "UYST": "UYST", "GYT": "GYT", "CLST": "CLST", "EDT": "EDT", "TMT": "TMT", "MYT": "MYT", "WESZ": "WESZ", "SGT": "SGT", "WARST": "WARST", "WAT": "WAT", "TMST": "TMST", "COST": "COST", "WIT": "WIT", "GMT": "GMT", "IST": "IST", "WEZ": "WEZ", "PST": "PST", "AST": "AST", "CLT": "CLT", "ECT": "ECT", "WIB": "WIB", "WART": "WART", "AKST": "AKST", "CDT": "CDT", "ACDT": "ACDT", "ChST": "ChST", "AEDT": "AEDT", "AWDT": "AWDT", "HNT": "HNT", "ADT": "ADT", "SAST": "SAST", "MDT": "MDT", "AWST": "AWST", "JDT": "JDT", "VET": "VET", "AKDT": "AKDT", "PDT": "PDT", "COT": "COT", "LHDT": "LHDT", "GFT": "GFT", "HKT": "HKT", "HADT": "HADT", "AEST": "AEST", "MST": "MST", "BOT": "BOT", "SRT": "SRT", "OESZ": "OESZ", "CHAST": "CHAST", "MESZ": "MESZ", "ACWDT": "ACWDT", "CST": "CST", "NZST": "NZST", "CHADT": "CHADT", "ART": "ART", "UYT": "UYT", "HKST": "HKST", "HAT": "HAT", "JST": "JST", "OEZ": "OEZ", "ACST": "ACST", "HAST": "HAST", "WITA": "WITA", "CAT": "CAT", "BT": "BT", "LHST": "LHST", "MEZ": "MEZ", "EST": "EST", "NZDT": "NZDT"}, + timezones: map[string]string{"JST": "JST", "ACST": "ACST", "HNCU": "HNCU", "PDT": "PDT", "HEPM": "HEPM", "NZDT": "NZDT", "HAT": "HAT", "HKT": "HKT", "OESZ": "OESZ", "AKDT": "AKDT", "MYT": "MYT", "BT": "BT", "GFT": "GFT", "UYST": "UYST", "HNOG": "HNOG", "CLST": "CLST", "WAST": "WAST", "SRT": "SRT", "ACWST": "ACWST", "TMT": "TMT", "BOT": "BOT", "CAT": "CAT", "WITA": "WITA", "AWDT": "AWDT", "SAST": "SAST", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "EDT": "EDT", "GYT": "GYT", "WIT": "WIT", "HENOMX": "HENOMX", "SGT": "SGT", "PST": "PST", "HKST": "HKST", "HNPM": "HNPM", "CHAST": "CHAST", "CHADT": "CHADT", "HNPMX": "HNPMX", "EST": "EST", "HADT": "HADT", "MEZ": "MEZ", "ChST": "ChST", "ECT": "ECT", "CST": "CST", "ADT": "ADT", "WAT": "WAT", "MESZ": "MESZ", "WARST": "WARST", "AST": "AST", "ART": "ART", "HEOG": "HEOG", "EAT": "EAT", "MST": "MST", "TMST": "TMST", "ACDT": "ACDT", "HAST": "HAST", "AEST": "AEST", "LHST": "LHST", "IST": "IST", "CLT": "CLT", "HEPMX": "HEPMX", "AKST": "AKST", "CDT": "CDT", "OEZ": "OEZ", "WART": "WART", "HNT": "HNT", "AWST": "AWST", "HECU": "HECU", "COST": "COST", "GMT": "GMT", "ARST": "ARST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "WEZ": "WEZ", "COT": "COT", "MDT": "MDT", "UYT": "UYT", "WIB": "WIB", "AEDT": "AEDT", "NZST": "NZST", "LHDT": "LHDT", "JDT": "JDT", "VET": "VET", "ACWDT": "ACWDT", "WESZ": "WESZ"}, } } @@ -397,7 +397,12 @@ func (jgo *jgo_CM) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -422,7 +427,12 @@ func (jgo *jgo_CM) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -436,7 +446,12 @@ func (jgo *jgo_CM) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -452,7 +467,13 @@ func (jgo *jgo_CM) FmtDateFull(t time.Time) string { b = append(b, jgo.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, jgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/jmc/jmc.go b/jmc/jmc.go index 2761d91c4..bcb3eb4ca 100644 --- a/jmc/jmc.go +++ b/jmc/jmc.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"CST": "CST", "PDT": "PDT", "MST": "MST", "MEZ": "MEZ", "UYT": "UYT", "GYT": "GYT", "BOT": "BOT", "HNT": "HNT", "HAT": "HAT", "HADT": "HADT", "SAST": "SAST", "ACWDT": "ACWDT", "IST": "IST", "WAST": "WAST", "TMST": "TMST", "OESZ": "OESZ", "ACST": "ACST", "ACWST": "ACWST", "WARST": "WARST", "CAT": "CAT", "GFT": "GFT", "ART": "ART", "LHST": "LHST", "WEZ": "WEZ", "MESZ": "MESZ", "ARST": "ARST", "AEST": "AEST", "LHDT": "LHDT", "UYST": "UYST", "CHAST": "CHAST", "WART": "WART", "EST": "EST", "WAT": "WAT", "NZST": "NZST", "WIT": "WIT", "GMT": "GMT", "HAST": "HAST", "ADT": "ADT", "CLT": "CLT", "SRT": "SRT", "OEZ": "OEZ", "BT": "BT", "JST": "JST", "COT": "COT", "AST": "AST", "CDT": "CDT", "ChST": "ChST", "CLST": "CLST", "MYT": "MYT", "AWDT": "AWDT", "MDT": "MDT", "AWST": "AWST", "WESZ": "WESZ", "ACDT": "ACDT", "AKST": "AKST", "PST": "PST", "TMT": "TMT", "NZDT": "NZDT", "JDT": "JDT", "ECT": "ECT", "AKDT": "AKDT", "EDT": "EDT", "EAT": "EAT", "WITA": "WITA", "HKST": "HKST", "WIB": "WIB", "AEDT": "AEDT", "COST": "COST", "VET": "VET", "SGT": "SGT", "∅∅∅": "∅∅∅", "CHADT": "CHADT", "HKT": "HKT"}, + timezones: map[string]string{"AKDT": "AKDT", "HAT": "HAT", "ART": "ART", "MESZ": "MESZ", "TMST": "TMST", "WARST": "WARST", "HECU": "HECU", "UYT": "UYT", "LHST": "LHST", "ACST": "ACST", "ACDT": "ACDT", "WIB": "WIB", "ARST": "ARST", "BT": "BT", "WEZ": "WEZ", "GFT": "GFT", "EAT": "EAT", "HNCU": "HNCU", "MYT": "MYT", "NZST": "NZST", "CAT": "CAT", "GMT": "GMT", "HAST": "HAST", "WIT": "WIT", "AEST": "AEST", "AEDT": "AEDT", "WAT": "WAT", "SGT": "SGT", "HEPMX": "HEPMX", "ACWDT": "ACWDT", "AWDT": "AWDT", "NZDT": "NZDT", "SAST": "SAST", "HNEG": "HNEG", "HEEG": "HEEG", "HNPMX": "HNPMX", "PST": "PST", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "GYT": "GYT", "CLST": "CLST", "CDT": "CDT", "ADT": "ADT", "VET": "VET", "CHAST": "CHAST", "BOT": "BOT", "WAST": "WAST", "EST": "EST", "MDT": "MDT", "AKST": "AKST", "IST": "IST", "HADT": "HADT", "HNOG": "HNOG", "WESZ": "WESZ", "AWST": "AWST", "∅∅∅": "∅∅∅", "HEOG": "HEOG", "HKT": "HKT", "ChST": "ChST", "HNT": "HNT", "WITA": "WITA", "MEZ": "MEZ", "AST": "AST", "SRT": "SRT", "ACWST": "ACWST", "HKST": "HKST", "WART": "WART", "COT": "COT", "COST": "COST", "UYST": "UYST", "HNPM": "HNPM", "CHADT": "CHADT", "HEPM": "HEPM", "LHDT": "LHDT", "JST": "JST", "JDT": "JDT", "TMT": "TMT", "ECT": "ECT", "EDT": "EDT", "CST": "CST", "HENOMX": "HENOMX", "MST": "MST", "OESZ": "OESZ", "PDT": "PDT", "CLT": "CLT"}, } } @@ -329,7 +329,12 @@ func (jmc *jmc) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (jmc *jmc) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (jmc *jmc) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (jmc *jmc) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/jmc_TZ/jmc_TZ.go b/jmc_TZ/jmc_TZ.go index 2d90bdeae..2630ba675 100644 --- a/jmc_TZ/jmc_TZ.go +++ b/jmc_TZ/jmc_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"CLST": "CLST", "HKT": "HKT", "GFT": "GFT", "ACDT": "ACDT", "WART": "WART", "UYST": "UYST", "WEZ": "WEZ", "ACST": "ACST", "COST": "COST", "AKST": "AKST", "GMT": "GMT", "CHADT": "CHADT", "COT": "COT", "ACWST": "ACWST", "AEDT": "AEDT", "MDT": "MDT", "JST": "JST", "MESZ": "MESZ", "ARST": "ARST", "AKDT": "AKDT", "PDT": "PDT", "WITA": "WITA", "AWDT": "AWDT", "MEZ": "MEZ", "ACWDT": "ACWDT", "BT": "BT", "LHST": "LHST", "EST": "EST", "EDT": "EDT", "GYT": "GYT", "ChST": "ChST", "HAST": "HAST", "HADT": "HADT", "BOT": "BOT", "CAT": "CAT", "AWST": "AWST", "CLT": "CLT", "UYT": "UYT", "CHAST": "CHAST", "AST": "AST", "HAT": "HAT", "LHDT": "LHDT", "OESZ": "OESZ", "WARST": "WARST", "TMT": "TMT", "NZST": "NZST", "NZDT": "NZDT", "HNT": "HNT", "∅∅∅": "∅∅∅", "ECT": "ECT", "VET": "VET", "EAT": "EAT", "ART": "ART", "CST": "CST", "OEZ": "OEZ", "HKST": "HKST", "AEST": "AEST", "ADT": "ADT", "WIT": "WIT", "SRT": "SRT", "SAST": "SAST", "MST": "MST", "WIB": "WIB", "WAST": "WAST", "IST": "IST", "PST": "PST", "CDT": "CDT", "MYT": "MYT", "JDT": "JDT", "WESZ": "WESZ", "SGT": "SGT", "WAT": "WAT", "TMST": "TMST"}, + timezones: map[string]string{"OEZ": "OEZ", "LHDT": "LHDT", "MEZ": "MEZ", "TMT": "TMT", "AWST": "AWST", "HEPM": "HEPM", "CHAST": "CHAST", "WAT": "WAT", "HENOMX": "HENOMX", "MST": "MST", "HAST": "HAST", "WEZ": "WEZ", "COST": "COST", "SGT": "SGT", "HEPMX": "HEPMX", "TMST": "TMST", "ACST": "ACST", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "AST": "AST", "ARST": "ARST", "HKST": "HKST", "EDT": "EDT", "UYST": "UYST", "HAT": "HAT", "JST": "JST", "WAST": "WAST", "ECT": "ECT", "SAST": "SAST", "GFT": "GFT", "WIB": "WIB", "HADT": "HADT", "CLT": "CLT", "PDT": "PDT", "CLST": "CLST", "JDT": "JDT", "MDT": "MDT", "AKST": "AKST", "ADT": "ADT", "GYT": "GYT", "ACWST": "ACWST", "HEEG": "HEEG", "WART": "WART", "VET": "VET", "CHADT": "CHADT", "BOT": "BOT", "HNT": "HNT", "HNOG": "HNOG", "PST": "PST", "EAT": "EAT", "HNPMX": "HNPMX", "EST": "EST", "CST": "CST", "WESZ": "WESZ", "WITA": "WITA", "AEST": "AEST", "AKDT": "AKDT", "SRT": "SRT", "ACWDT": "ACWDT", "ART": "ART", "AWDT": "AWDT", "NZDT": "NZDT", "HECU": "HECU", "BT": "BT", "HKT": "HKT", "LHST": "LHST", "NZST": "NZST", "∅∅∅": "∅∅∅", "GMT": "GMT", "WIT": "WIT", "OESZ": "OESZ", "MYT": "MYT", "AEDT": "AEDT", "HNPM": "HNPM", "CAT": "CAT", "CDT": "CDT", "ChST": "ChST", "ACDT": "ACDT", "IST": "IST", "COT": "COT", "WARST": "WARST", "UYT": "UYT", "HEOG": "HEOG", "MESZ": "MESZ"}, } } @@ -329,7 +329,12 @@ func (jmc *jmc_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (jmc *jmc_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (jmc *jmc_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (jmc *jmc_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, jmc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ka/ka.go b/ka/ka.go index 820304cef..2b7116e5d 100644 --- a/ka/ka.go +++ b/ka/ka.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ძვ. წ.", "ახ. წ."}, erasNarrow: []string{"", ""}, erasWide: []string{"ძველი წელთაღრიცხვით", "ახალი წელთაღრიცხვით"}, - timezones: map[string]string{"VET": "ვენესუელის დრო", "PST": "ჩრდილოეთ ამერიკის წყნარი ოკეანის სტანდარტული დრო", "AST": "ატლანტიკის ოკეანის სტანდარტული დრო", "CST": "ჩრდილოეთ ამერიკის ცენტრალური სტანდარტული დრო", "AWDT": "დასავლეთ ავსტრალიის ზაფხულის დრო", "∅∅∅": "ბრაზილიის ზაფხულის დრო", "COT": "კოლუმბიის სტანდარტული დრო", "PDT": "ჩრდილოეთ ამერიკის წყნარი ოკეანის ზაფხულის დრო", "TMT": "თურქმენეთის სტანდარტული დრო", "EST": "ჩრდილოეთ ამერიკის აღმოსავლეთის სტანდარტული დრო", "HNT": "ნიუფაუნდლენდის სტანდარტული დრო", "JDT": "იაპონიის ზაფხულის დრო", "MEZ": "ცენტრალური ევროპის სტანდარტული დრო", "HADT": "ჰავაის და ალეუტის ზაფხულის დრო", "AEST": "აღმოსავლეთ ავსტრალიის სტანდარტული დრო", "HAT": "ნიუფაუნდლენდის ზაფხულის დრო", "LHDT": "ლორდ-ჰაუს ზაფხულის დრო", "UYST": "ურუგვაის ზაფხულის დრო", "ACDT": "ავსტრალიის ცენტრალური ზაფხულის დრო", "ADT": "ატლანტიკის ოკეანის ზაფხულის დრო", "MDT": "ჩრდილოეთ ამერიკის მაუნთინის ზაფხულის დრო", "MYT": "მალაიზიის დრო", "NZST": "ახალი ზელანდიის სტანდარტული დრო", "GFT": "საფრანგეთის გვიანის დრო", "ECT": "ეკვადორის დრო", "WARST": "დასავლეთ არგენტინის ზაფხულის დრო", "HKST": "ჰონკონგის ზაფხულის დრო", "ACST": "ავსტრალიის ცენტრალური სტანდარტული დრო", "AKDT": "ალასკას ზაფხულის დრო", "JST": "იაპონიის სტანდარტული დრო", "COST": "კოლუმბიის ზაფხულის დრო", "EAT": "აღმოსავლეთ აფრიკის დრო", "BOT": "ბოლივიის დრო", "ACWDT": "ცენტრალური და დასავლეთ ავსტრალიის ზაფხულის დრო", "ARST": "არგენტინის ზაფხულის დრო", "AKST": "ალასკას სტანდარტული დრო", "MST": "ჩრდილოეთ ამერიკის მაუნთინის სტანდარტული დრო", "NZDT": "ახალი ზელანდიის ზაფხულის დრო", "CLT": "ჩილეს სტანდარტული დრო", "ACWST": "ცენტრალური და დასავლეთ ავსტრალიის სტანდარტული დრო", "AEDT": "აღმოსავლეთ ავსტრალიის ზაფხულის დრო", "IST": "ინდოეთის დრო", "GYT": "გაიანის დრო", "HAST": "ჰავაის და ალეუტის სტანდარტული დრო", "CLST": "ჩილეს ზაფხულის დრო", "BT": "ბუტანის დრო", "SRT": "სურინამის დრო", "OESZ": "აღმოსავლეთ ევროპის ზაფხულის დრო", "WART": "დასავლეთ არგენტინის სტანდარტული დრო", "EDT": "ჩრდილოეთ ამერიკის აღმოსავლეთის ზაფხულის დრო", "TMST": "თურქმენეთის ზაფხულის დრო", "AWST": "დასავლეთ ავსტრალიის სტანდარტული დრო", "LHST": "ლორდ-ჰაუს სტანდარტული დრო", "UYT": "ურუგვაის სტანდარტული დრო", "HKT": "ჰონკონგის სტანდარტული დრო", "SGT": "სინგაპურის დრო", "WIB": "დასავლეთ ინდონეზიის დრო", "ChST": "ჩამოროს დრო", "CAT": "ცენტრალური აფრიკის დრო", "GMT": "გრინვიჩის საშუალო დრო", "WESZ": "დასავლეთ ევროპის ზაფხულის დრო", "SAST": "სამხრეთ აფრიკის დრო", "WIT": "აღმოსავლეთ ინდონეზიის დრო", "CHADT": "ჩატემის ზაფხულის დრო", "ART": "არგენტინის სტანდარტული დრო", "WAST": "დასავლეთ აფრიკის ზაფხულის დრო", "WITA": "ცენტრალური ინდონეზიის დრო", "CDT": "ჩრდილოეთ ამერიკის ცენტრალური ზაფხულის დრო", "OEZ": "აღმოსავლეთ ევროპის სტანდარტული დრო", "WEZ": "დასავლეთ ევროპის სტანდარტული დრო", "CHAST": "ჩატემის სტანდარტული დრო", "MESZ": "ცენტრალური ევროპის ზაფხულის დრო", "WAT": "დასავლეთ აფრიკის სტანდარტული დრო"}, + timezones: map[string]string{"WEZ": "დასავლეთ ევროპის სტანდარტული დრო", "HNT": "ნიუფაუნდლენდის სტანდარტული დრო", "AEDT": "აღმოსავლეთ ავსტრალიის ზაფხულის დრო", "OEZ": "აღმოსავლეთ ევროპის სტანდარტული დრო", "WART": "დასავლეთ არგენტინის სტანდარტული დრო", "WARST": "დასავლეთ არგენტინის ზაფხულის დრო", "HEPMX": "მექსიკის წყნარი ოკეანის ზაფხულის დრო", "AST": "ატლანტიკის ოკეანის სტანდარტული დრო", "UYT": "ურუგვაის სტანდარტული დრო", "HNPM": "სენ-პიერის და მიკელონის სტანდარტული დრო", "SGT": "სინგაპურის დრო", "HNCU": "კუბის სტანდარტული დრო", "UYST": "ურუგვაის ზაფხულის დრო", "BT": "ბუტანის დრო", "HEOG": "დასავლეთ გრენლანდიის ზაფხულის დრო", "CLT": "ჩილეს სტანდარტული დრო", "CLST": "ჩილეს ზაფხულის დრო", "HNEG": "აღმოსავლეთ გრენლანდიის სტანდარტული დრო", "TMST": "თურქმენეთის ზაფხულის დრო", "SRT": "სურინამის დრო", "MESZ": "ცენტრალური ევროპის ზაფხულის დრო", "CHADT": "ჩატემის ზაფხულის დრო", "ACST": "ავსტრალიის ცენტრალური სტანდარტული დრო", "PDT": "ჩრდილოეთ ამერიკის წყნარი ოკეანის ზაფხულის დრო", "AWST": "დასავლეთ ავსტრალიის სტანდარტული დრო", "HKT": "ჰონკონგის სტანდარტული დრო", "EAT": "აღმოსავლეთ აფრიკის დრო", "WAT": "დასავლეთ აფრიკის სტანდარტული დრო", "HENOMX": "ჩრდილო-დასავლეთ მექსიკის ზაფხულის დრო", "MDT": "ჩრდილოეთ ამერიკის მაუნთინის ზაფხულის დრო", "ARST": "არგენტინის ზაფხულის დრო", "HEPM": "სენ-პიერის და მიკელონის ზაფხულის დრო", "MEZ": "ცენტრალური ევროპის სტანდარტული დრო", "BOT": "ბოლივიის დრო", "MST": "ჩრდილოეთ ამერიკის მაუნთინის სტანდარტული დრო", "WIT": "აღმოსავლეთ ინდონეზიის დრო", "IST": "ინდოეთის დრო", "JST": "იაპონიის სტანდარტული დრო", "ChST": "ჩამოროს დრო", "EST": "ჩრდილოეთ ამერიკის აღმოსავლეთის სტანდარტული დრო", "ECT": "ეკვადორის დრო", "AKST": "ალასკის სტანდარტული დრო", "CDT": "ჩრდილოეთ ამერიკის ცენტრალური ზაფხულის დრო", "GYT": "გაიანის დრო", "PST": "ჩრდილოეთ ამერიკის წყნარი ოკეანის სტანდარტული დრო", "ACWDT": "ცენტრალური და დასავლეთ ავსტრალიის ზაფხულის დრო", "LHDT": "ლორდ-ჰაუს ზაფხულის დრო", "TMT": "თურქმენეთის სტანდარტული დრო", "VET": "ვენესუელის დრო", "AWDT": "დასავლეთ ავსტრალიის ზაფხულის დრო", "WITA": "ცენტრალური ინდონეზიის დრო", "HNNOMX": "ჩრდილო-დასავლეთ მექსიკის დრო", "ADT": "ატლანტიკის ოკეანის ზაფხულის დრო", "NZST": "ახალი ზელანდიის სტანდარტული დრო", "SAST": "სამხრეთ აფრიკის დრო", "ACDT": "ავსტრალიის ცენტრალური ზაფხულის დრო", "CST": "ჩრდილოეთ ამერიკის ცენტრალური სტანდარტული დრო", "HAST": "ჰავაისა და ალეუტის სტანდარტული დრო", "HADT": "ჰავაისა და ალეუტის ზაფხულის დრო", "LHST": "ლორდ-ჰაუს სტანდარტული დრო", "HEEG": "აღმოსავლეთ გრენლანდიის ზაფხულის დრო", "GFT": "საფრანგეთის გვიანის დრო", "HECU": "კუბის ზაფხულის დრო", "COST": "კოლუმბიის ზაფხულის დრო", "MYT": "მალაიზიის დრო", "ART": "არგენტინის სტანდარტული დრო", "CHAST": "ჩატემის სტანდარტული დრო", "WAST": "დასავლეთ აფრიკის ზაფხულის დრო", "AKDT": "ალასკის ზაფხულის დრო", "WESZ": "დასავლეთ ევროპის ზაფხულის დრო", "ACWST": "ცენტრალური და დასავლეთ ავსტრალიის სტანდარტული დრო", "HAT": "ნიუფაუნდლენდის ზაფხულის დრო", "HKST": "ჰონკონგის ზაფხულის დრო", "JDT": "იაპონიის ზაფხულის დრო", "CAT": "ცენტრალური აფრიკის დრო", "OESZ": "აღმოსავლეთ ევროპის ზაფხულის დრო", "HNOG": "დასავლეთ გრენლანდიის სტანდარტული დრო", "AEST": "აღმოსავლეთ ავსტრალიის სტანდარტული დრო", "NZDT": "ახალი ზელანდიის ზაფხულის დრო", "∅∅∅": "ამაზონიის ზაფხულის დრო", "COT": "კოლუმბიის სტანდარტული დრო", "EDT": "ჩრდილოეთ ამერიკის აღმოსავლეთის ზაფხულის დრო", "HNPMX": "მექსიკის წყნარი ოკეანის სტანდარტული დრო", "WIB": "დასავლეთ ინდონეზიის დრო", "GMT": "გრინვიჩის საშუალო დრო"}, } } @@ -451,7 +451,12 @@ func (ka *ka) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -465,7 +470,12 @@ func (ka *ka) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,12 @@ func (ka *ka) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ka_GE/ka_GE.go b/ka_GE/ka_GE.go index ed3be9229..5a0f9d1e1 100644 --- a/ka_GE/ka_GE.go +++ b/ka_GE/ka_GE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ძვ. წ.", "ახ. წ."}, erasNarrow: []string{"", ""}, erasWide: []string{"ძველი წელთაღრიცხვით", "ახალი წელთაღრიცხვით"}, - timezones: map[string]string{"PST": "ჩრდილოეთ ამერიკის წყნარი ოკეანის სტანდარტული დრო", "∅∅∅": "აზორის კუნძულების ზაფხულის დრო", "CHADT": "ჩატემის ზაფხულის დრო", "WART": "დასავლეთ არგენტინის სტანდარტული დრო", "ChST": "ჩამოროს დრო", "COT": "კოლუმბიის სტანდარტული დრო", "MESZ": "ცენტრალური ევროპის ზაფხულის დრო", "IST": "ინდოეთის დრო", "TMT": "თურქმენეთის სტანდარტული დრო", "HAT": "ნიუფაუნდლენდის ზაფხულის დრო", "WEZ": "დასავლეთ ევროპის სტანდარტული დრო", "ACWST": "ცენტრალური და დასავლეთ ავსტრალიის სტანდარტული დრო", "BT": "ბუტანის დრო", "GFT": "საფრანგეთის გვიანის დრო", "ACST": "ავსტრალიის ცენტრალური სტანდარტული დრო", "COST": "კოლუმბიის ზაფხულის დრო", "LHDT": "ლორდ-ჰაუს ზაფხულის დრო", "OEZ": "აღმოსავლეთ ევროპის სტანდარტული დრო", "JDT": "იაპონიის ზაფხულის დრო", "MEZ": "ცენტრალური ევროპის სტანდარტული დრო", "CST": "ჩრდილოეთ ამერიკის ცენტრალური სტანდარტული დრო", "CDT": "ჩრდილოეთ ამერიკის ცენტრალური ზაფხულის დრო", "UYT": "ურუგვაის სტანდარტული დრო", "UYST": "ურუგვაის ზაფხულის დრო", "HAST": "ჰავაის და ალეუტის სტანდარტული დრო", "AEST": "აღმოსავლეთ ავსტრალიის სტანდარტული დრო", "EAT": "აღმოსავლეთ აფრიკის დრო", "LHST": "ლორდ-ჰაუს სტანდარტული დრო", "OESZ": "აღმოსავლეთ ევროპის ზაფხულის დრო", "SGT": "სინგაპურის დრო", "ARST": "არგენტინის ზაფხულის დრო", "CAT": "ცენტრალური აფრიკის დრო", "JST": "იაპონიის სტანდარტული დრო", "ECT": "ეკვადორის დრო", "AEDT": "აღმოსავლეთ ავსტრალიის ზაფხულის დრო", "GYT": "გაიანის დრო", "AWST": "დასავლეთ ავსტრალიის სტანდარტული დრო", "HNT": "ნიუფაუნდლენდის სტანდარტული დრო", "ACWDT": "ცენტრალური და დასავლეთ ავსტრალიის ზაფხულის დრო", "AKST": "ალასკას სტანდარტული დრო", "AKDT": "ალასკას ზაფხულის დრო", "EDT": "ჩრდილოეთ ამერიკის აღმოსავლეთის ზაფხულის დრო", "WITA": "ცენტრალური ინდონეზიის დრო", "HKT": "ჰონკონგის სტანდარტული დრო", "WIB": "დასავლეთ ინდონეზიის დრო", "EST": "ჩრდილოეთ ამერიკის აღმოსავლეთის სტანდარტული დრო", "MYT": "მალაიზიის დრო", "NZST": "ახალი ზელანდიის სტანდარტული დრო", "CLT": "ჩილეს სტანდარტული დრო", "PDT": "ჩრდილოეთ ამერიკის წყნარი ოკეანის ზაფხულის დრო", "MDT": "ჩრდილოეთ ამერიკის მაუნთინის ზაფხულის დრო", "CLST": "ჩილეს ზაფხულის დრო", "HKST": "ჰონკონგის ზაფხულის დრო", "HADT": "ჰავაის და ალეუტის ზაფხულის დრო", "ADT": "ატლანტიკის ოკეანის ზაფხულის დრო", "WAT": "დასავლეთ აფრიკის სტანდარტული დრო", "BOT": "ბოლივიის დრო", "WESZ": "დასავლეთ ევროპის ზაფხულის დრო", "VET": "ვენესუელის დრო", "SAST": "სამხრეთ აფრიკის დრო", "MST": "ჩრდილოეთ ამერიკის მაუნთინის სტანდარტული დრო", "NZDT": "ახალი ზელანდიის ზაფხულის დრო", "CHAST": "ჩატემის სტანდარტული დრო", "AST": "ატლანტიკის ოკეანის სტანდარტული დრო", "WAST": "დასავლეთ აფრიკის ზაფხულის დრო", "WIT": "აღმოსავლეთ ინდონეზიის დრო", "GMT": "გრინვიჩის საშუალო დრო", "WARST": "დასავლეთ არგენტინის ზაფხულის დრო", "ART": "არგენტინის სტანდარტული დრო", "TMST": "თურქმენეთის ზაფხულის დრო", "AWDT": "დასავლეთ ავსტრალიის ზაფხულის დრო", "SRT": "სურინამის დრო", "ACDT": "ავსტრალიის ცენტრალური ზაფხულის დრო"}, + timezones: map[string]string{"CHADT": "ჩატემის ზაფხულის დრო", "WAT": "დასავლეთ აფრიკის სტანდარტული დრო", "BT": "ბუტანის დრო", "HNOG": "დასავლეთ გრენლანდიის სტანდარტული დრო", "HECU": "კუბის ზაფხულის დრო", "CLT": "ჩილეს სტანდარტული დრო", "GFT": "საფრანგეთის გვიანის დრო", "ACWDT": "ცენტრალური და დასავლეთ ავსტრალიის ზაფხულის დრო", "ART": "არგენტინის სტანდარტული დრო", "SAST": "სამხრეთ აფრიკის დრო", "ACDT": "ავსტრალიის ცენტრალური ზაფხულის დრო", "COT": "კოლუმბიის სტანდარტული დრო", "CST": "ჩრდილოეთ ამერიკის ცენტრალური სტანდარტული დრო", "SRT": "სურინამის დრო", "PST": "ჩრდილოეთ ამერიკის წყნარი ოკეანის სტანდარტული დრო", "CDT": "ჩრდილოეთ ამერიკის ცენტრალური ზაფხულის დრო", "HAST": "ჰავაისა და ალეუტის სტანდარტული დრო", "HKST": "ჰონკონგის ზაფხულის დრო", "WITA": "ცენტრალური ინდონეზიის დრო", "NZST": "ახალი ზელანდიის სტანდარტული დრო", "IST": "ინდოეთის დრო", "EAT": "აღმოსავლეთ აფრიკის დრო", "HENOMX": "ჩრდილო-დასავლეთ მექსიკის ზაფხულის დრო", "MDT": "ჩრდილოეთ ამერიკის მაუნთინის ზაფხულის დრო", "HADT": "ჰავაისა და ალეუტის ზაფხულის დრო", "MEZ": "ცენტრალური ევროპის სტანდარტული დრო", "CHAST": "ჩატემის სტანდარტული დრო", "ECT": "ეკვადორის დრო", "HNPMX": "მექსიკის წყნარი ოკეანის სტანდარტული დრო", "AST": "ატლანტიკის ოკეანის სტანდარტული დრო", "MST": "ჩრდილოეთ ამერიკის მაუნთინის სტანდარტული დრო", "VET": "ვენესუელის დრო", "WAST": "დასავლეთ აფრიკის ზაფხულის დრო", "HNNOMX": "ჩრდილო-დასავლეთ მექსიკის დრო", "AKST": "ალასკის სტანდარტული დრო", "AKDT": "ალასკის ზაფხულის დრო", "WESZ": "დასავლეთ ევროპის ზაფხულის დრო", "MESZ": "ცენტრალური ევროპის ზაფხულის დრო", "WARST": "დასავლეთ არგენტინის ზაფხულის დრო", "HEPMX": "მექსიკის წყნარი ოკეანის ზაფხულის დრო", "UYT": "ურუგვაის სტანდარტული დრო", "WIT": "აღმოსავლეთ ინდონეზიის დრო", "HEEG": "აღმოსავლეთ გრენლანდიის ზაფხულის დრო", "ACST": "ავსტრალიის ცენტრალური სტანდარტული დრო", "ADT": "ატლანტიკის ოკეანის ზაფხულის დრო", "WEZ": "დასავლეთ ევროპის სტანდარტული დრო", "JDT": "იაპონიის ზაფხულის დრო", "AWST": "დასავლეთ ავსტრალიის სტანდარტული დრო", "LHDT": "ლორდ-ჰაუს ზაფხულის დრო", "∅∅∅": "ამაზონიის ზაფხულის დრო", "JST": "იაპონიის სტანდარტული დრო", "HNEG": "აღმოსავლეთ გრენლანდიის სტანდარტული დრო", "COST": "კოლუმბიის ზაფხულის დრო", "GMT": "გრინვიჩის საშუალო დრო", "HNPM": "სენ-პიერის და მიკელონის სტანდარტული დრო", "LHST": "ლორდ-ჰაუს სტანდარტული დრო", "UYST": "ურუგვაის ზაფხულის დრო", "HNCU": "კუბის სტანდარტული დრო", "EST": "ჩრდილოეთ ამერიკის აღმოსავლეთის სტანდარტული დრო", "ChST": "ჩამოროს დრო", "OEZ": "აღმოსავლეთ ევროპის სტანდარტული დრო", "OESZ": "აღმოსავლეთ ევროპის ზაფხულის დრო", "ACWST": "ცენტრალური და დასავლეთ ავსტრალიის სტანდარტული დრო", "CLST": "ჩილეს ზაფხულის დრო", "HKT": "ჰონკონგის სტანდარტული დრო", "HEPM": "სენ-პიერის და მიკელონის ზაფხულის დრო", "WART": "დასავლეთ არგენტინის სტანდარტული დრო", "GYT": "გაიანის დრო", "MYT": "მალაიზიის დრო", "WIB": "დასავლეთ ინდონეზიის დრო", "ARST": "არგენტინის ზაფხულის დრო", "HEOG": "დასავლეთ გრენლანდიის ზაფხულის დრო", "AEDT": "აღმოსავლეთ ავსტრალიის ზაფხულის დრო", "NZDT": "ახალი ზელანდიის ზაფხულის დრო", "BOT": "ბოლივიის დრო", "TMT": "თურქმენეთის სტანდარტული დრო", "PDT": "ჩრდილოეთ ამერიკის წყნარი ოკეანის ზაფხულის დრო", "HNT": "ნიუფაუნდლენდის სტანდარტული დრო", "AWDT": "დასავლეთ ავსტრალიის ზაფხულის დრო", "TMST": "თურქმენეთის ზაფხულის დრო", "CAT": "ცენტრალური აფრიკის დრო", "SGT": "სინგაპურის დრო", "EDT": "ჩრდილოეთ ამერიკის აღმოსავლეთის ზაფხულის დრო", "HAT": "ნიუფაუნდლენდის ზაფხულის დრო", "AEST": "აღმოსავლეთ ავსტრალიის სტანდარტული დრო"}, } } @@ -451,7 +451,12 @@ func (ka *ka_GE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -465,7 +470,12 @@ func (ka *ka_GE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -486,7 +496,12 @@ func (ka *ka_GE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ka.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kab/kab.go b/kab/kab.go index c736f281e..0b6e9e29c 100644 --- a/kab/kab.go +++ b/kab/kab.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DA", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DA", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Yen", "Fur", "Meɣ", "Yeb", "May", "Yun", "Yul", "Ɣuc", "Cte", "Tub", "Nun", "Duǧ"}, monthsNarrow: []string{"", "Y", "F", "M", "Y", "M", "Y", "Y", "Ɣ", "C", "T", "N", "D"}, monthsWide: []string{"", "Yennayer", "Fuṛar", "Meɣres", "Yebrir", "Mayyu", "Yunyu", "Yulyu", "Ɣuct", "Ctembeṛ", "Tubeṛ", "Nunembeṛ", "Duǧembeṛ"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"snd. T.Ɛ", "sld. T.Ɛ"}, erasNarrow: []string{"", ""}, erasWide: []string{"send talalit n Ɛisa", "seld talalit n Ɛisa"}, - timezones: map[string]string{"GMT": "GMT", "MESZ": "MESZ", "COST": "COST", "WARST": "WARST", "MDT": "MDT", "MYT": "MYT", "NZST": "NZST", "WIT": "WIT", "LHST": "LHST", "CHADT": "CHADT", "PST": "PST", "TMT": "TMT", "AKST": "AKST", "AKDT": "AKDT", "CST": "CST", "BT": "BT", "MEZ": "MEZ", "ARST": "ARST", "EDT": "EDT", "SAST": "SAST", "CAT": "CAT", "ADT": "ADT", "IST": "IST", "JST": "JST", "HKST": "HKST", "ACST": "ACST", "HNT": "HNT", "WESZ": "WESZ", "∅∅∅": "∅∅∅", "GFT": "GFT", "ART": "ART", "EAT": "EAT", "WAT": "WAT", "SGT": "SGT", "WAST": "WAST", "WEZ": "WEZ", "PDT": "PDT", "MST": "MST", "NZDT": "NZDT", "WITA": "WITA", "ChST": "ChST", "SRT": "SRT", "OESZ": "OESZ", "HAST": "HAST", "ACWST": "ACWST", "AEDT": "AEDT", "AWDT": "AWDT", "WIB": "WIB", "HADT": "HADT", "BOT": "BOT", "OEZ": "OEZ", "ECT": "ECT", "WART": "WART", "EST": "EST", "GYT": "GYT", "AST": "AST", "CLST": "CLST", "LHDT": "LHDT", "CHAST": "CHAST", "VET": "VET", "ACDT": "ACDT", "UYST": "UYST", "JDT": "JDT", "ACWDT": "ACWDT", "CDT": "CDT", "HAT": "HAT", "UYT": "UYT", "HKT": "HKT", "COT": "COT", "AEST": "AEST", "AWST": "AWST", "CLT": "CLT", "TMST": "TMST"}, + timezones: map[string]string{"EAT": "EAT", "ECT": "ECT", "MYT": "MYT", "BT": "BT", "HNT": "HNT", "GFT": "GFT", "CAT": "CAT", "CHADT": "CHADT", "TMT": "TMT", "COST": "COST", "MST": "MST", "VET": "VET", "SRT": "SRT", "PDT": "PDT", "WITA": "WITA", "EDT": "EDT", "CDT": "CDT", "HADT": "HADT", "WESZ": "WESZ", "LHDT": "LHDT", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "BOT": "BOT", "ACDT": "ACDT", "OESZ": "OESZ", "WARST": "WARST", "COT": "COT", "ACST": "ACST", "UYT": "UYT", "UYST": "UYST", "HNOG": "HNOG", "ARST": "ARST", "JST": "JST", "AWDT": "AWDT", "HKST": "HKST", "WAT": "WAT", "EST": "EST", "AKDT": "AKDT", "ADT": "ADT", "HAST": "HAST", "AEST": "AEST", "WART": "WART", "CLT": "CLT", "WAST": "WAST", "GMT": "GMT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "AWST": "AWST", "MEZ": "MEZ", "GYT": "GYT", "NZDT": "NZDT", "HENOMX": "HENOMX", "HECU": "HECU", "AKST": "AKST", "LHST": "LHST", "SAST": "SAST", "TMST": "TMST", "SGT": "SGT", "HEPM": "HEPM", "MESZ": "MESZ", "HNCU": "HNCU", "PST": "PST", "ACWST": "ACWST", "IST": "IST", "CST": "CST", "HEOG": "HEOG", "ART": "ART", "CHAST": "CHAST", "AST": "AST", "WIT": "WIT", "NZST": "NZST", "CLST": "CLST", "HEEG": "HEEG", "HKT": "HKT", "JDT": "JDT", "HNEG": "HNEG", "MDT": "MDT", "HNPMX": "HNPMX", "WIB": "WIB", "HAT": "HAT", "AEDT": "AEDT", "HEPMX": "HEPMX", "ACWDT": "ACWDT", "HNPM": "HNPM", "ChST": "ChST"}, } } @@ -321,7 +321,12 @@ func (kab *kab) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -335,7 +340,12 @@ func (kab *kab) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +359,12 @@ func (kab *kab) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +380,12 @@ func (kab *kab) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kab_DZ/kab_DZ.go b/kab_DZ/kab_DZ.go index 557f92c66..64488f628 100644 --- a/kab_DZ/kab_DZ.go +++ b/kab_DZ/kab_DZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Yen", "Fur", "Meɣ", "Yeb", "May", "Yun", "Yul", "Ɣuc", "Cte", "Tub", "Nun", "Duǧ"}, monthsNarrow: []string{"", "Y", "F", "M", "Y", "M", "Y", "Y", "Ɣ", "C", "T", "N", "D"}, monthsWide: []string{"", "Yennayer", "Fuṛar", "Meɣres", "Yebrir", "Mayyu", "Yunyu", "Yulyu", "Ɣuct", "Ctembeṛ", "Tubeṛ", "Nunembeṛ", "Duǧembeṛ"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"snd. T.Ɛ", "sld. T.Ɛ"}, erasNarrow: []string{"", ""}, erasWide: []string{"send talalit n Ɛisa", "seld talalit n Ɛisa"}, - timezones: map[string]string{"CHAST": "CHAST", "ACDT": "ACDT", "UYT": "UYT", "JST": "JST", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "ACST": "ACST", "ECT": "ECT", "BT": "BT", "CAT": "CAT", "GMT": "GMT", "HKT": "HKT", "SGT": "SGT", "EAT": "EAT", "HNT": "HNT", "OESZ": "OESZ", "COST": "COST", "MEZ": "MEZ", "SAST": "SAST", "IST": "IST", "EST": "EST", "GYT": "GYT", "WIT": "WIT", "HAST": "HAST", "PST": "PST", "AST": "AST", "MYT": "MYT", "ACWST": "ACWST", "LHDT": "LHDT", "CHADT": "CHADT", "ART": "ART", "CLT": "CLT", "SRT": "SRT", "MESZ": "MESZ", "WART": "WART", "TMST": "TMST", "NZST": "NZST", "JDT": "JDT", "LHST": "LHST", "WAST": "WAST", "BOT": "BOT", "AWDT": "AWDT", "CDT": "CDT", "CLST": "CLST", "AEDT": "AEDT", "WESZ": "WESZ", "COT": "COT", "WIB": "WIB", "AEST": "AEST", "ARST": "ARST", "WITA": "WITA", "UYST": "UYST", "HKST": "HKST", "WARST": "WARST", "WAT": "WAT", "AKST": "AKST", "MST": "MST", "MDT": "MDT", "ChST": "ChST", "AWST": "AWST", "CST": "CST", "TMT": "TMT", "EDT": "EDT", "NZDT": "NZDT", "VET": "VET", "GFT": "GFT", "OEZ": "OEZ", "HADT": "HADT", "AKDT": "AKDT", "PDT": "PDT", "HAT": "HAT", "ADT": "ADT", "ACWDT": "ACWDT"}, + timezones: map[string]string{"WESZ": "WESZ", "OEZ": "OEZ", "AKST": "AKST", "HADT": "HADT", "HEPMX": "HEPMX", "ACST": "ACST", "HECU": "HECU", "HNPMX": "HNPMX", "TMT": "TMT", "SRT": "SRT", "AST": "AST", "JST": "JST", "JDT": "JDT", "TMST": "TMST", "HAST": "HAST", "SAST": "SAST", "HNCU": "HNCU", "MST": "MST", "EST": "EST", "MYT": "MYT", "PST": "PST", "COST": "COST", "MDT": "MDT", "WIB": "WIB", "WIT": "WIT", "ART": "ART", "ACDT": "ACDT", "HKST": "HKST", "WITA": "WITA", "IST": "IST", "BOT": "BOT", "EAT": "EAT", "COT": "COT", "WARST": "WARST", "HKT": "HKT", "CDT": "CDT", "MEZ": "MEZ", "GMT": "GMT", "HNT": "HNT", "AEST": "AEST", "HNEG": "HNEG", "HEEG": "HEEG", "ChST": "ChST", "GYT": "GYT", "UYT": "UYT", "HEPM": "HEPM", "LHST": "LHST", "NZDT": "NZDT", "WAST": "WAST", "ECT": "ECT", "CAT": "CAT", "AKDT": "AKDT", "HEOG": "HEOG", "AEDT": "AEDT", "WART": "WART", "SGT": "SGT", "ACWST": "ACWST", "GFT": "GFT", "CLT": "CLT", "WAT": "WAT", "HNNOMX": "HNNOMX", "VET": "VET", "BT": "BT", "HNOG": "HNOG", "PDT": "PDT", "NZST": "NZST", "LHDT": "LHDT", "CHADT": "CHADT", "HENOMX": "HENOMX", "EDT": "EDT", "UYST": "UYST", "ACWDT": "ACWDT", "AWDT": "AWDT", "HNPM": "HNPM", "CLST": "CLST", "ADT": "ADT", "HAT": "HAT", "ARST": "ARST", "AWST": "AWST", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "CST": "CST", "WEZ": "WEZ", "CHAST": "CHAST"}, } } @@ -321,7 +321,12 @@ func (kab *kab_DZ) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -335,7 +340,12 @@ func (kab *kab_DZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +359,12 @@ func (kab *kab_DZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +380,12 @@ func (kab *kab_DZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kab.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kam/kam.go b/kam/kam.go index 93769ae31..f4d44122a 100644 --- a/kam/kam.go +++ b/kam/kam.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mbe", "Kel", "Ktũ", "Kan", "Ktn", "Tha", "Moo", "Nya", "Knd", "Ĩku", "Ĩkm", "Ĩkl"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MY", "IY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbee wa Yesũ", "Ĩtina wa Yesũ"}, - timezones: map[string]string{"WARST": "WARST", "MST": "MST", "ChST": "ChST", "LHST": "LHST", "ACST": "ACST", "CST": "CST", "CLT": "CLT", "WESZ": "WESZ", "CHADT": "CHADT", "ART": "ART", "WITA": "WITA", "JST": "JST", "HKT": "HKT", "CHAST": "CHAST", "HADT": "HADT", "EDT": "EDT", "ADT": "ADT", "SAST": "SAST", "TMT": "TMT", "AWDT": "AWDT", "OEZ": "OEZ", "SGT": "SGT", "ACWDT": "ACWDT", "AWST": "AWST", "CAT": "CAT", "∅∅∅": "∅∅∅", "WAST": "WAST", "MDT": "MDT", "BOT": "BOT", "HKST": "HKST", "MESZ": "MESZ", "AEDT": "AEDT", "MYT": "MYT", "NZDT": "NZDT", "HAT": "HAT", "JDT": "JDT", "WIB": "WIB", "MEZ": "MEZ", "ACWST": "ACWST", "CDT": "CDT", "NZST": "NZST", "CLST": "CLST", "UYT": "UYT", "WAT": "WAT", "AKDT": "AKDT", "GYT": "GYT", "BT": "BT", "UYST": "UYST", "ECT": "ECT", "EAT": "EAT", "HNT": "HNT", "WIT": "WIT", "SRT": "SRT", "EST": "EST", "OESZ": "OESZ", "ACDT": "ACDT", "AEST": "AEST", "WART": "WART", "AST": "AST", "GMT": "GMT", "WEZ": "WEZ", "GFT": "GFT", "COST": "COST", "VET": "VET", "IST": "IST", "AKST": "AKST", "PST": "PST", "COT": "COT", "ARST": "ARST", "HAST": "HAST", "PDT": "PDT", "TMST": "TMST", "LHDT": "LHDT"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "ECT": "ECT", "WIB": "WIB", "HADT": "HADT", "MESZ": "MESZ", "SAST": "SAST", "JST": "JST", "HENOMX": "HENOMX", "IST": "IST", "CLT": "CLT", "HECU": "HECU", "GYT": "GYT", "WEZ": "WEZ", "HAT": "HAT", "ARST": "ARST", "AKST": "AKST", "AST": "AST", "HNEG": "HNEG", "TMT": "TMT", "WARST": "WARST", "HNPMX": "HNPMX", "UYT": "UYT", "HNNOMX": "HNNOMX", "VET": "VET", "AWST": "AWST", "NZST": "NZST", "PDT": "PDT", "WESZ": "WESZ", "WAST": "WAST", "OEZ": "OEZ", "COT": "COT", "COST": "COST", "CDT": "CDT", "SRT": "SRT", "TMST": "TMST", "EAT": "EAT", "WAT": "WAT", "WART": "WART", "HNPM": "HNPM", "AWDT": "AWDT", "HEPM": "HEPM", "ACST": "ACST", "ACDT": "ACDT", "MST": "MST", "MDT": "MDT", "BT": "BT", "AEDT": "AEDT", "LHST": "LHST", "GFT": "GFT", "SGT": "SGT", "HKST": "HKST", "BOT": "BOT", "CAT": "CAT", "HNCU": "HNCU", "EDT": "EDT", "HAST": "HAST", "UYST": "UYST", "MYT": "MYT", "WIT": "WIT", "ACWDT": "ACWDT", "HKT": "HKT", "ADT": "ADT", "PST": "PST", "ACWST": "ACWST", "ART": "ART", "HNOG": "HNOG", "LHDT": "LHDT", "CHADT": "CHADT", "CLST": "CLST", "ChST": "ChST", "HEEG": "HEEG", "AKDT": "AKDT", "CST": "CST", "CHAST": "CHAST", "HEPMX": "HEPMX", "HEOG": "HEOG", "AEST": "AEST", "WITA": "WITA", "NZDT": "NZDT", "JDT": "JDT", "OESZ": "OESZ", "GMT": "GMT", "EST": "EST", "HNT": "HNT", "MEZ": "MEZ"}, } } @@ -330,7 +330,12 @@ func (kam *kam) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kam *kam) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kam *kam) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kam *kam) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kam_KE/kam_KE.go b/kam_KE/kam_KE.go index e66ba639b..9f74ba6b0 100644 --- a/kam_KE/kam_KE.go +++ b/kam_KE/kam_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mbe", "Kel", "Ktũ", "Kan", "Ktn", "Tha", "Moo", "Nya", "Knd", "Ĩku", "Ĩkm", "Ĩkl"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MY", "IY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbee wa Yesũ", "Ĩtina wa Yesũ"}, - timezones: map[string]string{"UYT": "UYT", "GFT": "GFT", "VET": "VET", "AEDT": "AEDT", "PST": "PST", "ChST": "ChST", "MST": "MST", "WIT": "WIT", "LHDT": "LHDT", "MESZ": "MESZ", "AEST": "AEST", "IST": "IST", "PDT": "PDT", "ART": "ART", "MEZ": "MEZ", "HAST": "HAST", "ACWST": "ACWST", "ECT": "ECT", "COST": "COST", "ACDT": "ACDT", "CST": "CST", "CLT": "CLT", "GMT": "GMT", "GYT": "GYT", "ARST": "ARST", "HADT": "HADT", "ACWDT": "ACWDT", "HKT": "HKT", "HKST": "HKST", "TMST": "TMST", "BOT": "BOT", "CHAST": "CHAST", "NZST": "NZST", "HNT": "HNT", "JDT": "JDT", "ACST": "ACST", "SGT": "SGT", "EDT": "EDT", "AST": "AST", "EAT": "EAT", "ADT": "ADT", "SRT": "SRT", "WIB": "WIB", "AWDT": "AWDT", "OEZ": "OEZ", "WESZ": "WESZ", "WARST": "WARST", "WAT": "WAT", "CAT": "CAT", "BT": "BT", "UYST": "UYST", "OESZ": "OESZ", "EST": "EST", "SAST": "SAST", "TMT": "TMT", "CLST": "CLST", "JST": "JST", "AKST": "AKST", "WITA": "WITA", "CDT": "CDT", "AWST": "AWST", "WEZ": "WEZ", "WART": "WART", "WAST": "WAST", "MYT": "MYT", "HAT": "HAT", "CHADT": "CHADT", "COT": "COT", "AKDT": "AKDT", "MDT": "MDT", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "LHST": "LHST"}, + timezones: map[string]string{"WITA": "WITA", "LHST": "LHST", "HNCU": "HNCU", "HNPMX": "HNPMX", "CDT": "CDT", "HAST": "HAST", "WIT": "WIT", "HEOG": "HEOG", "∅∅∅": "∅∅∅", "HADT": "HADT", "HNT": "HNT", "ADT": "ADT", "HAT": "HAT", "HKST": "HKST", "LHDT": "LHDT", "CHADT": "CHADT", "GFT": "GFT", "EST": "EST", "MESZ": "MESZ", "CAT": "CAT", "GYT": "GYT", "PDT": "PDT", "HKT": "HKT", "CHAST": "CHAST", "ChST": "ChST", "TMST": "TMST", "EAT": "EAT", "COST": "COST", "UYT": "UYT", "HNOG": "HNOG", "HEPM": "HEPM", "HEEG": "HEEG", "ART": "ART", "ARST": "ARST", "AWST": "AWST", "NZST": "NZST", "HNEG": "HNEG", "ECT": "ECT", "WART": "WART", "WEZ": "WEZ", "IST": "IST", "CLT": "CLT", "ACDT": "ACDT", "WARST": "WARST", "AKST": "AKST", "PST": "PST", "AKDT": "AKDT", "AST": "AST", "ACWST": "ACWST", "WAT": "WAT", "COT": "COT", "SGT": "SGT", "HECU": "HECU", "MST": "MST", "CST": "CST", "VET": "VET", "ACWDT": "ACWDT", "AEST": "AEST", "AEDT": "AEDT", "MEZ": "MEZ", "BOT": "BOT", "WAST": "WAST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "BT": "BT", "AWDT": "AWDT", "CLST": "CLST", "JST": "JST", "TMT": "TMT", "OESZ": "OESZ", "EDT": "EDT", "WIB": "WIB", "SRT": "SRT", "WESZ": "WESZ", "HNPM": "HNPM", "NZDT": "NZDT", "SAST": "SAST", "ACST": "ACST", "OEZ": "OEZ", "UYST": "UYST", "JDT": "JDT", "GMT": "GMT", "MDT": "MDT", "HEPMX": "HEPMX", "MYT": "MYT"}, } } @@ -330,7 +330,12 @@ func (kam *kam_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kam *kam_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kam *kam_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kam *kam_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kam.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kde/kde.go b/kde/kde.go index 156e643a0..8f096365a 100644 --- a/kde/kde.go +++ b/kde/kde.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AY", "NY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Akanapawa Yesu", "Nankuida Yesu"}, - timezones: map[string]string{"SGT": "SGT", "AWST": "AWST", "LHST": "LHST", "VET": "VET", "HADT": "HADT", "ART": "ART", "AKST": "AKST", "NZDT": "NZDT", "AEDT": "AEDT", "WAST": "WAST", "MST": "MST", "NZST": "NZST", "HNT": "HNT", "CLST": "CLST", "HKT": "HKT", "CHAST": "CHAST", "GFT": "GFT", "COST": "COST", "WAT": "WAT", "IST": "IST", "BT": "BT", "CST": "CST", "CDT": "CDT", "UYST": "UYST", "ECT": "ECT", "ACWST": "ACWST", "ACWDT": "ACWDT", "AEST": "AEST", "CLT": "CLT", "SRT": "SRT", "AKDT": "AKDT", "ChST": "ChST", "BOT": "BOT", "AWDT": "AWDT", "LHDT": "LHDT", "UYT": "UYT", "WIB": "WIB", "ARST": "ARST", "WITA": "WITA", "COT": "COT", "ADT": "ADT", "CAT": "CAT", "GMT": "GMT", "OESZ": "OESZ", "HKST": "HKST", "ACST": "ACST", "JST": "JST", "WEZ": "WEZ", "TMST": "TMST", "∅∅∅": "∅∅∅", "PDT": "PDT", "TMT": "TMT", "MDT": "MDT", "HAST": "HAST", "WARST": "WARST", "EAT": "EAT", "SAST": "SAST", "PST": "PST", "AST": "AST", "MYT": "MYT", "HAT": "HAT", "JDT": "JDT", "OEZ": "OEZ", "WESZ": "WESZ", "ACDT": "ACDT", "GYT": "GYT", "CHADT": "CHADT", "WART": "WART", "EST": "EST", "MEZ": "MEZ", "MESZ": "MESZ", "EDT": "EDT", "WIT": "WIT"}, + timezones: map[string]string{"IST": "IST", "JST": "JST", "TMT": "TMT", "WART": "WART", "HNNOMX": "HNNOMX", "WIT": "WIT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "HNPMX": "HNPMX", "AST": "AST", "CST": "CST", "VET": "VET", "HENOMX": "HENOMX", "GYT": "GYT", "BT": "BT", "PST": "PST", "AEDT": "AEDT", "AWDT": "AWDT", "CLST": "CLST", "ECT": "ECT", "WIB": "WIB", "AWST": "AWST", "MYT": "MYT", "EAT": "EAT", "WAT": "WAT", "HEOG": "HEOG", "WEZ": "WEZ", "MESZ": "MESZ", "JDT": "JDT", "BOT": "BOT", "ACDT": "ACDT", "COST": "COST", "UYT": "UYT", "AEST": "AEST", "HEPM": "HEPM", "HEEG": "HEEG", "COT": "COT", "UYST": "UYST", "EDT": "EDT", "MDT": "MDT", "HNOG": "HNOG", "LHDT": "LHDT", "ChST": "ChST", "WAST": "WAST", "OESZ": "OESZ", "HNCU": "HNCU", "HKST": "HKST", "CHAST": "CHAST", "CLT": "CLT", "HADT": "HADT", "ART": "ART", "WESZ": "WESZ", "ACWDT": "ACWDT", "HECU": "HECU", "HEPMX": "HEPMX", "WITA": "WITA", "HNEG": "HNEG", "AKDT": "AKDT", "SRT": "SRT", "HNPM": "HNPM", "CHADT": "CHADT", "TMST": "TMST", "ACST": "ACST", "ADT": "ADT", "HNT": "HNT", "HAT": "HAT", "CDT": "CDT", "LHST": "LHST", "NZST": "NZST", "CAT": "CAT", "GMT": "GMT", "ARST": "ARST", "MEZ": "MEZ", "NZDT": "NZDT", "SAST": "SAST", "PDT": "PDT", "WARST": "WARST", "SGT": "SGT", "AKST": "AKST", "HAST": "HAST", "ACWST": "ACWST", "HKT": "HKT", "GFT": "GFT", "EST": "EST", "MST": "MST"}, } } @@ -330,7 +330,12 @@ func (kde *kde) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kde *kde) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kde *kde) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kde *kde) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kde_TZ/kde_TZ.go b/kde_TZ/kde_TZ.go index 8949a4a58..651593eab 100644 --- a/kde_TZ/kde_TZ.go +++ b/kde_TZ/kde_TZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AY", "NY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Akanapawa Yesu", "Nankuida Yesu"}, - timezones: map[string]string{"MESZ": "MESZ", "SGT": "SGT", "ACWDT": "ACWDT", "AEST": "AEST", "ART": "ART", "EST": "EST", "MDT": "MDT", "MYT": "MYT", "HKST": "HKST", "ECT": "ECT", "ACWST": "ACWST", "WARST": "WARST", "EDT": "EDT", "CLST": "CLST", "WESZ": "WESZ", "WIB": "WIB", "CDT": "CDT", "ChST": "ChST", "HAT": "HAT", "CLT": "CLT", "HADT": "HADT", "WART": "WART", "CAT": "CAT", "MEZ": "MEZ", "AEDT": "AEDT", "SAST": "SAST", "PDT": "PDT", "AST": "AST", "CST": "CST", "LHDT": "LHDT", "VET": "VET", "NZST": "NZST", "NZDT": "NZDT", "WIT": "WIT", "OESZ": "OESZ", "PST": "PST", "HNT": "HNT", "JDT": "JDT", "ACST": "ACST", "AKDT": "AKDT", "TMT": "TMT", "ACDT": "ACDT", "WAT": "WAT", "GYT": "GYT", "BOT": "BOT", "CHADT": "CHADT", "COST": "COST", "WAST": "WAST", "AKST": "AKST", "AWDT": "AWDT", "JST": "JST", "SRT": "SRT", "EAT": "EAT", "∅∅∅": "∅∅∅", "UYST": "UYST", "CHAST": "CHAST", "COT": "COT", "LHST": "LHST", "OEZ": "OEZ", "HAST": "HAST", "ADT": "ADT", "WITA": "WITA", "AWST": "AWST", "WEZ": "WEZ", "HKT": "HKT", "ARST": "ARST", "IST": "IST", "UYT": "UYT", "GFT": "GFT", "TMST": "TMST", "MST": "MST", "BT": "BT", "GMT": "GMT"}, + timezones: map[string]string{"ACDT": "ACDT", "HECU": "HECU", "MYT": "MYT", "CDT": "CDT", "WIB": "WIB", "BT": "BT", "BOT": "BOT", "GFT": "GFT", "JST": "JST", "EDT": "EDT", "PST": "PST", "HAT": "HAT", "AWDT": "AWDT", "HKST": "HKST", "CHADT": "CHADT", "HNNOMX": "HNNOMX", "SRT": "SRT", "NZST": "NZST", "ART": "ART", "HKT": "HKT", "UYT": "UYT", "HNPM": "HNPM", "WART": "WART", "MDT": "MDT", "AWST": "AWST", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "AEDT": "AEDT", "GYT": "GYT", "ADT": "ADT", "WESZ": "WESZ", "NZDT": "NZDT", "OEZ": "OEZ", "EST": "EST", "HENOMX": "HENOMX", "SGT": "SGT", "HNCU": "HNCU", "UYST": "UYST", "HAST": "HAST", "ACWST": "ACWST", "HNEG": "HNEG", "COT": "COT", "HEPM": "HEPM", "MESZ": "MESZ", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "WEZ": "WEZ", "LHST": "LHST", "ChST": "ChST", "TMST": "TMST", "ACST": "ACST", "GMT": "GMT", "MST": "MST", "ACWDT": "ACWDT", "CLST": "CLST", "HEEG": "HEEG", "TMT": "TMT", "HEOG": "HEOG", "AEST": "AEST", "WITA": "WITA", "CST": "CST", "HNOG": "HNOG", "COST": "COST", "AKST": "AKST", "WIT": "WIT", "WAT": "WAT", "OESZ": "OESZ", "ARST": "ARST", "IST": "IST", "LHDT": "LHDT", "CHAST": "CHAST", "SAST": "SAST", "JDT": "JDT", "EAT": "EAT", "AST": "AST", "HADT": "HADT", "VET": "VET", "HNT": "HNT", "CAT": "CAT", "AKDT": "AKDT", "WARST": "WARST", "PDT": "PDT", "CLT": "CLT", "WAST": "WAST", "ECT": "ECT"}, } } @@ -330,7 +330,12 @@ func (kde *kde_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kde *kde_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kde *kde_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kde *kde_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kde.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kea/kea.go b/kea/kea.go index 26e30e0fe..9ac927a6a 100644 --- a/kea/kea.go +++ b/kea/kea.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "\u200b", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "៛", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "₸", "₭", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "₮", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "\u200b", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "៛", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "₸", "₭", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "₮", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "DK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Antis di Kristu", "Dispos di Kristu"}, - timezones: map[string]string{"OESZ": "Ora di Verãu di Europa Oriental", "PDT": "Ora di Pasifiku di Verãu", "BOT": "BOT", "ACST": "Ora Padrãu di Australia Sentral", "ADT": "Ora di Verãu di Atlantiku", "EDT": "Ora Oriental di Verãu", "CLST": "CLST", "HKT": "HKT", "GFT": "GFT", "WIB": "WIB", "COT": "COT", "COST": "COST", "UYST": "UYST", "IST": "IST", "CAT": "Ora di Afrika Sentral", "WIT": "WIT", "CST": "Ora Sentral Padrãu", "GYT": "GYT", "∅∅∅": "∅∅∅", "OEZ": "Ora Padrãu di Europa Oriental", "SGT": "SGT", "HADT": "HADT", "WARST": "WARST", "SAST": "Ora di Sul di Afrika", "ChST": "ChST", "AWST": "Ora Padrãu di Australia Osidental", "SRT": "SRT", "VET": "VET", "ARST": "ARST", "EAT": "Ora di Afrika Oriental", "WAT": "Ora Padrãu di Afrika Osidental", "TMST": "TMST", "MST": "Ora di Montanha Padrãu", "HAT": "HAT", "ECT": "ECT", "EST": "Ora Oriental Padrãu", "WITA": "WITA", "JDT": "JDT", "WEZ": "Ora Padrãu di Europa Osidental", "ACWST": "Ora Padrãu di Australia Sentru-Osidental", "TMT": "TMT", "NZST": "NZST", "LHST": "LHST", "UYT": "UYT", "JST": "JST", "CHAST": "CHAST", "HAST": "HAST", "GMT": "GMT", "AEST": "Ora Padrãu di Australia Oriental", "AKST": "AKST", "HNT": "HNT", "CLT": "CLT", "HKST": "HKST", "MEZ": "Ora Padrãu di Europa Sentral", "NZDT": "NZDT", "ACWDT": "Ora di Verãu di Australia Sentru-Osidental", "AEDT": "Ora di Verãu di Australia Oriental", "PST": "Ora di Pasifiku Padrãu", "WAST": "Ora di Verão di Afrika Osidental", "AWDT": "Ora di Verãu di Australia Osidental", "LHDT": "LHDT", "MESZ": "Ora di Verãu di Europa Sentral", "CDT": "Ora Sentral di Verãu", "MDT": "Ora di Verãu di Montanha", "MYT": "MYT", "BT": "BT", "AKDT": "AKDT", "WESZ": "Ora di Verãu di Europa Osidental", "CHADT": "CHADT", "ACDT": "Ora di Verãu di Australia Sentral", "ART": "ART", "WART": "WART", "AST": "Ora Padrãu di Atlantiku"}, + timezones: map[string]string{"WAST": "Ora di Verão di Afrika Osidental", "CHADT": "CHADT", "CDT": "Ora Sentral di Verãu", "HKT": "HKT", "AEDT": "Ora di Verãu di Australia Oriental", "JST": "JST", "LHDT": "LHDT", "ECT": "ECT", "SGT": "SGT", "EST": "Ora Oriental Padrãu", "WEZ": "Ora Padrãu di Europa Osidental", "NZDT": "NZDT", "ACDT": "Ora di Verãu di Australia Sentral", "AST": "Ora Padrãu di Atlantiku", "ARST": "ARST", "COST": "COST", "ACWST": "Ora Padrãu di Australia Sentru-Osidental", "JDT": "JDT", "TMT": "TMT", "ACWDT": "Ora di Verãu di Australia Sentru-Osidental", "ART": "ART", "MESZ": "Ora di Verãu di Europa Sentral", "OESZ": "Ora di Verãu di Europa Oriental", "WARST": "WARST", "EDT": "Ora Oriental di Verãu", "ADT": "Ora di Verãu di Atlantiku", "HADT": "HADT", "HNEG": "HNEG", "WAT": "Ora Padrãu di Afrika Osidental", "AKDT": "AKDT", "HKST": "HKST", "WITA": "WITA", "AWST": "Ora Padrãu di Australia Osidental", "CLT": "CLT", "HEEG": "HEEG", "HNPMX": "HNPMX", "UYT": "UYT", "PST": "Ora di Pasifiku Padrãu", "WESZ": "Ora di Verãu di Europa Osidental", "HEPM": "HEPM", "MDT": "MDT", "VET": "VET", "CHAST": "CHAST", "GFT": "GFT", "CLST": "CLST", "OEZ": "Ora Padrãu di Europa Oriental", "COT": "COT", "MYT": "MYT", "HNOG": "HNOG", "PDT": "Ora di Pasifiku di Verãu", "AWDT": "Ora di Verãu di Australia Osidental", "TMST": "TMST", "ChST": "ChST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "AKST": "AKST", "CST": "Ora Sentral Padrãu", "UYST": "UYST", "HEOG": "HEOG", "AEST": "Ora Padrãu di Australia Oriental", "SAST": "Ora di Sul di Afrika", "HECU": "HECU", "GMT": "GMT", "WIT": "WIT", "SRT": "SRT", "HAT": "HAT", "BT": "BT", "LHST": "LHST", "ACST": "Ora Padrãu di Australia Sentral", "WART": "WART", "MST": "MST", "GYT": "GYT", "HAST": "HAST", "EAT": "Ora di Afrika Oriental", "HEPMX": "HEPMX", "HNPM": "HNPM", "NZST": "NZST", "CAT": "Ora di Afrika Sentral", "HNCU": "HNCU", "MEZ": "Ora Padrãu di Europa Sentral", "IST": "IST", "BOT": "BOT", "∅∅∅": "∅∅∅", "WIB": "WIB", "HNT": "HNT"}, } } @@ -391,7 +391,12 @@ func (kea *kea) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -405,7 +410,12 @@ func (kea *kea) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kea.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +431,12 @@ func (kea *kea) FmtDateLong(t time.Time) string { b = append(b, kea.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x69}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -439,7 +454,12 @@ func (kea *kea) FmtDateFull(t time.Time) string { b = append(b, kea.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x69}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kea_CV/kea_CV.go b/kea_CV/kea_CV.go index 3df387e2b..7c4c9f106 100644 --- a/kea_CV/kea_CV.go +++ b/kea_CV/kea_CV.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "DK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Antis di Kristu", "Dispos di Kristu"}, - timezones: map[string]string{"ACWST": "Ora Padrãu di Australia Sentru-Osidental", "MYT": "MYT", "NZDT": "NZDT", "JST": "JST", "COT": "COT", "AST": "Ora Padrãu di Atlantiku", "WITA": "WITA", "BOT": "BOT", "HAST": "HAST", "UYT": "UYT", "ACST": "Ora Padrãu di Australia Sentral", "AEST": "Ora Padrãu di Australia Oriental", "EDT": "Ora Oriental di Verãu", "EAT": "Ora di Afrika Oriental", "JDT": "JDT", "HKT": "HKT", "ECT": "ECT", "WIB": "WIB", "HADT": "HADT", "∅∅∅": "∅∅∅", "WARST": "WARST", "ART": "ART", "WAT": "Ora Padrãu di Afrika Osidental", "HNT": "HNT", "COST": "COST", "TMT": "TMT", "ChST": "ChST", "BT": "BT", "ADT": "Ora di Verãu di Atlantiku", "IST": "IST", "CDT": "Ora Sentral di Verãu", "NZST": "NZST", "MESZ": "Ora di Verãu di Europa Sentral", "AEDT": "Ora di Verãu di Australia Oriental", "AKST": "AKST", "EST": "Ora Oriental Padrãu", "LHST": "LHST", "WEZ": "Ora Padrãu di Europa Osidental", "CHADT": "CHADT", "CLST": "CLST", "AWST": "Ora Padrãu di Australia Osidental", "GMT": "GMT", "VET": "VET", "PST": "Ora di Pasifiku Padrãu", "WAST": "Ora di Verão di Afrika Osidental", "CST": "Ora Sentral Padrãu", "CHAST": "CHAST", "PDT": "Ora di Pasifiku di Verãu", "SAST": "Ora di Sul di Afrika", "TMST": "TMST", "UYST": "UYST", "SRT": "SRT", "OEZ": "Ora Padrãu di Europa Oriental", "OESZ": "Ora di Verãu di Europa Oriental", "WESZ": "Ora di Verãu di Europa Osidental", "MEZ": "Ora Padrãu di Europa Sentral", "ACWDT": "Ora di Verãu di Australia Sentru-Osidental", "AWDT": "Ora di Verãu di Australia Osidental", "HAT": "HAT", "MST": "Ora di Montanha Padrãu", "LHDT": "LHDT", "ACDT": "Ora di Verãu di Australia Sentral", "WART": "WART", "AKDT": "AKDT", "GYT": "GYT", "ARST": "ARST", "CLT": "CLT", "WIT": "WIT", "HKST": "HKST", "SGT": "SGT", "MDT": "Ora di Verãu di Montanha", "CAT": "Ora di Afrika Sentral", "GFT": "GFT"}, + timezones: map[string]string{"PST": "Ora di Pasifiku Padrãu", "HADT": "HADT", "SRT": "SRT", "VET": "VET", "WIT": "WIT", "HNPM": "HNPM", "SAST": "Ora di Sul di Afrika", "COT": "COT", "HNPMX": "HNPMX", "WAT": "Ora Padrãu di Afrika Osidental", "WART": "WART", "HAST": "HAST", "ACWDT": "Ora di Verãu di Australia Sentru-Osidental", "AEDT": "Ora di Verãu di Australia Oriental", "IST": "IST", "TMT": "TMT", "∅∅∅": "∅∅∅", "MDT": "MDT", "AKST": "AKST", "AST": "Ora Padrãu di Atlantiku", "HNT": "HNT", "NZST": "NZST", "HNCU": "HNCU", "EDT": "Ora Oriental di Verãu", "MST": "MST", "HKT": "HKT", "GFT": "GFT", "ACST": "Ora Padrãu di Australia Sentral", "WITA": "WITA", "HEPM": "HEPM", "MESZ": "Ora di Verãu di Europa Sentral", "EAT": "Ora di Afrika Oriental", "WESZ": "Ora di Verãu di Europa Osidental", "WAST": "Ora di Verão di Afrika Osidental", "BT": "BT", "HNOG": "HNOG", "HAT": "HAT", "AEST": "Ora Padrãu di Australia Oriental", "JST": "JST", "ChST": "ChST", "TMST": "TMST", "OESZ": "Ora di Verãu di Europa Oriental", "ECT": "ECT", "GMT": "GMT", "GYT": "GYT", "WIB": "WIB", "PDT": "Ora di Pasifiku di Verãu", "ACDT": "Ora di Verãu di Australia Sentral", "CAT": "Ora di Afrika Sentral", "CHAST": "CHAST", "CHADT": "CHADT", "HENOMX": "HENOMX", "EST": "Ora Oriental Padrãu", "NZDT": "NZDT", "CLT": "CLT", "WARST": "WARST", "HNNOMX": "HNNOMX", "HECU": "HECU", "AKDT": "AKDT", "HEOG": "HEOG", "ART": "ART", "AWST": "Ora Padrãu di Australia Osidental", "AWDT": "Ora di Verãu di Australia Osidental", "HNEG": "HNEG", "COST": "COST", "LHST": "LHST", "HKST": "HKST", "CLST": "CLST", "HEPMX": "HEPMX", "ADT": "Ora di Verãu di Atlantiku", "JDT": "JDT", "SGT": "SGT", "WEZ": "Ora Padrãu di Europa Osidental", "CDT": "Ora Sentral di Verãu", "UYT": "UYT", "CST": "Ora Sentral Padrãu", "MYT": "MYT", "UYST": "UYST", "ACWST": "Ora Padrãu di Australia Sentru-Osidental", "ARST": "ARST", "BOT": "BOT", "HEEG": "HEEG", "OEZ": "Ora Padrãu di Europa Oriental", "MEZ": "Ora Padrãu di Europa Sentral", "LHDT": "LHDT"}, } } @@ -391,7 +391,12 @@ func (kea *kea_CV) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -405,7 +410,12 @@ func (kea *kea_CV) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kea.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +431,12 @@ func (kea *kea_CV) FmtDateLong(t time.Time) string { b = append(b, kea.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x69}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -439,7 +454,12 @@ func (kea *kea_CV) FmtDateFull(t time.Time) string { b = append(b, kea.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x69}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/khq/khq.go b/khq/khq.go index 3a7bd6b3b..81399b33b 100644 --- a/khq/khq.go +++ b/khq/khq.go @@ -48,7 +48,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa jamanoo"}, - timezones: map[string]string{"∅∅∅": "∅∅∅", "OEZ": "OEZ", "HKST": "HKST", "WIT": "WIT", "OESZ": "OESZ", "WESZ": "WESZ", "HKT": "HKT", "JST": "JST", "WEZ": "WEZ", "ACST": "ACST", "HAST": "HAST", "PDT": "PDT", "IST": "IST", "ChST": "ChST", "HNT": "HNT", "GMT": "GMT", "ART": "ART", "ARST": "ARST", "AST": "AST", "CST": "CST", "MST": "MST", "HAT": "HAT", "EAT": "EAT", "NZST": "NZST", "UYST": "UYST", "WART": "WART", "ADT": "ADT", "MYT": "MYT", "AWDT": "AWDT", "MEZ": "MEZ", "UYT": "UYT", "CHAST": "CHAST", "ECT": "ECT", "WIB": "WIB", "EDT": "EDT", "SAST": "SAST", "NZDT": "NZDT", "LHDT": "LHDT", "WAST": "WAST", "GFT": "GFT", "ACWDT": "ACWDT", "AEST": "AEST", "MDT": "MDT", "CLST": "CLST", "CHADT": "CHADT", "VET": "VET", "AKDT": "AKDT", "EST": "EST", "WAT": "WAT", "GYT": "GYT", "SRT": "SRT", "MESZ": "MESZ", "BT": "BT", "AWST": "AWST", "JDT": "JDT", "ACWST": "ACWST", "WARST": "WARST", "AEDT": "AEDT", "AKST": "AKST", "CAT": "CAT", "SGT": "SGT", "COT": "COT", "CDT": "CDT", "LHST": "LHST", "ACDT": "ACDT", "COST": "COST", "PST": "PST", "WITA": "WITA", "TMT": "TMT", "TMST": "TMST", "BOT": "BOT", "CLT": "CLT", "HADT": "HADT"}, + timezones: map[string]string{"PDT": "PDT", "HEEG": "HEEG", "ECT": "ECT", "WAT": "WAT", "EST": "EST", "MDT": "MDT", "HEOG": "HEOG", "AST": "AST", "ACWDT": "ACWDT", "HKST": "HKST", "MESZ": "MESZ", "CHADT": "CHADT", "WAST": "WAST", "UYST": "UYST", "AKDT": "AKDT", "BT": "BT", "HNT": "HNT", "HAT": "HAT", "AWDT": "AWDT", "LHDT": "LHDT", "TMST": "TMST", "ACDT": "ACDT", "COT": "COT", "HNPMX": "HNPMX", "GYT": "GYT", "AEDT": "AEDT", "AWST": "AWST", "CHAST": "CHAST", "SGT": "SGT", "EDT": "EDT", "HAST": "HAST", "HKT": "HKT", "∅∅∅": "∅∅∅", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HEPM": "HEPM", "MEZ": "MEZ", "NZDT": "NZDT", "IST": "IST", "CLT": "CLT", "EAT": "EAT", "TMT": "TMT", "CAT": "CAT", "UYT": "UYT", "ART": "ART", "PST": "PST", "WITA": "WITA", "NZST": "NZST", "GFT": "GFT", "WART": "WART", "CST": "CST", "VET": "VET", "ARST": "ARST", "WEZ": "WEZ", "WARST": "WARST", "WIT": "WIT", "SRT": "SRT", "WESZ": "WESZ", "HEPMX": "HEPMX", "CDT": "CDT", "ACWST": "ACWST", "AEST": "AEST", "LHST": "LHST", "CLST": "CLST", "BOT": "BOT", "MYT": "MYT", "HNOG": "HNOG", "JDT": "JDT", "HNEG": "HNEG", "OEZ": "OEZ", "OESZ": "OESZ", "COST": "COST", "HECU": "HECU", "WIB": "WIB", "HADT": "HADT", "JST": "JST", "HENOMX": "HENOMX", "GMT": "GMT", "MST": "MST", "ADT": "ADT", "AKST": "AKST", "HNPM": "HNPM", "SAST": "SAST", "ChST": "ChST", "ACST": "ACST"}, } } @@ -312,7 +312,12 @@ func (khq *khq) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (khq *khq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +350,12 @@ func (khq *khq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +371,12 @@ func (khq *khq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/khq_ML/khq_ML.go b/khq_ML/khq_ML.go index b1e7ff515..72b63c2a8 100644 --- a/khq_ML/khq_ML.go +++ b/khq_ML/khq_ML.go @@ -48,7 +48,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa jamanoo"}, - timezones: map[string]string{"COT": "COT", "CST": "CST", "NZDT": "NZDT", "WESZ": "WESZ", "WAT": "WAT", "AKDT": "AKDT", "EDT": "EDT", "ACST": "ACST", "COST": "COST", "AKST": "AKST", "EST": "EST", "ART": "ART", "CDT": "CDT", "CLST": "CLST", "GMT": "GMT", "CHADT": "CHADT", "ACWST": "ACWST", "ADT": "ADT", "SAST": "SAST", "WAST": "WAST", "AWDT": "AWDT", "UYST": "UYST", "OEZ": "OEZ", "JDT": "JDT", "WEZ": "WEZ", "CHAST": "CHAST", "SGT": "SGT", "WIB": "WIB", "HAST": "HAST", "LHST": "LHST", "UYT": "UYT", "IST": "IST", "TMST": "TMST", "AWST": "AWST", "HAT": "HAT", "OESZ": "OESZ", "SRT": "SRT", "ACDT": "ACDT", "WART": "WART", "WITA": "WITA", "ChST": "ChST", "CLT": "CLT", "VET": "VET", "ACWDT": "ACWDT", "WARST": "WARST", "LHDT": "LHDT", "JST": "JST", "AEDT": "AEDT", "EAT": "EAT", "PST": "PST", "BOT": "BOT", "HKT": "HKT", "CAT": "CAT", "BT": "BT", "MESZ": "MESZ", "AEST": "AEST", "TMT": "TMT", "MYT": "MYT", "MDT": "MDT", "NZST": "NZST", "HNT": "HNT", "∅∅∅": "∅∅∅", "HKST": "HKST", "AST": "AST", "PDT": "PDT", "MST": "MST", "GFT": "GFT", "MEZ": "MEZ", "ECT": "ECT", "HADT": "HADT", "ARST": "ARST", "GYT": "GYT", "WIT": "WIT"}, + timezones: map[string]string{"CDT": "CDT", "AEDT": "AEDT", "HKT": "HKT", "ChST": "ChST", "ACDT": "ACDT", "WARST": "WARST", "UYT": "UYT", "HNCU": "HNCU", "UYST": "UYST", "AWST": "AWST", "ACST": "ACST", "AST": "AST", "HEOG": "HEOG", "JST": "JST", "JDT": "JDT", "MST": "MST", "MDT": "MDT", "ADT": "ADT", "PDT": "PDT", "HKST": "HKST", "∅∅∅": "∅∅∅", "MYT": "MYT", "CLT": "CLT", "TMT": "TMT", "HNPMX": "HNPMX", "WESZ": "WESZ", "ART": "ART", "MEZ": "MEZ", "CLST": "CLST", "CAT": "CAT", "OESZ": "OESZ", "SRT": "SRT", "HNT": "HNT", "NZDT": "NZDT", "WAT": "WAT", "COT": "COT", "GMT": "GMT", "HECU": "HECU", "WIB": "WIB", "HNNOMX": "HNNOMX", "HEPM": "HEPM", "IST": "IST", "BOT": "BOT", "WAST": "WAST", "WIT": "WIT", "PST": "PST", "HEPMX": "HEPMX", "AKDT": "AKDT", "AEST": "AEST", "AWDT": "AWDT", "LHST": "LHST", "SAST": "SAST", "TMST": "TMST", "HENOMX": "HENOMX", "HAT": "HAT", "ARST": "ARST", "CHADT": "CHADT", "EAT": "EAT", "ECT": "ECT", "HADT": "HADT", "ACWST": "ACWST", "HNPM": "HNPM", "NZST": "NZST", "COST": "COST", "EDT": "EDT", "GYT": "GYT", "HNOG": "HNOG", "CST": "CST", "MESZ": "MESZ", "LHDT": "LHDT", "HNEG": "HNEG", "HEEG": "HEEG", "GFT": "GFT", "AKST": "AKST", "WEZ": "WEZ", "WITA": "WITA", "OEZ": "OEZ", "WART": "WART", "EST": "EST", "VET": "VET", "BT": "BT", "CHAST": "CHAST", "SGT": "SGT", "HAST": "HAST", "ACWDT": "ACWDT"}, } } @@ -312,7 +312,12 @@ func (khq *khq_ML) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (khq *khq_ML) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +350,12 @@ func (khq *khq_ML) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +371,12 @@ func (khq *khq_ML) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, khq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ki/ki.go b/ki/ki.go index 47ce097f8..7160be606 100644 --- a/ki/ki.go +++ b/ki/ki.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "JEN", "WKR", "WGT", "WKN", "WTN", "WTD", "WMJ", "WNN", "WKD", "WIK", "WMW", "DIT"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "TK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristo", "Thutha wa Kristo"}, - timezones: map[string]string{"HADT": "HADT", "BT": "BT", "CAT": "CAT", "EST": "EST", "AST": "AST", "CDT": "CDT", "AWST": "AWST", "BOT": "BOT", "WEZ": "WEZ", "COT": "COT", "WIB": "WIB", "AEDT": "AEDT", "WART": "WART", "WARST": "WARST", "CST": "CST", "SRT": "SRT", "IST": "IST", "AKST": "AKST", "MST": "MST", "JST": "JST", "CHAST": "CHAST", "CHADT": "CHADT", "MESZ": "MESZ", "ACWST": "ACWST", "UYST": "UYST", "HKST": "HKST", "NZST": "NZST", "HAT": "HAT", "CLT": "CLT", "CLST": "CLST", "SGT": "SGT", "ACWDT": "ACWDT", "SAST": "SAST", "MDT": "MDT", "COST": "COST", "WAT": "WAT", "ADT": "ADT", "EAT": "EAT", "HKT": "HKT", "AWDT": "AWDT", "JDT": "JDT", "HAST": "HAST", "WITA": "WITA", "ChST": "ChST", "WESZ": "WESZ", "WIT": "WIT", "UYT": "UYT", "OEZ": "OEZ", "OESZ": "OESZ", "ACST": "ACST", "VET": "VET", "GYT": "GYT", "NZDT": "NZDT", "AEST": "AEST", "ART": "ART", "PDT": "PDT", "MYT": "MYT", "LHDT": "LHDT", "GFT": "GFT", "TMT": "TMT", "∅∅∅": "∅∅∅", "LHST": "LHST", "GMT": "GMT", "ECT": "ECT", "MEZ": "MEZ", "WAST": "WAST", "AKDT": "AKDT", "PST": "PST", "HNT": "HNT", "TMST": "TMST", "ARST": "ARST", "EDT": "EDT", "ACDT": "ACDT"}, + timezones: map[string]string{"MDT": "MDT", "HEPM": "HEPM", "IST": "IST", "HEEG": "HEEG", "EAT": "EAT", "COST": "COST", "ADT": "ADT", "PST": "PST", "HEOG": "HEOG", "JST": "JST", "HENOMX": "HENOMX", "EDT": "EDT", "HEPMX": "HEPMX", "WEZ": "WEZ", "LHST": "LHST", "GFT": "GFT", "WAST": "WAST", "OEZ": "OEZ", "OESZ": "OESZ", "WARST": "WARST", "AST": "AST", "COT": "COT", "BT": "BT", "AEDT": "AEDT", "JDT": "JDT", "HNPMX": "HNPMX", "CAT": "CAT", "AKDT": "AKDT", "CST": "CST", "HADT": "HADT", "SRT": "SRT", "ACWDT": "ACWDT", "WITA": "WITA", "HNPM": "HNPM", "HAT": "HAT", "HECU": "HECU", "BOT": "BOT", "AKST": "AKST", "VET": "VET", "WESZ": "WESZ", "ARST": "ARST", "NZST": "NZST", "NZDT": "NZDT", "ChST": "ChST", "ECT": "ECT", "SGT": "SGT", "WIB": "WIB", "AWDT": "AWDT", "EST": "EST", "HNT": "HNT", "HNOG": "HNOG", "CHAST": "CHAST", "MYT": "MYT", "CLST": "CLST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "GMT": "GMT", "AEST": "AEST", "HKT": "HKT", "CHADT": "CHADT", "SAST": "SAST", "WAT": "WAT", "UYST": "UYST", "ART": "ART", "MESZ": "MESZ", "ACST": "ACST", "GYT": "GYT", "CLT": "CLT", "HNCU": "HNCU", "MST": "MST", "HAST": "HAST", "PDT": "PDT", "LHDT": "LHDT", "TMT": "TMT", "TMST": "TMST", "WART": "WART", "UYT": "UYT", "CDT": "CDT", "WIT": "WIT", "ACWST": "ACWST", "AWST": "AWST", "HKST": "HKST", "MEZ": "MEZ"}, } } @@ -330,7 +330,12 @@ func (ki *ki) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (ki *ki) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (ki *ki) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (ki *ki) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ki_KE/ki_KE.go b/ki_KE/ki_KE.go index 2ab792330..f9ee453fc 100644 --- a/ki_KE/ki_KE.go +++ b/ki_KE/ki_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "JEN", "WKR", "WGT", "WKN", "WTN", "WTD", "WMJ", "WNN", "WKD", "WIK", "WMW", "DIT"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "TK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristo", "Thutha wa Kristo"}, - timezones: map[string]string{"COST": "COST", "MEZ": "MEZ", "HAT": "HAT", "CLST": "CLST", "MESZ": "MESZ", "WAST": "WAST", "EAT": "EAT", "MYT": "MYT", "CST": "CST", "NZST": "NZST", "MDT": "MDT", "CAT": "CAT", "AEST": "AEST", "WARST": "WARST", "IST": "IST", "CDT": "CDT", "AWST": "AWST", "UYT": "UYT", "HKST": "HKST", "VET": "VET", "WART": "WART", "AKST": "AKST", "ADT": "ADT", "ChST": "ChST", "LHDT": "LHDT", "WAT": "WAT", "AST": "AST", "PDT": "PDT", "CLT": "CLT", "OEZ": "OEZ", "WIB": "WIB", "ACWDT": "ACWDT", "HAST": "HAST", "SAST": "SAST", "PST": "PST", "TMT": "TMT", "CHADT": "CHADT", "GFT": "GFT", "AKDT": "AKDT", "EDT": "EDT", "TMST": "TMST", "BOT": "BOT", "∅∅∅": "∅∅∅", "ECT": "ECT", "ART": "ART", "WITA": "WITA", "JST": "JST", "ACDT": "ACDT", "COT": "COT", "EST": "EST", "ACWST": "ACWST", "MST": "MST", "AWDT": "AWDT", "LHST": "LHST", "JDT": "JDT", "WESZ": "WESZ", "HKT": "HKT", "ACST": "ACST", "AEDT": "AEDT", "ARST": "ARST", "NZDT": "NZDT", "WEZ": "WEZ", "CHAST": "CHAST", "SRT": "SRT", "GYT": "GYT", "BT": "BT", "UYST": "UYST", "HNT": "HNT", "WIT": "WIT", "GMT": "GMT", "OESZ": "OESZ", "SGT": "SGT", "HADT": "HADT"}, + timezones: map[string]string{"PST": "PST", "HEPM": "HEPM", "HEPMX": "HEPMX", "WIT": "WIT", "HAST": "HAST", "HAT": "HAT", "CLT": "CLT", "∅∅∅": "∅∅∅", "COT": "COT", "GMT": "GMT", "PDT": "PDT", "HENOMX": "HENOMX", "HECU": "HECU", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "IST": "IST", "HNEG": "HNEG", "WAT": "WAT", "COST": "COST", "HEOG": "HEOG", "WAST": "WAST", "HNNOMX": "HNNOMX", "HNPM": "HNPM", "WART": "WART", "CDT": "CDT", "AST": "AST", "HADT": "HADT", "AKDT": "AKDT", "WIB": "WIB", "BT": "BT", "ART": "ART", "AEST": "AEST", "EAT": "EAT", "ECT": "ECT", "WARST": "WARST", "AKST": "AKST", "SAST": "SAST", "JST": "JST", "HEEG": "HEEG", "ACWST": "ACWST", "CHAST": "CHAST", "MEZ": "MEZ", "BOT": "BOT", "ACDT": "ACDT", "SGT": "SGT", "CST": "CST", "WEZ": "WEZ", "LHST": "LHST", "CHADT": "CHADT", "MESZ": "MESZ", "ChST": "ChST", "MST": "MST", "EST": "EST", "ADT": "ADT", "HKT": "HKT", "OEZ": "OEZ", "CAT": "CAT", "HNCU": "HNCU", "UYST": "UYST", "ARST": "ARST", "HNOG": "HNOG", "TMT": "TMT", "MYT": "MYT", "UYT": "UYT", "WESZ": "WESZ", "AWDT": "AWDT", "AEDT": "AEDT", "NZDT": "NZDT", "TMST": "TMST", "ACST": "ACST", "SRT": "SRT", "AWST": "AWST", "LHDT": "LHDT", "OESZ": "OESZ", "MDT": "MDT", "GYT": "GYT", "VET": "VET", "NZST": "NZST", "GFT": "GFT", "HNT": "HNT", "HKST": "HKST", "WITA": "WITA", "CLST": "CLST", "JDT": "JDT", "EDT": "EDT"}, } } @@ -330,7 +330,12 @@ func (ki *ki_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (ki *ki_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (ki *ki_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (ki *ki_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ki.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kk/kk.go b/kk/kk.go index 113421ffe..c2579ad33 100644 --- a/kk/kk.go +++ b/kk/kk.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "БД", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "КД$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "қаң.", "ақп.", "нау.", "сәу.", "мам.", "мау.", "шіл.", "там.", "қыр.", "қаз.", "қар.", "жел."}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"Ж", "Д", "С", "С", "Б", "Ж", "С"}, daysShort: []string{"Жс", "Дс", "Сс", "Ср", "Бс", "Жм", "Сб"}, daysWide: []string{"жексенбі", "дүйсенбі", "сейсенбі", "сәрсенбі", "бейсенбі", "жұма", "сенбі"}, - periodsAbbreviated: []string{"таңғы", "түскі/кешкі"}, - periodsNarrow: []string{"таңғы", "түскі/кешкі"}, - periodsWide: []string{"таңғы", "түскі/кешкі"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"б.з.д.", "б.з."}, erasNarrow: []string{"", ""}, erasWide: []string{"Біздің заманымызға дейін", "Біздің заманымыз"}, - timezones: map[string]string{"AWDT": "Австралия жазғы батыс уақыты", "JST": "Жапония стандартты уақыты", "HKT": "Гонконг стандартты уақыты", "ACST": "Австралия стандартты орталық уақыты", "COT": "Колумбия стандартты уақыты", "AST": "Атлантика стандартты уақыты", "CLT": "Чили стандартты уақыты", "HADT": "Гавай және Алеут аралдары жазғы уақыты", "NZST": "Жаңа Зеландия стандартты уақыты", "WAT": "Батыс Африка стандартты уақыты", "AWST": "Австралия стандартты батыс уақыты", "WIT": "Шығыс Индонезия уақыты", "CHAST": "Чатем стандартты уақыты", "WART": "Батыс Аргентина стандартты уақыты", "CLST": "Чили жазғы уақыты", "OESZ": "Шығыс Еуропа жазғы уақыты", "WESZ": "Батыс Еуропа жазғы уақыты", "CHADT": "Чатем жазғы уақыты", "AEST": "Австралия стандартты шығыс уақыты", "WARST": "Батыс Аргентина жазғы уақыты", "CST": "Солтүстік Америка стандартты орталық уақыты", "NZDT": "Жаңа Зеландия жазғы уақыты", "LHST": "Лорд-Хау стандартты уақыты", "EST": "Солтүстік Америка стандартты шығыс уақыты", "WITA": "Орталық Индонезия уақыты", "CAT": "Орталық Африка уақыты", "∅∅∅": "Бразилия жазғы уақыты", "SRT": "Суринам уақыты", "ECT": "Эквадор уақыты", "ACWST": "Австралия стандартты орталық-батыс уақыты", "AKST": "Аляска стандартты уақыты", "HKST": "Гонконг жазғы уақыты", "WAST": "Батыс Африка жазғы уақыты", "TMT": "Түрікменстан стандартты уақыты", "CDT": "Солтүстік Америка жазғы орталық уақыты", "HNT": "Ньюфаундленд стандартты уақыты", "GFT": "Француз Гвианасы уақыты", "HAST": "Гавай және Алеут аралдары стандартты уақыты", "GMT": "Гринвич уақыты", "MEZ": "Орталық Еуропа стандартты уақыты", "ADT": "Атлантика жазғы уақыты", "EDT": "Солтүстік Америка жазғы шығыс уақыты", "TMST": "Түрікменстан жазғы уақыты", "MST": "Солтүстік Америка стандартты тау уақыты", "LHDT": "Лорд-Хау жазғы уақыты", "UYST": "Уругвай жазғы уақыты", "WEZ": "Батыс Еуропа стандартты уақыты", "ACDT": "Австралия жазғы орталық уақыты", "ARST": "Аргентина жазғы уақыты", "IST": "Үндістан стандартты уақыты", "GYT": "Гайана уақыты", "BOT": "Боливия уақыты", "JDT": "Жапония жазғы уақыты", "ART": "Аргентина стандартты уақыты", "ChST": "Чаморро стандартты уақыты", "HAT": "Ньюфаундленд жазғы уақыты", "AEDT": "Австралия жазғы шығыс уақыты", "EAT": "Шығыс Африка уақыты", "PST": "Солтүстік Америка стандартты Тынық мұхиты уақыты", "BT": "Бутан уақыты", "MESZ": "Орталық Еуропа жазғы уақыты", "SGT": "Сингапур уақыты", "WIB": "Батыс Индонезия уақыты", "ACWDT": "Австралия жазғы орталық-батыс уақыты", "AKDT": "Аляска жазғы уақыты", "MDT": "Солтүстік Америка жазғы тау уақыты", "UYT": "Уругвай стандартты уақыты", "OEZ": "Шығыс Еуропа стандартты уақыты", "COST": "Колумбия жазғы уақыты", "VET": "Венесуэла уақыты", "SAST": "Оңтүстік Африка уақыты", "PDT": "Солтүстік Америка жазғы Тынық мұхиты уақыты", "MYT": "Малайзия уақыты"}, + timezones: map[string]string{"GFT": "Француз Гвианасы уақыты", "OEZ": "Шығыс Еуропа стандартты уақыты", "SRT": "Суринам уақыты", "WEZ": "Батыс Еуропа стандартты уақыты", "NZST": "Жаңа Зеландия стандартты уақыты", "JDT": "Жапония жазғы уақыты", "TMT": "Түрікменстан стандартты уақыты", "HEPMX": "Мексика жазғы Тынық мұхит уақыты", "EDT": "Солтүстік Америка жазғы шығыс уақыты", "AKDT": "Аляска жазғы уақыты", "AEDT": "Австралия жазғы шығыс уақыты", "CHADT": "Чатем жазғы уақыты", "LHDT": "Лорд-Хау жазғы уақыты", "WIT": "Шығыс Индонезия уақыты", "HADT": "Гавай және Алеут аралдары жазғы уақыты", "WESZ": "Батыс Еуропа жазғы уақыты", "HECU": "Куба жазғы уақыты", "CST": "Солтүстік Америка стандартты орталық уақыты", "AST": "Атлантика стандартты уақыты", "GYT": "Гайана уақыты", "UYT": "Уругвай стандартты уақыты", "ACDT": "Австралия жазғы орталық уақыты", "HNPMX": "Мексика стандартты Тынық мұхит уақыты", "ECT": "Эквадор уақыты", "COT": "Колумбия стандартты уақыты", "WITA": "Орталық Индонезия уақыты", "∅∅∅": "Амазон жазғы уақыты", "HNEG": "Шығыс Гренландия стандартты уақыты", "WART": "Батыс Аргентина стандартты уақыты", "WIB": "Батыс Индонезия уақыты", "HAST": "Гавай және Алеут аралдары стандартты уақыты", "ARST": "Аргентина жазғы уақыты", "MESZ": "Орталық Еуропа жазғы уақыты", "HEEG": "Шығыс Гренландия жазғы уақыты", "HNNOMX": "Солтүстік-Батыс Мексика стандартты уақыты", "HENOMX": "Солтүстік-Батыс Мексика жазғы уақыты", "AKST": "Аляска стандартты уақыты", "VET": "Венесуэла уақыты", "IST": "Үндістан стандартты уақыты", "JST": "Жапония стандартты уақыты", "EST": "Солтүстік Америка стандартты шығыс уақыты", "HEOG": "Батыс Гренландия жазғы уақыты", "HNPM": "Сен-Пьер және Микелон стандартты уақыты", "CLT": "Чили стандартты уақыты", "TMST": "Түрікменстан жазғы уақыты", "LHST": "Лорд-Хау стандартты уақыты", "CLST": "Чили жазғы уақыты", "WAST": "Батыс Африка жазғы уақыты", "COST": "Колумбия жазғы уақыты", "HNCU": "Куба стандартты уақыты", "BT": "Бутан уақыты", "NZDT": "Жаңа Зеландия жазғы уақыты", "CHAST": "Чатем стандартты уақыты", "ACWDT": "Австралия жазғы орталық-батыс уақыты", "AWST": "Австралия стандартты батыс уақыты", "WARST": "Батыс Аргентина жазғы уақыты", "MST": "MST", "PDT": "Солтүстік Америка жазғы Тынық мұхиты уақыты", "AWDT": "Австралия жазғы батыс уақыты", "HEPM": "Сен-Пьер және Микелон жазғы уақыты", "SAST": "Оңтүстік Африка уақыты", "ACST": "Австралия стандартты орталық уақыты", "ADT": "Атлантика жазғы уақыты", "ACWST": "Австралия стандартты орталық-батыс уақыты", "WAT": "Батыс Африка стандартты уақыты", "CDT": "Солтүстік Америка жазғы орталық уақыты", "PST": "Солтүстік Америка стандартты Тынық мұхиты уақыты", "HKT": "Гонконг стандартты уақыты", "SGT": "Сингапур стандартты уақыты", "MYT": "Малайзия уақыты", "HNT": "Ньюфаундленд стандартты уақыты", "HNOG": "Батыс Гренландия стандартты уақыты", "AEST": "Австралия стандартты шығыс уақыты", "OESZ": "Шығыс Еуропа жазғы уақыты", "UYST": "Уругвай жазғы уақыты", "CAT": "Орталық Африка уақыты", "MDT": "MDT", "ART": "Аргентина стандартты уақыты", "MEZ": "Орталық Еуропа стандартты уақыты", "BOT": "Боливия уақыты", "GMT": "Гринвич уақыты", "HAT": "Ньюфаундленд жазғы уақыты", "HKST": "Гонконг жазғы уақыты", "ChST": "Чаморро стандартты уақыты", "EAT": "Шығыс Африка уақыты"}, } } @@ -440,7 +440,12 @@ func (kk *kk) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) @@ -460,7 +465,12 @@ func (kk *kk) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -475,7 +485,12 @@ func (kk *kk) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/kk_KZ/kk_KZ.go b/kk_KZ/kk_KZ.go index da1644039..4da0e89dc 100644 --- a/kk_KZ/kk_KZ.go +++ b/kk_KZ/kk_KZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "қаң.", "ақп.", "нау.", "сәу.", "мам.", "мау.", "шіл.", "там.", "қыр.", "қаз.", "қар.", "жел."}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"Ж", "Д", "С", "С", "Б", "Ж", "С"}, daysShort: []string{"Жс", "Дс", "Сс", "Ср", "Бс", "Жм", "Сб"}, daysWide: []string{"жексенбі", "дүйсенбі", "сейсенбі", "сәрсенбі", "бейсенбі", "жұма", "сенбі"}, - periodsAbbreviated: []string{"таңғы", "түскі/кешкі"}, - periodsNarrow: []string{"таңғы", "түскі/кешкі"}, - periodsWide: []string{"таңғы", "түскі/кешкі"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"б.з.д.", "б.з."}, erasNarrow: []string{"", ""}, erasWide: []string{"Біздің заманымызға дейін", "Біздің заманымыз"}, - timezones: map[string]string{"CST": "Солтүстік Америка стандартты орталық уақыты", "CDT": "Солтүстік Америка жазғы орталық уақыты", "CLT": "Чили стандартты уақыты", "WIT": "Шығыс Индонезия уақыты", "COT": "Колумбия стандартты уақыты", "ECT": "Эквадор уақыты", "IST": "Үндістан стандартты уақыты", "ADT": "Атлантика жазғы уақыты", "WIB": "Батыс Индонезия уақыты", "AEDT": "Австралия жазғы шығыс уақыты", "MDT": "Солтүстік Америка жазғы тау уақыты", "GMT": "Гринвич уақыты", "OESZ": "Шығыс Еуропа жазғы уақыты", "VET": "Венесуэла уақыты", "WART": "Батыс Аргентина стандартты уақыты", "HADT": "Гавай және Алеут аралдары жазғы уақыты", "MYT": "Малайзия уақыты", "WAST": "Батыс Африка жазғы уақыты", "AKST": "Аляска стандартты уақыты", "∅∅∅": "Бразилия жазғы уақыты", "LHDT": "Лорд-Хау жазғы уақыты", "COST": "Колумбия жазғы уақыты", "AEST": "Австралия стандартты шығыс уақыты", "ACST": "Австралия стандартты орталық уақыты", "ARST": "Аргентина жазғы уақыты", "WAT": "Батыс Африка стандартты уақыты", "EST": "Солтүстік Америка стандартты шығыс уақыты", "HKST": "Гонконг жазғы уақыты", "CHADT": "Чатем жазғы уақыты", "SRT": "Суринам уақыты", "OEZ": "Шығыс Еуропа стандартты уақыты", "TMT": "Түрікменстан стандартты уақыты", "BOT": "Боливия уақыты", "NZDT": "Жаңа Зеландия жазғы уақыты", "BT": "Бутан уақыты", "UYST": "Уругвай жазғы уақыты", "JDT": "Жапония жазғы уақыты", "UYT": "Уругвай стандартты уақыты", "JST": "Жапония стандартты уақыты", "MESZ": "Орталық Еуропа жазғы уақыты", "EDT": "Солтүстік Америка жазғы шығыс уақыты", "CAT": "Орталық Африка уақыты", "LHST": "Лорд-Хау стандартты уақыты", "GFT": "Француз Гвианасы уақыты", "ACDT": "Австралия жазғы орталық уақыты", "NZST": "Жаңа Зеландия стандартты уақыты", "WARST": "Батыс Аргентина жазғы уақыты", "AWDT": "Австралия жазғы батыс уақыты", "CLST": "Чили жазғы уақыты", "TMST": "Түрікменстан жазғы уақыты", "AWST": "Австралия стандартты батыс уақыты", "WESZ": "Батыс Еуропа жазғы уақыты", "SGT": "Сингапур уақыты", "PST": "Солтүстік Америка стандартты Тынық мұхиты уақыты", "EAT": "Шығыс Африка уақыты", "MST": "Солтүстік Америка стандартты тау уақыты", "ChST": "Чаморро стандартты уақыты", "HNT": "Ньюфаундленд стандартты уақыты", "CHAST": "Чатем стандартты уақыты", "ACWDT": "Австралия жазғы орталық-батыс уақыты", "PDT": "Солтүстік Америка жазғы Тынық мұхиты уақыты", "WITA": "Орталық Индонезия уақыты", "WEZ": "Батыс Еуропа стандартты уақыты", "ART": "Аргентина стандартты уақыты", "HAT": "Ньюфаундленд жазғы уақыты", "HKT": "Гонконг стандартты уақыты", "GYT": "Гайана уақыты", "MEZ": "Орталық Еуропа стандартты уақыты", "AKDT": "Аляска жазғы уақыты", "AST": "Атлантика стандартты уақыты", "HAST": "Гавай және Алеут аралдары стандартты уақыты", "ACWST": "Австралия стандартты орталық-батыс уақыты", "SAST": "Оңтүстік Африка уақыты"}, + timezones: map[string]string{"MST": "MST", "GYT": "Гайана уақыты", "WESZ": "Батыс Еуропа жазғы уақыты", "ACWST": "Австралия стандартты орталық-батыс уақыты", "CHADT": "Чатем жазғы уақыты", "∅∅∅": "Перу жазғы уақыты", "SGT": "Сингапур стандартты уақыты", "CST": "Солтүстік Америка стандартты орталық уақыты", "AST": "Атлантика стандартты уақыты", "HENOMX": "Солтүстік-Батыс Мексика жазғы уақыты", "UYT": "Уругвай стандартты уақыты", "WIB": "Батыс Индонезия уақыты", "ACWDT": "Австралия жазғы орталық-батыс уақыты", "ARST": "Аргентина жазғы уақыты", "AWDT": "Австралия жазғы батыс уақыты", "WARST": "Батыс Аргентина жазғы уақыты", "EAT": "Шығыс Африка уақыты", "WAST": "Батыс Африка жазғы уақыты", "HAST": "Гавай және Алеут аралдары стандартты уақыты", "SRT": "Суринам уақыты", "HAT": "Ньюфаундленд жазғы уақыты", "CAT": "Орталық Африка уақыты", "OESZ": "Шығыс Еуропа жазғы уақыты", "ADT": "Атлантика жазғы уақыты", "VET": "Венесуэла уақыты", "MEZ": "Орталық Еуропа стандартты уақыты", "ChST": "Чаморро стандартты уақыты", "AKST": "Аляска стандартты уақыты", "UYST": "Уругвай жазғы уақыты", "PST": "Солтүстік Америка стандартты Тынық мұхиты уақыты", "WITA": "Орталық Индонезия уақыты", "HEPM": "Сен-Пьер және Микелон жазғы уақыты", "MESZ": "Орталық Еуропа жазғы уақыты", "WAT": "Батыс Африка стандартты уақыты", "AKDT": "Аляска жазғы уақыты", "HNT": "Ньюфаундленд стандартты уақыты", "ART": "Аргентина стандартты уақыты", "AWST": "Австралия стандартты батыс уақыты", "HNPM": "Сен-Пьер және Микелон стандартты уақыты", "JST": "Жапония стандартты уақыты", "JDT": "Жапония жазғы уақыты", "IST": "Үндістан стандартты уақыты", "ACDT": "Австралия жазғы орталық уақыты", "WART": "Батыс Аргентина стандартты уақыты", "EDT": "Солтүстік Америка жазғы шығыс уақыты", "MDT": "MDT", "HADT": "Гавай және Алеут аралдары жазғы уақыты", "LHST": "Лорд-Хау стандартты уақыты", "TMT": "Түрікменстан стандартты уақыты", "EST": "Солтүстік Америка стандартты шығыс уақыты", "WEZ": "Батыс Еуропа стандартты уақыты", "HNOG": "Батыс Гренландия стандартты уақыты", "CHAST": "Чатем стандартты уақыты", "LHDT": "Лорд-Хау жазғы уақыты", "NZST": "Жаңа Зеландия стандартты уақыты", "HNEG": "Шығыс Гренландия стандартты уақыты", "ACST": "Австралия стандартты орталық уақыты", "HEPMX": "Мексика жазғы Тынық мұхит уақыты", "BT": "Бутан уақыты", "HEOG": "Батыс Гренландия жазғы уақыты", "HKST": "Гонконг жазғы уақыты", "SAST": "Оңтүстік Африка уақыты", "CLT": "Чили стандартты уақыты", "TMST": "Түрікменстан жазғы уақыты", "COT": "Колумбия стандартты уақыты", "HNNOMX": "Солтүстік-Батыс Мексика стандартты уақыты", "MYT": "Малайзия уақыты", "AEST": "Австралия стандартты шығыс уақыты", "NZDT": "Жаңа Зеландия жазғы уақыты", "BOT": "Боливия уақыты", "GFT": "Француз Гвианасы уақыты", "PDT": "Солтүстік Америка жазғы Тынық мұхиты уақыты", "CLST": "Чили жазғы уақыты", "COST": "Колумбия жазғы уақыты", "HNCU": "Куба стандартты уақыты", "HECU": "Куба жазғы уақыты", "HNPMX": "Мексика стандартты Тынық мұхит уақыты", "CDT": "Солтүстік Америка жазғы орталық уақыты", "HKT": "Гонконг стандартты уақыты", "HEEG": "Шығыс Гренландия жазғы уақыты", "OEZ": "Шығыс Еуропа стандартты уақыты", "ECT": "Эквадор уақыты", "GMT": "Гринвич уақыты", "WIT": "Шығыс Индонезия уақыты", "AEDT": "Австралия жазғы шығыс уақыты"}, } } @@ -440,7 +440,12 @@ func (kk *kk_KZ) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) @@ -460,7 +465,12 @@ func (kk *kk_KZ) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -475,7 +485,12 @@ func (kk *kk_KZ) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb6}...) b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/kkj/kkj.go b/kkj/kkj.go index 40192fcff..fc090e916 100644 --- a/kkj/kkj.go +++ b/kkj/kkj.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -63,7 +63,7 @@ func New() locales.Translator { daysNarrow: []string{"so", "lu", "ma", "mɛ", "ye", "va", "ms"}, daysShort: []string{"sɔndi", "lundi", "mardi", "mɛrkɛrɛdi", "yedi", "vaŋdɛrɛdi", "mɔnɔ sɔndi"}, daysWide: []string{"sɔndi", "lundi", "mardi", "mɛrkɛrɛdi", "yedi", "vaŋdɛrɛdi", "mɔnɔ sɔndi"}, - timezones: map[string]string{"OESZ": "OESZ", "HKST": "HKST", "AEST": "AEST", "MYT": "MYT", "WIT": "WIT", "SGT": "SGT", "VET": "VET", "AEDT": "AEDT", "EDT": "EDT", "SRT": "SRT", "AKST": "AKST", "AST": "AST", "AWST": "AWST", "CLST": "CLST", "GMT": "GMT", "∅∅∅": "∅∅∅", "WIB": "WIB", "AKDT": "AKDT", "EST": "EST", "ChST": "ChST", "AWDT": "AWDT", "BT": "BT", "HKT": "HKT", "CHAST": "CHAST", "HADT": "HADT", "BOT": "BOT", "WAT": "WAT", "CDT": "CDT", "MST": "MST", "UYT": "UYT", "JST": "JST", "OEZ": "OEZ", "CHADT": "CHADT", "PDT": "PDT", "ADT": "ADT", "CST": "CST", "NZDT": "NZDT", "JDT": "JDT", "COT": "COT", "WART": "WART", "IST": "IST", "CAT": "CAT", "HNT": "HNT", "CLT": "CLT", "LHST": "LHST", "ACWDT": "ACWDT", "TMT": "TMT", "NZST": "NZST", "MEZ": "MEZ", "ACST": "ACST", "ACWST": "ACWST", "WESZ": "WESZ", "HAST": "HAST", "ART": "ART", "WARST": "WARST", "EAT": "EAT", "LHDT": "LHDT", "MESZ": "MESZ", "ACDT": "ACDT", "ARST": "ARST", "HAT": "HAT", "COST": "COST", "SAST": "SAST", "WITA": "WITA", "MDT": "MDT", "UYST": "UYST", "WEZ": "WEZ", "ECT": "ECT", "GYT": "GYT", "GFT": "GFT", "WAST": "WAST", "PST": "PST", "TMST": "TMST"}, + timezones: map[string]string{"EST": "EST", "HNPMX": "HNPMX", "GYT": "GYT", "BT": "BT", "MESZ": "MESZ", "ChST": "ChST", "HEEG": "HEEG", "WAST": "WAST", "ACWDT": "ACWDT", "HAT": "HAT", "UYT": "UYT", "AST": "AST", "ART": "ART", "AEST": "AEST", "LHDT": "LHDT", "WART": "WART", "MST": "MST", "HKT": "HKT", "ARST": "ARST", "AWST": "AWST", "MEZ": "MEZ", "LHST": "LHST", "HEPMX": "HEPMX", "HAST": "HAST", "HNEG": "HNEG", "EAT": "EAT", "UYST": "UYST", "AKST": "AKST", "WEZ": "WEZ", "NZST": "NZST", "CHAST": "CHAST", "SGT": "SGT", "MYT": "MYT", "GMT": "GMT", "HKST": "HKST", "WITA": "WITA", "GFT": "GFT", "WARST": "WARST", "AWDT": "AWDT", "HNPM": "HNPM", "ACST": "ACST", "SRT": "SRT", "HNOG": "HNOG", "WAT": "WAT", "HECU": "HECU", "MDT": "MDT", "HNT": "HNT", "AKDT": "AKDT", "VET": "VET", "WIT": "WIT", "PST": "PST", "SAST": "SAST", "CLT": "CLT", "COT": "COT", "HNCU": "HNCU", "WESZ": "WESZ", "IST": "IST", "PDT": "PDT", "TMST": "TMST", "OESZ": "OESZ", "CST": "CST", "ACWST": "ACWST", "∅∅∅": "∅∅∅", "JDT": "JDT", "ACDT": "ACDT", "HENOMX": "HENOMX", "HNNOMX": "HNNOMX", "HEPM": "HEPM", "NZDT": "NZDT", "JST": "JST", "COST": "COST", "CLST": "CLST", "TMT": "TMT", "CDT": "CDT", "ADT": "ADT", "OEZ": "OEZ", "ECT": "ECT", "EDT": "EDT", "WIB": "WIB", "AEDT": "AEDT", "CHADT": "CHADT", "BOT": "BOT", "CAT": "CAT", "HADT": "HADT", "HEOG": "HEOG"}, } } @@ -310,7 +310,12 @@ func (kkj *kkj) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -324,7 +329,12 @@ func (kkj *kkj) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +348,12 @@ func (kkj *kkj) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -359,7 +374,12 @@ func (kkj *kkj) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kkj_CM/kkj_CM.go b/kkj_CM/kkj_CM.go index af5962619..332504179 100644 --- a/kkj_CM/kkj_CM.go +++ b/kkj_CM/kkj_CM.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -63,7 +63,7 @@ func New() locales.Translator { daysNarrow: []string{"so", "lu", "ma", "mɛ", "ye", "va", "ms"}, daysShort: []string{"sɔndi", "lundi", "mardi", "mɛrkɛrɛdi", "yedi", "vaŋdɛrɛdi", "mɔnɔ sɔndi"}, daysWide: []string{"sɔndi", "lundi", "mardi", "mɛrkɛrɛdi", "yedi", "vaŋdɛrɛdi", "mɔnɔ sɔndi"}, - timezones: map[string]string{"WAT": "WAT", "HKT": "HKT", "∅∅∅": "∅∅∅", "NZDT": "NZDT", "WESZ": "WESZ", "WAST": "WAST", "EST": "EST", "WITA": "WITA", "ARST": "ARST", "LHDT": "LHDT", "SRT": "SRT", "PDT": "PDT", "CDT": "CDT", "JST": "JST", "LHST": "LHST", "COT": "COT", "EAT": "EAT", "HADT": "HADT", "AWST": "AWST", "UYT": "UYT", "HKST": "HKST", "VET": "VET", "WIB": "WIB", "ACWDT": "ACWDT", "CLST": "CLST", "CAT": "CAT", "COST": "COST", "AEDT": "AEDT", "ACWST": "ACWST", "ADT": "ADT", "MST": "MST", "BOT": "BOT", "NZST": "NZST", "AWDT": "AWDT", "MESZ": "MESZ", "ACDT": "ACDT", "ART": "ART", "HAST": "HAST", "SAST": "SAST", "MDT": "MDT", "SGT": "SGT", "MEZ": "MEZ", "TMST": "TMST", "AKDT": "AKDT", "PST": "PST", "AST": "AST", "CST": "CST", "ChST": "ChST", "HAT": "HAT", "BT": "BT", "GMT": "GMT", "ECT": "ECT", "WART": "WART", "WIT": "WIT", "CHAST": "CHAST", "IST": "IST", "MYT": "MYT", "GFT": "GFT", "TMT": "TMT", "HNT": "HNT", "UYST": "UYST", "CHADT": "CHADT", "OESZ": "OESZ", "WEZ": "WEZ", "AEST": "AEST", "CLT": "CLT", "AKST": "AKST", "EDT": "EDT", "GYT": "GYT", "JDT": "JDT", "OEZ": "OEZ", "ACST": "ACST", "WARST": "WARST"}, + timezones: map[string]string{"AEDT": "AEDT", "TMT": "TMT", "CAT": "CAT", "COT": "COT", "MST": "MST", "PST": "PST", "WEZ": "WEZ", "HEPM": "HEPM", "GFT": "GFT", "WARST": "WARST", "WIT": "WIT", "HNT": "HNT", "WITA": "WITA", "CLT": "CLT", "JST": "JST", "WAST": "WAST", "WIB": "WIB", "VET": "VET", "IST": "IST", "HNCU": "HNCU", "WESZ": "WESZ", "ACST": "ACST", "GMT": "GMT", "JDT": "JDT", "ACDT": "ACDT", "HNPMX": "HNPMX", "HAST": "HAST", "AWST": "AWST", "SAST": "SAST", "EDT": "EDT", "UYST": "UYST", "OEZ": "OEZ", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "MEZ": "MEZ", "WAT": "WAT", "ECT": "ECT", "UYT": "UYT", "AST": "AST", "ACWST": "ACWST", "CLST": "CLST", "SGT": "SGT", "CST": "CST", "HNOG": "HNOG", "ART": "ART", "HECU": "HECU", "MYT": "MYT", "HADT": "HADT", "ARST": "ARST", "NZDT": "NZDT", "HEEG": "HEEG", "EAT": "EAT", "HKST": "HKST", "LHDT": "LHDT", "NZST": "NZST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "HEOG": "HEOG", "PDT": "PDT", "AWDT": "AWDT", "HKT": "HKT", "HNPM": "HNPM", "CHAST": "CHAST", "CHADT": "CHADT", "TMST": "TMST", "MDT": "MDT", "SRT": "SRT", "ACWDT": "ACWDT", "CDT": "CDT", "WART": "WART", "COST": "COST", "AKDT": "AKDT", "HENOMX": "HENOMX", "EST": "EST", "GYT": "GYT", "ADT": "ADT", "BT": "BT", "LHST": "LHST", "ChST": "ChST", "BOT": "BOT", "HEPMX": "HEPMX", "AKST": "AKST", "HAT": "HAT", "AEST": "AEST", "MESZ": "MESZ"}, } } @@ -310,7 +310,12 @@ func (kkj *kkj_CM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -324,7 +329,12 @@ func (kkj *kkj_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +348,12 @@ func (kkj *kkj_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -359,7 +374,12 @@ func (kkj *kkj_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kkj.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kl/kl.go b/kl/kl.go index e0f52b856..53dd0a754 100644 --- a/kl/kl.go +++ b/kl/kl.go @@ -49,12 +49,12 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: ".", - minus: "-", + minus: "−", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "Skr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "kr.", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "Skr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -68,7 +68,7 @@ func New() locales.Translator { erasAbbreviated: []string{"Kr.in.si.", "Kr.in.king."}, erasNarrow: []string{"Kr.s.", "Kr.k."}, erasWide: []string{"Kristusip inunngornerata siornagut", "Kristusip inunngornerata kingornagut"}, - timezones: map[string]string{"COST": "COST", "AEDT": "AEDT", "WARST": "WARST", "AWDT": "AWDT", "HKST": "HKST", "OESZ": "OESZ", "IST": "IST", "EDT": "EDT", "PST": "PST", "ECT": "ECT", "AEST": "AEST", "WAST": "WAST", "ADT": "ADT", "CLST": "CLST", "SGT": "SGT", "MEZ": "MEZ", "HAT": "HAT", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "CDT": "CDT", "GYT": "GYT", "OEZ": "OEZ", "VET": "VET", "CLT": "CLT", "ACWST": "ACWST", "EAT": "EAT", "TMST": "TMST", "MYT": "MYT", "NZDT": "NZDT", "BT": "BT", "HAST": "HAST", "PDT": "PDT", "JDT": "JDT", "WIB": "WIB", "ACST": "ACST", "MDT": "MDT", "CAT": "CAT", "GMT": "GMT", "WEZ": "WEZ", "COT": "COT", "ARST": "ARST", "EST": "EST", "SAST": "SAST", "ChST": "ChST", "BOT": "BOT", "LHST": "LHST", "SRT": "SRT", "WESZ": "WESZ", "CHADT": "CHADT", "WAT": "WAT", "HADT": "HADT", "ACWDT": "ACWDT", "WITA": "WITA", "TMT": "TMT", "MST": "MST", "MESZ": "MESZ", "WART": "WART", "AKST": "AKST", "CST": "CST", "HNT": "HNT", "WIT": "WIT", "UYST": "UYST", "CHAST": "CHAST", "GFT": "GFT", "AWST": "AWST", "LHDT": "LHDT", "AST": "AST", "NZST": "NZST", "JST": "JST", "HKT": "HKT", "AKDT": "AKDT", "ART": "ART", "UYT": "UYT"}, + timezones: map[string]string{"NZST": "NZST", "BOT": "BOT", "EAT": "EAT", "COST": "COST", "HKT": "HKT", "WITA": "WITA", "AEDT": "AEDT", "HEPM": "HEPM", "WART": "WART", "SRT": "SRT", "ADT": "ADT", "UYST": "UYST", "HKST": "HKST", "ACST": "ACST", "EST": "EST", "CST": "CST", "LHST": "LHST", "OEZ": "OEZ", "MST": "MST", "AKDT": "AKDT", "WAST": "WAST", "CDT": "CDT", "ACWDT": "ACWDT", "MEZ": "MEZ", "JST": "JST", "GFT": "GFT", "ACDT": "ACDT", "OESZ": "OESZ", "HECU": "HECU", "HEPMX": "HEPMX", "EDT": "EDT", "AWDT": "AWDT", "MESZ": "MESZ", "CLT": "CLT", "WAT": "WAT", "MDT": "MDT", "GYT": "GYT", "ARST": "ARST", "HNEG": "HNEG", "ECT": "ECT", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "PDT": "PDT", "∅∅∅": "∅∅∅", "AKST": "AKST", "WIT": "WIT", "HAST": "HAST", "NZDT": "NZDT", "AST": "AST", "HADT": "HADT", "HNT": "HNT", "HNPM": "HNPM", "CHADT": "CHADT", "COT": "COT", "HEOG": "HEOG", "CHAST": "CHAST", "BT": "BT", "ART": "ART", "HENOMX": "HENOMX", "VET": "VET", "HAT": "HAT", "WEZ": "WEZ", "WESZ": "WESZ", "IST": "IST", "JDT": "JDT", "HEEG": "HEEG", "WARST": "WARST", "CAT": "CAT", "SGT": "SGT", "ACWST": "ACWST", "HNOG": "HNOG", "AWST": "AWST", "AEST": "AEST", "LHDT": "LHDT", "TMT": "TMT", "PST": "PST", "UYT": "UYT", "SAST": "SAST", "CLST": "CLST", "TMST": "TMST", "HNPMX": "HNPMX", "ChST": "ChST", "MYT": "MYT", "WIB": "WIB", "GMT": "GMT"}, } } @@ -188,7 +188,7 @@ func (kl *kl) WeekdaysWide() []string { func (kl *kl) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -214,7 +214,9 @@ func (kl *kl) FmtNumber(num float64, v uint64) string { } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -229,7 +231,7 @@ func (kl *kl) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (kl *kl) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + l := len(s) + 7 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -243,7 +245,9 @@ func (kl *kl) FmtPercent(num float64, v uint64) string { } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -263,7 +267,7 @@ func (kl *kl) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kl.currencies[currency] - l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -293,7 +297,9 @@ func (kl *kl) FmtCurrency(num float64, v uint64, currency currency.Type) string } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -321,7 +327,7 @@ func (kl *kl) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kl.currencies[currency] - l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -352,7 +358,9 @@ func (kl *kl) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } else { @@ -386,7 +394,12 @@ func (kl *kl) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -420,7 +433,12 @@ func (kl *kl) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +456,12 @@ func (kl *kl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +482,12 @@ func (kl *kl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kl_GL/kl_GL.go b/kl_GL/kl_GL.go index 064ed54ba..52b853576 100644 --- a/kl_GL/kl_GL.go +++ b/kl_GL/kl_GL.go @@ -49,12 +49,12 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: ".", - minus: "-", + minus: "−", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, @@ -68,7 +68,7 @@ func New() locales.Translator { erasAbbreviated: []string{"Kr.in.si.", "Kr.in.king."}, erasNarrow: []string{"Kr.s.", "Kr.k."}, erasWide: []string{"Kristusip inunngornerata siornagut", "Kristusip inunngornerata kingornagut"}, - timezones: map[string]string{"JST": "JST", "GFT": "GFT", "SGT": "SGT", "TMST": "TMST", "GYT": "GYT", "NZST": "NZST", "WIT": "WIT", "WITA": "WITA", "∅∅∅": "∅∅∅", "PDT": "PDT", "WIB": "WIB", "AEDT": "AEDT", "BOT": "BOT", "CLT": "CLT", "WAST": "WAST", "EAT": "EAT", "VET": "VET", "ART": "ART", "OESZ": "OESZ", "MST": "MST", "CAT": "CAT", "HNT": "HNT", "UYT": "UYT", "MEZ": "MEZ", "AEST": "AEST", "IST": "IST", "PST": "PST", "MDT": "MDT", "NZDT": "NZDT", "ACST": "ACST", "AST": "AST", "EDT": "EDT", "SRT": "SRT", "MESZ": "MESZ", "GMT": "GMT", "ARST": "ARST", "HAST": "HAST", "CDT": "CDT", "AWST": "AWST", "CLST": "CLST", "WESZ": "WESZ", "EST": "EST", "TMT": "TMT", "UYST": "UYST", "OEZ": "OEZ", "WARST": "WARST", "JDT": "JDT", "CHAST": "CHAST", "LHST": "LHST", "CHADT": "CHADT", "ECT": "ECT", "WAT": "WAT", "MYT": "MYT", "CST": "CST", "ChST": "ChST", "AWDT": "AWDT", "HADT": "HADT", "LHDT": "LHDT", "WEZ": "WEZ", "ACWST": "ACWST", "AKST": "AKST", "BT": "BT", "COST": "COST", "COT": "COT", "ACWDT": "ACWDT", "AKDT": "AKDT", "HAT": "HAT", "HKST": "HKST", "WART": "WART", "ADT": "ADT", "SAST": "SAST", "HKT": "HKT", "ACDT": "ACDT"}, + timezones: map[string]string{"TMT": "TMT", "ADT": "ADT", "HNOG": "HNOG", "AEDT": "AEDT", "MEZ": "MEZ", "CLT": "CLT", "OEZ": "OEZ", "HENOMX": "HENOMX", "HAST": "HAST", "AWDT": "AWDT", "HAT": "HAT", "WITA": "WITA", "SAST": "SAST", "CLST": "CLST", "WAT": "WAT", "OESZ": "OESZ", "AKDT": "AKDT", "BT": "BT", "UYT": "UYT", "AKST": "AKST", "ChST": "ChST", "HNEG": "HNEG", "ACDT": "ACDT", "CAT": "CAT", "WART": "WART", "HNPMX": "HNPMX", "AEST": "AEST", "HNPM": "HNPM", "HEPM": "HEPM", "IST": "IST", "ACST": "ACST", "WARST": "WARST", "GYT": "GYT", "∅∅∅": "∅∅∅", "EAT": "EAT", "HNCU": "HNCU", "WEZ": "WEZ", "AWST": "AWST", "NZST": "NZST", "ACWST": "ACWST", "HNT": "HNT", "HKT": "HKT", "MESZ": "MESZ", "ARST": "ARST", "JDT": "JDT", "HEEG": "HEEG", "EDT": "EDT", "CDT": "CDT", "WIT": "WIT", "PDT": "PDT", "CHAST": "CHAST", "WAST": "WAST", "MYT": "MYT", "WIB": "WIB", "WESZ": "WESZ", "ACWDT": "ACWDT", "HKST": "HKST", "TMST": "TMST", "ART": "ART", "LHST": "LHST", "HNNOMX": "HNNOMX", "LHDT": "LHDT", "GFT": "GFT", "COST": "COST", "HEPMX": "HEPMX", "PST": "PST", "MST": "MST", "UYST": "UYST", "JST": "JST", "ECT": "ECT", "COT": "COT", "NZDT": "NZDT", "BOT": "BOT", "GMT": "GMT", "MDT": "MDT", "SRT": "SRT", "VET": "VET", "HEOG": "HEOG", "SGT": "SGT", "HECU": "HECU", "EST": "EST", "CST": "CST", "AST": "AST", "HADT": "HADT", "CHADT": "CHADT"}, } } @@ -188,7 +188,7 @@ func (kl *kl_GL) WeekdaysWide() []string { func (kl *kl_GL) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -214,7 +214,9 @@ func (kl *kl_GL) FmtNumber(num float64, v uint64) string { } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -229,7 +231,7 @@ func (kl *kl_GL) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (kl *kl_GL) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 5 + l := len(s) + 7 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -243,7 +245,9 @@ func (kl *kl_GL) FmtPercent(num float64, v uint64) string { } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -263,7 +267,7 @@ func (kl *kl_GL) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kl.currencies[currency] - l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -293,7 +297,9 @@ func (kl *kl_GL) FmtCurrency(num float64, v uint64, currency currency.Type) stri } if num < 0 { - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } // reverse @@ -321,7 +327,7 @@ func (kl *kl_GL) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kl.currencies[currency] - l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -352,7 +358,9 @@ func (kl *kl_GL) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - b = append(b, kl.minus[0]) + for j := len(kl.minus) - 1; j >= 0; j-- { + b = append(b, kl.minus[j]) + } } else { @@ -386,7 +394,12 @@ func (kl *kl_GL) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -420,7 +433,12 @@ func (kl *kl_GL) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +456,12 @@ func (kl *kl_GL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +482,12 @@ func (kl *kl_GL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kln/kln.go b/kln/kln.go index 0e09f94f3..aa2d0d07c 100644 --- a/kln/kln.go +++ b/kln/kln.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mul", "Ngat", "Taa", "Iwo", "Mam", "Paa", "Nge", "Roo", "Bur", "Epe", "Kpt", "Kpa"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AM", "KO"}, erasNarrow: []string{"", ""}, erasWide: []string{"Amait kesich Jesu", "Kokakesich Jesu"}, - timezones: map[string]string{"CST": "CST", "BOT": "BOT", "MEZ": "MEZ", "HNT": "HNT", "GMT": "GMT", "HAST": "HAST", "AWST": "AWST", "WART": "WART", "ACWDT": "ACWDT", "AEDT": "AEDT", "WAST": "WAST", "PST": "PST", "CAT": "CAT", "HAT": "HAT", "AKDT": "AKDT", "BT": "BT", "CHADT": "CHADT", "PDT": "PDT", "UYST": "UYST", "GFT": "GFT", "ACST": "ACST", "SGT": "SGT", "ART": "ART", "EST": "EST", "WITA": "WITA", "MST": "MST", "UYT": "UYT", "OESZ": "OESZ", "WARST": "WARST", "HADT": "HADT", "SAST": "SAST", "SRT": "SRT", "WESZ": "WESZ", "EDT": "EDT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "ARST": "ARST", "AKST": "AKST", "MYT": "MYT", "JDT": "JDT", "WEZ": "WEZ", "COT": "COT", "WIB": "WIB", "AEST": "AEST", "GYT": "GYT", "CDT": "CDT", "LHDT": "LHDT", "LHST": "LHST", "EAT": "EAT", "TMT": "TMT", "ChST": "ChST", "CLST": "CLST", "ACDT": "ACDT", "ECT": "ECT", "VET": "VET", "AST": "AST", "NZST": "NZST", "WIT": "WIT", "IST": "IST", "MDT": "MDT", "ACWST": "ACWST", "HKST": "HKST", "COST": "COST", "MESZ": "MESZ", "TMST": "TMST", "HKT": "HKT", "CLT": "CLT", "JST": "JST", "CHAST": "CHAST", "WAT": "WAT", "ADT": "ADT", "NZDT": "NZDT", "AWDT": "AWDT"}, + timezones: map[string]string{"HEPMX": "HEPMX", "LHST": "LHST", "HEEG": "HEEG", "WAT": "WAT", "WAST": "WAST", "SAST": "SAST", "IST": "IST", "CLST": "CLST", "UYST": "UYST", "PST": "PST", "AWST": "AWST", "AWDT": "AWDT", "CHADT": "CHADT", "SRT": "SRT", "AEDT": "AEDT", "WITA": "WITA", "HNPMX": "HNPMX", "GYT": "GYT", "WIT": "WIT", "WESZ": "WESZ", "ACWDT": "ACWDT", "TMST": "TMST", "EST": "EST", "WARST": "WARST", "HECU": "HECU", "EDT": "EDT", "CST": "CST", "PDT": "PDT", "HKT": "HKT", "OESZ": "OESZ", "ECT": "ECT", "VET": "VET", "WEZ": "WEZ", "ART": "ART", "BOT": "BOT", "WIB": "WIB", "HNPM": "HNPM", "JDT": "JDT", "HNCU": "HNCU", "HNEG": "HNEG", "MYT": "MYT", "HNNOMX": "HNNOMX", "ACWST": "ACWST", "HKST": "HKST", "∅∅∅": "∅∅∅", "WART": "WART", "NZDT": "NZDT", "AKST": "AKST", "ADT": "ADT", "MST": "MST", "AKDT": "AKDT", "HEPM": "HEPM", "ChST": "ChST", "COT": "COT", "COST": "COST", "UYT": "UYT", "CDT": "CDT", "HAST": "HAST", "NZST": "NZST", "JST": "JST", "CAT": "CAT", "SGT": "SGT", "MEZ": "MEZ", "MESZ": "MESZ", "LHDT": "LHDT", "CHAST": "CHAST", "HNT": "HNT", "HAT": "HAT", "ARST": "ARST", "HNOG": "HNOG", "ACST": "ACST", "ACDT": "ACDT", "GMT": "GMT", "HADT": "HADT", "MDT": "MDT", "BT": "BT", "GFT": "GFT", "TMT": "TMT", "HENOMX": "HENOMX", "OEZ": "OEZ", "AST": "AST", "HEOG": "HEOG", "AEST": "AEST", "CLT": "CLT", "EAT": "EAT"}, } } @@ -330,7 +330,12 @@ func (kln *kln) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kln *kln) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kln *kln) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kln *kln) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kln_KE/kln_KE.go b/kln_KE/kln_KE.go index 8f7bc324e..4a54d3554 100644 --- a/kln_KE/kln_KE.go +++ b/kln_KE/kln_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Mul", "Ngat", "Taa", "Iwo", "Mam", "Paa", "Nge", "Roo", "Bur", "Epe", "Kpt", "Kpa"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AM", "KO"}, erasNarrow: []string{"", ""}, erasWide: []string{"Amait kesich Jesu", "Kokakesich Jesu"}, - timezones: map[string]string{"COST": "COST", "ECT": "ECT", "ACWDT": "ACWDT", "ART": "ART", "TMT": "TMT", "CST": "CST", "MYT": "MYT", "BT": "BT", "UYT": "UYT", "MESZ": "MESZ", "SGT": "SGT", "AKST": "AKST", "AST": "AST", "MDT": "MDT", "NZDT": "NZDT", "JST": "JST", "OEZ": "OEZ", "HKST": "HKST", "IST": "IST", "UYST": "UYST", "CHAST": "CHAST", "WIT": "WIT", "SRT": "SRT", "ARST": "ARST", "CLT": "CLT", "AEST": "AEST", "WARST": "WARST", "EST": "EST", "LHDT": "LHDT", "WEZ": "WEZ", "CDT": "CDT", "MST": "MST", "∅∅∅": "∅∅∅", "ChST": "ChST", "BOT": "BOT", "HAT": "HAT", "HKT": "HKT", "CHADT": "CHADT", "ADT": "ADT", "WESZ": "WESZ", "WIB": "WIB", "PST": "PST", "WITA": "WITA", "GYT": "GYT", "HNT": "HNT", "JDT": "JDT", "ACDT": "ACDT", "EAT": "EAT", "AKDT": "AKDT", "ACST": "ACST", "PDT": "PDT", "GMT": "GMT", "OESZ": "OESZ", "VET": "VET", "HAST": "HAST", "AWST": "AWST", "MEZ": "MEZ", "HADT": "HADT", "CLST": "CLST", "LHST": "LHST", "GFT": "GFT", "COT": "COT", "ACWST": "ACWST", "AEDT": "AEDT", "WART": "WART", "WAST": "WAST", "CAT": "CAT", "NZST": "NZST", "AWDT": "AWDT", "SAST": "SAST", "WAT": "WAT", "EDT": "EDT", "TMST": "TMST"}, + timezones: map[string]string{"WARST": "WARST", "MDT": "MDT", "CDT": "CDT", "MEZ": "MEZ", "JST": "JST", "JDT": "JDT", "HNEG": "HNEG", "WAT": "WAT", "ECT": "ECT", "PDT": "PDT", "NZDT": "NZDT", "LHDT": "LHDT", "TMT": "TMT", "AST": "AST", "HADT": "HADT", "WEZ": "WEZ", "NZST": "NZST", "∅∅∅": "∅∅∅", "VET": "VET", "IST": "IST", "EDT": "EDT", "EAT": "EAT", "GMT": "GMT", "ADT": "ADT", "MYT": "MYT", "AWDT": "AWDT", "BOT": "BOT", "WAST": "WAST", "COST": "COST", "AKST": "AKST", "UYST": "UYST", "HAT": "HAT", "WITA": "WITA", "HNPM": "HNPM", "CHAST": "CHAST", "OESZ": "OESZ", "OEZ": "OEZ", "CAT": "CAT", "HNPMX": "HNPMX", "AKDT": "AKDT", "ART": "ART", "CLT": "CLT", "HEEG": "HEEG", "ACDT": "ACDT", "ACWDT": "ACWDT", "HKST": "HKST", "HEPM": "HEPM", "CLST": "CLST", "ChST": "ChST", "EST": "EST", "UYT": "UYT", "HAST": "HAST", "BT": "BT", "ACWST": "ACWST", "HNOG": "HNOG", "MESZ": "MESZ", "TMST": "TMST", "HEOG": "HEOG", "HKT": "HKT", "AEDT": "AEDT", "LHST": "LHST", "ACST": "ACST", "AWST": "AWST", "CST": "CST", "GYT": "GYT", "WIB": "WIB", "SRT": "SRT", "CHADT": "CHADT", "HNCU": "HNCU", "SAST": "SAST", "COT": "COT", "SGT": "SGT", "WIT": "WIT", "HNT": "HNT", "PST": "PST", "WESZ": "WESZ", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "ARST": "ARST", "AEST": "AEST", "WART": "WART", "MST": "MST", "HEPMX": "HEPMX", "GFT": "GFT", "HECU": "HECU"}, } } @@ -330,7 +330,12 @@ func (kln *kln_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (kln *kln_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (kln *kln_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (kln *kln_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/km/km.go b/km/km.go index 6276c6c57..a64869830 100644 --- a/km/km.go +++ b/km/km.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "៛", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "៛", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "មករា", "កុម្ភៈ", "មីនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsNarrow: []string{"", "ម", "ក", "ម", "ម", "ឧ", "ម", "ក", "ស", "ក", "ត", "វ", "ធ"}, monthsWide: []string{"", "មករា", "កុម្ភៈ", "មីនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"}, daysAbbreviated: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, - daysNarrow: []string{"អា", "ច", "អ", "ពុ", "ព្រ", "សុ", "ស"}, - daysShort: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, + daysNarrow: []string{"អ", "ច", "អ", "ព", "ព", "ស", "ស"}, + daysShort: []string{"អា", "ច", "អ", "ពុ", "ព្រ", "សុ", "ស"}, daysWide: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, - periodsAbbreviated: []string{"ព្រឹក", "ល្ងាច"}, - periodsNarrow: []string{"ព្រឹក", "ល្ងាច"}, - periodsWide: []string{"ព្រឹក", "ល្ងាច"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"មុន គ.ស.", "គ.ស."}, erasNarrow: []string{"", ""}, erasWide: []string{"មុន\u200bគ្រិស្តសករាជ", "គ្រិស្តសករាជ"}, - timezones: map[string]string{"CHAST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bចាថាំ", "HAST": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "SRT": "ម៉ោង\u200bនៅ\u200bសូរីណាម", "WEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "WAT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bលិច", "WIT": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bកើត", "NZDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bនូវែលសេឡង់", "WARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "AEDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "ADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអាត្លង់ទិក", "MST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bតំបន់\u200bភ្នំ\u200bអាមេរិក\u200bខាង\u200bជើង", "CLT": "ម៉ោងស្តង់ដារនៅឈីលី", "HAT": "ម៉ោង\u200bពេលថ្ងៃ\u200bនៅ\u200bញូហ្វោនឡែន", "HKT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bហុងកុង", "AKST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាឡាស្កា", "EDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគខាង\u200bកើតនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "AKDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bអាឡាស្កា", "EST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bកើត\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "MESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "ARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន", "GYT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន", "MDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bតំបន់\u200bភ្នំ\u200bអាមេរិក\u200bភាគ\u200bខាង\u200bជើង", "ChST": "ម៉ោង\u200bនៅ\u200bចាំម៉ូរ៉ូ", "LHDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bឡតហៅ", "ECT": "ម៉ោង\u200bនៅ\u200bអេក្វាទ័រ", "WIB": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bលិច", "TMST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bតួកម៉េនីស្ថាន\u200b", "CST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "BOT": "ម៉ោង\u200bនៅ\u200bបូលីវី", "CLST": "ម៉ោងរដូវក្តៅនៅឈីលី", "AWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "GMT": "ម៉ោងនៅគ្រីនវិច", "ACWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "PDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200b\u200bភាគ\u200bខាងលិច\u200bនៅ\u200bអាមេរិក\u200bភាគ\u200bខាង\u200bជើង", "MYT": "ម៉ោង\u200bនៅ\u200bម៉ាឡេស៊ី", "ACWST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "WAST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាហ្វ្រិក\u200b\u200b\u200bខាងលិច", "GFT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន\u200bបារាំង", "NZST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bនូវែលសេឡង់", "LHST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bឡត\u200bហៅ", "IST": "ម៉ោង\u200bនៅ\u200bឥណ្ឌា", "∅∅∅": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអេហ្សស", "BT": "ម៉ោងនៅប៊ូតាន", "WART": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "AEST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "OEZ": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "HKST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហុងកុង", "PST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bលិច\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "JDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅជប៉ុន", "COT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bកូឡុំប៊ី", "HNT": "ម៉ោង\u200b\u200bស្តង់ដារ\u200b\u200bនៅ\u200bញូហ្វោនឡែន", "WESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "VET": "ម៉ោង\u200bនៅ\u200bវ៉េណេស៊ុយអេឡា", "ACDT": "ម៉ោង\u200bពេលថ្ងៃ\u200b\u200b\u200b\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "HADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "EAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bកើត", "SAST": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bត្បូង", "WITA": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200b\u200bកណ្ដាល", "JST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bជប៉ុន", "CHADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bចាថាំ", "ACST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "SGT": "ម៉ោង\u200bនៅ\u200bសិង្ហបូរី", "TMT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅតួកម៉េនីស្ថាន", "CAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bកណ្ដាល", "UYT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "UYST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "OESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "MEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "COST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bកូឡុំប៊ី", "AST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាត្លង់ទិក", "AWST": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "ART": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន", "CDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង"}, + timezones: map[string]string{"HAST": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "ACWST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "HKT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bហុងកុង", "JDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅជប៉ុន", "HNPMX": "ម៉ោង\u200bស្តង់ដា\u200bនៅ\u200bប៉ាសីុហ្វិក\u200bម៉ិកស៊ិក", "HEPMX": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bប៉ាសីុហ្វិក\u200bម៉ិកស៊ិក", "HADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "NZDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bនូវែលសេឡង់", "CLST": "ម៉ោងរដូវក្តៅនៅឈីលី", "ACDT": "ម៉ោង\u200bពេលថ្ងៃ\u200b\u200b\u200b\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "WIB": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bលិច", "HAT": "ម៉ោង\u200bពេលថ្ងៃ\u200bនៅ\u200bញូហ្វោនឡែន", "∅∅∅": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាម៉ាសូន", "HNCU": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bគុយបា", "EST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bកើត\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "EDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគខាង\u200bកើតនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "HKST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហុងកុង", "AWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "NZST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bនូវែលសេឡង់", "SAST": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bត្បូង", "WIT": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bកើត", "BT": "ម៉ោងនៅប៊ូតាន", "WEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "BOT": "ម៉ោង\u200bនៅ\u200bបូលីវី", "WART": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "MST": "MST", "ADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអាត្លង់ទិក", "COT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bកូឡុំប៊ី", "WITA": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200b\u200bកណ្ដាល", "CLT": "ម៉ោងស្តង់ដារនៅឈីលី", "WAT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bលិច", "OESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "MDT": "MDT", "CST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "CDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "UYST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "HNPM": "ម៉ោង\u200bស្តង់ដារ\u200bនៅសង់\u200bព្យែរ និង\u200bមីគុយឡុង", "MESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "HENOMX": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bម៉ិកស៊ិកភាគពាយព្យ", "SGT": "ម៉ោង\u200bនៅ\u200bសិង្ហបូរី", "GMT": "ម៉ោងនៅគ្រីនវិច", "VET": "ម៉ោង\u200bនៅ\u200bវ៉េណេស៊ុយអេឡា", "PDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200b\u200bភាគ\u200bខាងលិច\u200bនៅ\u200bអាមេរិក\u200bភាគ\u200bខាង\u200bជើង", "CHAST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bចាថាំ", "IST": "ម៉ោង\u200bនៅ\u200bឥណ្ឌា", "ECT": "ម៉ោង\u200bនៅ\u200bអេក្វាទ័រ", "COST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bកូឡុំប៊ី", "AWST": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "GYT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន", "PST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bលិច\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "MEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "LHST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bឡត\u200bហៅ", "ACST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "HNOG": "ម៉ោងស្តង់ដារនៅហ្គ្រីនលែនខាងលិច", "ACWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "ART": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន", "TMST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bតួកម៉េនីស្ថាន\u200b", "WAST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាហ្វ្រិក\u200b\u200b\u200bខាងលិច", "OEZ": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "MYT": "ម៉ោង\u200bនៅ\u200bម៉ាឡេស៊ី", "HEPM": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅសង់\u200bព្យែរ និង\u200bមីគុយឡុង", "TMT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅតួកម៉េនីស្ថាន", "AKST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាឡាស្កា", "LHDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bឡតហៅ", "UYT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "SRT": "ម៉ោង\u200bនៅ\u200bសូរីណាម", "HEOG": "ម៉ោងរដូវក្តៅនៅហ្គ្រីនលែនខាងលិច", "AEST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "ChST": "ម៉ោង\u200bនៅ\u200bចាំម៉ូរ៉ូ", "HNNOMX": "ម៉ោង\u200bស្តង់ដា\u200bនៅ\u200bម៉ិកស៊ិកភាគពាយព្យ", "HNT": "ម៉ោង\u200b\u200bស្តង់ដារ\u200b\u200bនៅ\u200bញូហ្វោនឡែន", "CAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bកណ្ដាល", "EAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bកើត", "AKDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bអាឡាស្កា", "CHADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bចាថាំ", "JST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bជប៉ុន", "HNEG": "ម៉ោង\u200b\u200b\u200bស្តង់ដារ\u200bនៅ\u200b\u200bហ្គ្រីនលែន\u200bខាង\u200bកើត", "GFT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន\u200bបារាំង", "AST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាត្លង់ទិក", "ARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន", "WESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "AEDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "HEEG": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហ្គ្រីនលែនខាង\u200bកើត", "WARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "HECU": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bគុយបា"}, } } @@ -282,10 +282,6 @@ func (km *km) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - if num < 0 { b = append(b, km.minus[0]) } @@ -306,6 +302,8 @@ func (km *km) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, symbol...) + return string(b) } @@ -342,18 +340,8 @@ func (km *km) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - b = append(b, km.currencyNegativePrefix[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - } // reverse @@ -374,6 +362,10 @@ func (km *km) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { b = append(b, km.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, symbol...) } return string(b) @@ -407,7 +399,12 @@ func (km *km) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +418,12 @@ func (km *km) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +439,12 @@ func (km *km) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/km_KH/km_KH.go b/km_KH/km_KH.go index 8243a6536..b16312f42 100644 --- a/km_KH/km_KH.go +++ b/km_KH/km_KH.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "មករា", "កុម្ភៈ", "មីនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsNarrow: []string{"", "ម", "ក", "ម", "ម", "ឧ", "ម", "ក", "ស", "ក", "ត", "វ", "ធ"}, monthsWide: []string{"", "មករា", "កុម្ភៈ", "មីនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"}, daysAbbreviated: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, - daysNarrow: []string{"អា", "ច", "អ", "ពុ", "ព្រ", "សុ", "ស"}, - daysShort: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, + daysNarrow: []string{"អ", "ច", "អ", "ព", "ព", "ស", "ស"}, + daysShort: []string{"អា", "ច", "អ", "ពុ", "ព្រ", "សុ", "ស"}, daysWide: []string{"អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"}, - periodsAbbreviated: []string{"ព្រឹក", "ល្ងាច"}, - periodsNarrow: []string{"ព្រឹក", "ល្ងាច"}, - periodsWide: []string{"ព្រឹក", "ល្ងាច"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"មុន គ.ស.", "គ.ស."}, erasNarrow: []string{"", ""}, erasWide: []string{"មុន\u200bគ្រិស្តសករាជ", "គ្រិស្តសករាជ"}, - timezones: map[string]string{"EST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bកើត\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "NZST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bនូវែលសេឡង់", "BOT": "ម៉ោង\u200bនៅ\u200bបូលីវី", "HAT": "ម៉ោង\u200bពេលថ្ងៃ\u200bនៅ\u200bញូហ្វោនឡែន", "CHAST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bចាថាំ", "CHADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bចាថាំ", "COT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bកូឡុំប៊ី", "EAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bកើត", "PDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200b\u200bភាគ\u200bខាងលិច\u200bនៅ\u200bអាមេរិក\u200bភាគ\u200bខាង\u200bជើង", "CLT": "ម៉ោងស្តង់ដារនៅឈីលី", "CDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "MST": "MST", "GMT": "ម៉ោងនៅគ្រីនវិច", "UYST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "MESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "WAST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាហ្វ្រិក\u200b\u200b\u200bខាងលិច", "WITA": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200b\u200bកណ្ដាល", "TMST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bតួកម៉េនីស្ថាន\u200b", "HADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "AKDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bអាឡាស្កា", "GFT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន\u200bបារាំង", "WARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "MDT": "MDT", "NZDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bនូវែលសេឡង់", "AWST": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "AWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "CLST": "ម៉ោងរដូវក្តៅនៅឈីលី", "WEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "WESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "BT": "ម៉ោងនៅប៊ូតាន", "UYT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "JDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅជប៉ុន", "AKST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាឡាស្កា", "JST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bជប៉ុន", "OEZ": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "HKT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bហុងកុង", "AST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាត្លង់ទិក", "ECT": "ម៉ោង\u200bនៅ\u200bអេក្វាទ័រ", "WART": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "ADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអាត្លង់ទិក", "IST": "ម៉ោង\u200bនៅ\u200bឥណ្ឌា", "HNT": "ម៉ោង\u200b\u200bស្តង់ដារ\u200b\u200bនៅ\u200bញូហ្វោនឡែន", "WIT": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bកើត", "SRT": "ម៉ោង\u200bនៅ\u200bសូរីណាម", "MEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "ACST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "WIB": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bលិច", "AEDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "COST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bកូឡុំប៊ី", "ACWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "ART": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន", "PST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bលិច\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "OESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "ACDT": "ម៉ោង\u200bពេលថ្ងៃ\u200b\u200b\u200b\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "ACWST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "AEST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "WAT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bលិច", "EDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគខាង\u200bកើតនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "LHST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bឡត\u200bហៅ", "HAST": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "TMT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅតួកម៉េនីស្ថាន", "MYT": "ម៉ោង\u200bនៅ\u200bម៉ាឡេស៊ី", "LHDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bឡតហៅ", "HKST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហុងកុង", "ARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន", "GYT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន", "ChST": "ម៉ោង\u200bនៅ\u200bចាំម៉ូរ៉ូ", "CAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bកណ្ដាល", "∅∅∅": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bប្រាស៊ីលីយ៉ា", "SGT": "ម៉ោង\u200bនៅ\u200bសិង្ហបូរី", "VET": "ម៉ោង\u200bនៅ\u200bវ៉េណេស៊ុយអេឡា", "SAST": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bត្បូង", "CST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង"}, + timezones: map[string]string{"CHADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bចាថាំ", "SAST": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bត្បូង", "∅∅∅": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាម៉ាសូន", "WAT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bលិច", "WARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "AST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាត្លង់ទិក", "HEOG": "ម៉ោងរដូវក្តៅនៅហ្គ្រីនលែនខាងលិច", "COST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bកូឡុំប៊ី", "EST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bកើត\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "UYT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "WEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "HEPM": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅសង់\u200bព្យែរ និង\u200bមីគុយឡុង", "TMT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅតួកម៉េនីស្ថាន", "AKST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាឡាស្កា", "AKDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bអាឡាស្កា", "WIB": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bលិច", "ACWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200b\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "CLT": "ម៉ោងស្តង់ដារនៅឈីលី", "HNCU": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bគុយបា", "EDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគខាង\u200bកើតនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "HNOG": "ម៉ោងស្តង់ដារនៅហ្គ្រីនលែនខាងលិច", "HKT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bហុងកុង", "MEZ": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "CHAST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bចាថាំ", "HEEG": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហ្គ្រីនលែនខាង\u200bកើត", "GFT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន\u200bបារាំង", "HNNOMX": "ម៉ោង\u200bស្តង់ដា\u200bនៅ\u200bម៉ិកស៊ិកភាគពាយព្យ", "SGT": "ម៉ោង\u200bនៅ\u200bសិង្ហបូរី", "SRT": "ម៉ោង\u200bនៅ\u200bសូរីណាម", "MESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bកណ្ដាល", "HADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "WIT": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200bខាង\u200bកើត", "WITA": "ម៉ោង\u200bនៅ\u200bឥណ្ឌូណេស៊ី\u200b\u200b\u200bកណ្ដាល", "JST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bជប៉ុន", "HENOMX": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bម៉ិកស៊ិកភាគពាយព្យ", "GMT": "ម៉ោងនៅគ្រីនវិច", "NZST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bនូវែលសេឡង់", "IST": "ម៉ោង\u200bនៅ\u200bឥណ្ឌា", "CLST": "ម៉ោងរដូវក្តៅនៅឈីលី", "BOT": "ម៉ោង\u200bនៅ\u200bបូលីវី", "HNT": "ម៉ោង\u200b\u200bស្តង់ដារ\u200b\u200bនៅ\u200bញូហ្វោនឡែន", "ARST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាសង់ទីន", "NZDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bនូវែលសេឡង់", "HEPMX": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bប៉ាសីុហ្វិក\u200bម៉ិកស៊ិក", "AWDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "LHST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bឡត\u200bហៅ", "MST": "MST", "ChST": "ម៉ោង\u200bនៅ\u200bចាំម៉ូរ៉ូ", "ACDT": "ម៉ោង\u200bពេលថ្ងៃ\u200b\u200b\u200b\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "PDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200b\u200bភាគ\u200bខាងលិច\u200bនៅ\u200bអាមេរិក\u200bភាគ\u200bខាង\u200bជើង", "AEST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "HNEG": "ម៉ោង\u200b\u200b\u200bស្តង់ដារ\u200bនៅ\u200b\u200bហ្គ្រីនលែន\u200bខាង\u200bកើត", "OESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "CDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "AEDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bកើត", "TMST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bតួកម៉េនីស្ថាន\u200b", "WAST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអាហ្វ្រិក\u200b\u200b\u200bខាងលិច", "UYST": "ម៉ោង\u200b\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអ៊ុយរូហ្គាយ", "BT": "ម៉ោងនៅប៊ូតាន", "PST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bខាង\u200bលិច\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "AWST": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bខាង\u200bលិច", "JDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅជប៉ុន", "HECU": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bគុយបា", "MDT": "MDT", "MYT": "ម៉ោង\u200bនៅ\u200bម៉ាឡេស៊ី", "VET": "ម៉ោង\u200bនៅ\u200bវ៉េណេស៊ុយអេឡា", "HNPM": "ម៉ោង\u200bស្តង់ដារ\u200bនៅសង់\u200bព្យែរ និង\u200bមីគុយឡុង", "LHDT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bឡតហៅ", "ACST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "EAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bខាង\u200bកើត", "OEZ": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bអឺរ៉ុប\u200b\u200bខាង\u200bកើត\u200b", "ECT": "ម៉ោង\u200bនៅ\u200bអេក្វាទ័រ", "HNPMX": "ម៉ោង\u200bស្តង់ដា\u200bនៅ\u200bប៉ាសីុហ្វិក\u200bម៉ិកស៊ិក", "CST": "ម៉ោង\u200bស្តង់ដារ\u200bភាគ\u200bកណ្ដាល\u200bនៅ\u200bអាមេរិក\u200bខាង\u200bជើង", "ADT": "ម៉ោង\u200bពេល\u200bថ្ងៃ\u200bនៅ\u200bអាត្លង់ទិក", "GYT": "ម៉ោង\u200bនៅ\u200bឃ្វីយ៉ាន", "HAST": "ម៉ោង\u200bស្តង់ដារ\u200b\u200bនៅ\u200bហាវៃ-អាល់ដ្យូសិន", "HAT": "ម៉ោង\u200bពេលថ្ងៃ\u200bនៅ\u200bញូហ្វោនឡែន", "HKST": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bហុងកុង", "CAT": "ម៉ោង\u200bនៅ\u200bអាហ្វ្រិក\u200bកណ្ដាល", "WART": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន\u200b\u200bខាង\u200bលិច", "COT": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bកូឡុំប៊ី", "WESZ": "ម៉ោង\u200bរដូវ\u200bក្ដៅ\u200bនៅ\u200bអឺរ៉ុប\u200bខាង\u200bលិច", "ACWST": "ម៉ោង\u200bស្តង់ដារ\u200bនៅ\u200bភាគ\u200bខាង\u200bលិច\u200bនៃ\u200bអូស្ត្រាលី\u200bកណ្ដាល", "ART": "ម៉ោង\u200b\u200bស្តង់ដារ\u200bនៅ\u200bអាសង់ទីន"}, } } @@ -282,10 +282,6 @@ func (km *km_KH) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - if num < 0 { b = append(b, km.minus[0]) } @@ -306,6 +302,8 @@ func (km *km_KH) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, symbol...) + return string(b) } @@ -342,18 +340,8 @@ func (km *km_KH) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - b = append(b, km.currencyNegativePrefix[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - } // reverse @@ -374,6 +362,10 @@ func (km *km_KH) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, km.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, symbol...) } return string(b) @@ -407,7 +399,12 @@ func (km *km_KH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +418,12 @@ func (km *km_KH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +439,12 @@ func (km *km_KH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, km.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kn/kn.go b/kn/kn.go index e3a4b1c4b..2b5ac0794 100644 --- a/kn/kn.go +++ b/kn/kn.go @@ -10,68 +10,64 @@ import ( ) type kn struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'kn' locale func New() locales.Translator { return &kn{ - locale: "kn", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{2, 6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "ಜನ", "ಫೆಬ್ರ", "ಮಾರ್ಚ್", "ಏಪ್ರಿ", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗ", "ಸೆಪ್ಟೆಂ", "ಅಕ್ಟೋ", "ನವೆಂ", "ಡಿಸೆಂ"}, - monthsNarrow: []string{"", "ಜ", "ಫೆ", "ಮಾ", "ಏ", "ಮೇ", "ಜೂ", "ಜು", "ಆ", "ಸೆ", "ಅ", "ನ", "ಡಿ"}, - monthsWide: []string{"", "ಜನವರಿ", "ಫೆಬ್ರವರಿ", "ಮಾರ್ಚ್", "ಏಪ್ರಿಲ್", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗಸ್ಟ್", "ಸೆಪ್ಟೆಂಬರ್", "ಅಕ್ಟೋಬರ್", "ನವೆಂಬರ್", "ಡಿಸೆಂಬರ್"}, - daysAbbreviated: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, - daysNarrow: []string{"ಭಾ", "ಸೋ", "ಮಂ", "ಬು", "ಗು", "ಶು", "ಶ"}, - daysShort: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, - daysWide: []string{"ಭಾನುವಾರ", "ಸೋಮವಾರ", "ಮಂಗಳವಾರ", "ಬುಧವಾರ", "ಗುರುವಾರ", "ಶುಕ್ರವಾರ", "ಶನಿವಾರ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"ಪೂ", "ಅ"}, - periodsWide: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, - erasAbbreviated: []string{"ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"ಕ್ರಿಸ್ತ ಪೂರ್ವ", "ಕ್ರಿಸ್ತ ಶಕ"}, - timezones: map[string]string{"GMT": "ಗ್ರೀನ್\u200cವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ", "CHAST": "ಚಥಾಮ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "GFT": "ಫ್ರೆಂಚ್ ಗಯಾನಾ ಸಮಯ", "AST": "ಅಟ್ಲಾಂಟಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CST": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "MST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ಪ್ರಮಾಣಿತ ಸಮಯ", "BOT": "ಬೊಲಿವಿಯಾ ಸಮಯ", "CAT": "ಮಧ್ಯ ಆಫ್ರಿಕಾ ಸಮಯ", "VET": "ವೆನಿಜುವೆಲಾ ಸಮಯ", "MESZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "ACST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "HAST": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "UYT": "ಉರುಗ್ವೇ ಪ್ರಮಾಣಿತ ಸಮಯ", "COT": "ಕೊಲಂಬಿಯಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "ECT": "ಈಕ್ವೆಡಾರ್ ಸಮಯ", "WIB": "ಪಶ್ಚಿಮ ಇಂಡೋನೇಷಿಯ ಸಮಯ", "EDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ದಿನದ ಸಮಯ", "ADT": "ಅಟ್ಲಾಂಟಿಕ್ ದಿನದ ಸಮಯ", "NZDT": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಹಗಲು ಸಮಯ", "SAST": "ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "TMST": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "MYT": "ಮಲೇಷಿಯಾ ಸಮಯ", "CDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರೀಯ ದಿನದ ಸಮಯ", "HADT": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಹಗಲು ಸಮಯ", "WIT": "ಪೂರ್ವ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "CHADT": "ಚಥಾಮ್ ಹಗಲು ಸಮಯ", "WARST": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಬೇಸಿಗೆ ಸಮಯ", "WAT": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "JDT": "ಜಪಾನ್ ಹಗಲು ಸಮಯ", "MEZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ARST": "ಅರ್ಜೆಂಟಿನಾ ಬೇಸಿಗೆ ಸಮಯ", "PST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "EAT": "ಪೂರ್ವ ಆಫ್ರಿಕಾ ಸಮಯ", "∅∅∅": "ಅಜೋರಸ್ ಬೇಸಿಗೆ ಸಮಯ", "LHST": "ಲಾರ್ಡ್ ಹೋವ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "WESZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "AKDT": "\u200cಅಲಾಸ್ಕಾ ಹಗಲು ಸಮಯ", "CLT": "ಚಿಲಿ ಪ್ರಮಾಣಿತ ಸಮಯ", "BT": "ಭೂತಾನ್ ಸಮಯ", "AEST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪೂರ್ವ ಪ್ರಮಾಣಿತ ಸಮಯ", "WITA": "ಮಧ್ಯ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "HNT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "OESZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "WEZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "UYST": "ಉರುಗ್ವೇ ಬೇಸಿಗೆ ಸಮಯ", "PDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ದಿನದ ಸಮಯ", "WAST": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಬೇಸಿಗೆ ಸಮಯ", "NZST": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ChST": "ಚಮೋರೋ ಪ್ರಮಾಣಿತ ಸಮಯ", "CLST": "ಚಿಲಿ ಬೇಸಿಗೆ ಸಮಯ", "ART": "ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WART": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "GYT": "ಗಯಾನಾ ಸಮಯ", "HAT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ದಿನದ ಸಮಯ", "AWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "SRT": "ಸುರಿನೇಮ್ ಸಮಯ", "HKT": "ಹಾಂಗ್ ಕಾಂಗ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "TMT": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "LHDT": "ಲಾರ್ಡ್ ಹೋವ್ ಬೆಳಗಿನ ಸಮಯ", "HKST": "ಹಾಂಗ್ ಕಾಂಗ್ ಬೇಸಿಗೆ ಸಮಯ", "AEDT": "ಪೂರ್ವ ಆಸ್ಟ್ರೇಲಿಯಾದ ಹಗಲು ಸಮಯ", "ACWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "OEZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "COST": "ಕೊಲಂಬಿಯಾ ಬೇಸಿಗೆ ಸಮಯ", "ACDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಹಗಲು ಸಮಯ", "IST": "ಭಾರತೀಯ ಪ್ರಮಾಣಿತ ಸಮಯ", "AKST": "ಅಲಸ್ಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "EST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ಪ್ರಮಾಣಿತ ಸಮಯ", "MDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ದಿನದ ಸಮಯ", "JST": "ಜಪಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "SGT": "ಸಿಂಗಾಪುರ್ ಪ್ರಮಾಣಿತ ಸಮಯ"}, + locale: "kn", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "ಜನ", "ಫೆಬ್ರ", "ಮಾರ್ಚ್", "ಏಪ್ರಿ", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗ", "ಸೆಪ್ಟೆಂ", "ಅಕ್ಟೋ", "ನವೆಂ", "ಡಿಸೆಂ"}, + monthsNarrow: []string{"", "ಜ", "ಫೆ", "ಮಾ", "ಏ", "ಮೇ", "ಜೂ", "ಜು", "ಆ", "ಸೆ", "ಅ", "ನ", "ಡಿ"}, + monthsWide: []string{"", "ಜನವರಿ", "ಫೆಬ್ರವರಿ", "ಮಾರ್ಚ್", "ಏಪ್ರಿಲ್", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗಸ್ಟ್", "ಸೆಪ್ಟೆಂಬರ್", "ಅಕ್ಟೋಬರ್", "ನವೆಂಬರ್", "ಡಿಸೆಂಬರ್"}, + daysAbbreviated: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, + daysNarrow: []string{"ಭಾ", "ಸೋ", "ಮಂ", "ಬು", "ಗು", "ಶು", "ಶ"}, + daysShort: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, + daysWide: []string{"ಭಾನುವಾರ", "ಸೋಮವಾರ", "ಮಂಗಳವಾರ", "ಬುಧವಾರ", "ಗುರುವಾರ", "ಶುಕ್ರವಾರ", "ಶನಿವಾರ"}, + periodsAbbreviated: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, + periodsNarrow: []string{"ಪೂ", "ಅ"}, + periodsWide: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, + erasAbbreviated: []string{"ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"ಕ್ರಿಸ್ತ ಪೂರ್ವ", "ಕ್ರಿಸ್ತ ಶಕ"}, + timezones: map[string]string{"MDT": "ಮಕಾವ್ ಬೇಸಿಗೆ ಸಮಯ", "AKST": "ಅಲಸ್ಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "NZST": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "NZDT": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಹಗಲು ಸಮಯ", "EST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNNOMX": "ವಾಯವ್ಯ ಮೆಕ್ಸಿಕೊ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNOG": "ಪಶ್ಚಿಮ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "HNPM": "ಸೇಂಟ್ ಪಿಯರ್ ಮತ್ತು ಮಿಕ್ವೆಲನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "COT": "ಕೊಲಂಬಿಯಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "PDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ದಿನದ ಸಮಯ", "WESZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "WITA": "ಮಧ್ಯ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "WAST": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಬೇಸಿಗೆ ಸಮಯ", "CAT": "ಮಧ್ಯ ಆಫ್ರಿಕಾ ಸಮಯ", "HNPMX": "ಮೆಕ್ಸಿಕನ್ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರೀಯ ದಿನದ ಸಮಯ", "HAT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ದಿನದ ಸಮಯ", "ART": "ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "AEST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪೂರ್ವ ಪ್ರಮಾಣಿತ ಸಮಯ", "OEZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CST": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "UYT": "ಉರುಗ್ವೇ ಪ್ರಮಾಣಿತ ಸಮಯ", "UYST": "ಉರುಗ್ವೇ ಬೇಸಿಗೆ ಸಮಯ", "WEZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "GFT": "ಫ್ರೆಂಚ್ ಗಯಾನಾ ಸಮಯ", "OESZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "HAST": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "CHADT": "ಚಥಾಮ್ ಹಗಲು ಸಮಯ", "COST": "ಕೊಲಂಬಿಯಾ ಬೇಸಿಗೆ ಸಮಯ", "IST": "ಭಾರತೀಯ ಪ್ರಮಾಣಿತ ಸಮಯ", "CLT": "ಚಿಲಿ ಪ್ರಮಾಣಿತ ಸಮಯ", "CLST": "ಚಿಲಿ ಬೇಸಿಗೆ ಸಮಯ", "TMST": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "ChST": "ಚಮೋರೋ ಪ್ರಮಾಣಿತ ಸಮಯ", "BOT": "ಬೊಲಿವಿಯಾ ಸಮಯ", "HNCU": "ಕ್ಯೂಬಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "HENOMX": "ವಾಯವ್ಯ ಮೆಕ್ಸಿಕೊ ಹಗಲು ಸಮಯ", "HEPMX": "ಮೆಕ್ಸಿಕನ್ ಪೆಸಿಫಿಕ್ ಹಗಲು ಸಮಯ", "GYT": "ಗಯಾನಾ ಸಮಯ", "HADT": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಹಗಲು ಸಮಯ", "ARST": "ಅರ್ಜೆಂಟಿನಾ ಬೇಸಿಗೆ ಸಮಯ", "∅∅∅": "ಪೆರು ಬೇಸಿಗೆ ಸಮಯ", "EDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ದಿನದ ಸಮಯ", "MYT": "ಮಲೇಷಿಯಾ ಸಮಯ", "SRT": "ಸುರಿನೇಮ್ ಸಮಯ", "LHDT": "ಲಾರ್ಡ್ ಹೋವ್ ಬೆಳಗಿನ ಸಮಯ", "HEEG": "ಪೂರ್ವ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಬೇಸಿಗೆ ಸಮಯ", "HECU": "ಕ್ಯೂಬಾ ದಿನದ ಸಮಯ", "WARST": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಬೇಸಿಗೆ ಸಮಯ", "BT": "ಭೂತಾನ್ ಸಮಯ", "ECT": "ಈಕ್ವೆಡಾರ್ ಸಮಯ", "AST": "ಅಟ್ಲಾಂಟಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AKDT": "\u200cಅಲಾಸ್ಕಾ ಹಗಲು ಸಮಯ", "WIT": "ಪೂರ್ವ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "HEOG": "ಪಶ್ಚಿಮ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಬೇಸಿಗೆ ಸಮಯ", "JDT": "ಜಪಾನ್ ಹಗಲು ಸಮಯ", "TMT": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "MESZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "LHST": "ಲಾರ್ಡ್ ಹೋವ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "VET": "ವೆನಿಜುವೆಲಾ ಸಮಯ", "AEDT": "ಪೂರ್ವ ಆಸ್ಟ್ರೇಲಿಯಾದ ಹಗಲು ಸಮಯ", "WAT": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "MST": "ಮಕಾವ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "PST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "SAST": "ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNEG": "ಪೂರ್ವ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "WART": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WIB": "ಪಶ್ಚಿಮ ಇಂಡೋನೇಷಿಯ ಸಮಯ", "HKST": "ಹಾಂಗ್ ಕಾಂಗ್ ಬೇಸಿಗೆ ಸಮಯ", "HEPM": "ಸೇಂಟ್ ಪಿಯರ್ ಮತ್ತು ಮಿಕ್ವೆಲನ್ ಹಗಲು ಸಮಯ", "MEZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "JST": "ಜಪಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "EAT": "ಪೂರ್ವ ಆಫ್ರಿಕಾ ಸಮಯ", "GMT": "ಗ್ರೀನ್\u200cವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ", "SGT": "ಸಿಂಗಾಪುರ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ADT": "ಅಟ್ಲಾಂಟಿಕ್ ದಿನದ ಸಮಯ", "HKT": "ಹಾಂಗ್ ಕಾಂಗ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CHAST": "ಚಥಾಮ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಹಗಲು ಸಮಯ"}, } } @@ -334,7 +330,7 @@ func (kn *kn) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kn.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -365,7 +361,7 @@ func (kn *kn) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - b = append(b, kn.currencyNegativePrefix[0]) + b = append(b, kn.minus[0]) } else { @@ -391,10 +387,6 @@ func (kn *kn) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } - if num < 0 { - b = append(b, kn.currencyNegativeSuffix...) - } - return string(b) } @@ -426,7 +418,12 @@ func (kn *kn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -440,7 +437,12 @@ func (kn *kn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +458,12 @@ func (kn *kn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kn_IN/kn_IN.go b/kn_IN/kn_IN.go index 9f50759b0..41dd4faf6 100644 --- a/kn_IN/kn_IN.go +++ b/kn_IN/kn_IN.go @@ -10,68 +10,64 @@ import ( ) type kn_IN struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'kn_IN' locale func New() locales.Translator { return &kn_IN{ - locale: "kn_IN", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{2, 6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "ಜನ", "ಫೆಬ್ರ", "ಮಾರ್ಚ್", "ಏಪ್ರಿ", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗ", "ಸೆಪ್ಟೆಂ", "ಅಕ್ಟೋ", "ನವೆಂ", "ಡಿಸೆಂ"}, - monthsNarrow: []string{"", "ಜ", "ಫೆ", "ಮಾ", "ಏ", "ಮೇ", "ಜೂ", "ಜು", "ಆ", "ಸೆ", "ಅ", "ನ", "ಡಿ"}, - monthsWide: []string{"", "ಜನವರಿ", "ಫೆಬ್ರವರಿ", "ಮಾರ್ಚ್", "ಏಪ್ರಿಲ್", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗಸ್ಟ್", "ಸೆಪ್ಟೆಂಬರ್", "ಅಕ್ಟೋಬರ್", "ನವೆಂಬರ್", "ಡಿಸೆಂಬರ್"}, - daysAbbreviated: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, - daysNarrow: []string{"ಭಾ", "ಸೋ", "ಮಂ", "ಬು", "ಗು", "ಶು", "ಶ"}, - daysShort: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, - daysWide: []string{"ಭಾನುವಾರ", "ಸೋಮವಾರ", "ಮಂಗಳವಾರ", "ಬುಧವಾರ", "ಗುರುವಾರ", "ಶುಕ್ರವಾರ", "ಶನಿವಾರ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"ಪೂ", "ಅ"}, - periodsWide: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, - erasAbbreviated: []string{"ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"ಕ್ರಿಸ್ತ ಪೂರ್ವ", "ಕ್ರಿಸ್ತ ಶಕ"}, - timezones: map[string]string{"GYT": "ಗಯಾನಾ ಸಮಯ", "CLT": "ಚಿಲಿ ಪ್ರಮಾಣಿತ ಸಮಯ", "CLST": "ಚಿಲಿ ಬೇಸಿಗೆ ಸಮಯ", "∅∅∅": "ಅಮೆಜಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "PDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ದಿನದ ಸಮಯ", "AST": "ಅಟ್ಲಾಂಟಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AEST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪೂರ್ವ ಪ್ರಮಾಣಿತ ಸಮಯ", "NZDT": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಹಗಲು ಸಮಯ", "UYT": "ಉರುಗ್ವೇ ಪ್ರಮಾಣಿತ ಸಮಯ", "WAST": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಬೇಸಿಗೆ ಸಮಯ", "MST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ಪ್ರಮಾಣಿತ ಸಮಯ", "PST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AKDT": "\u200cಅಲಾಸ್ಕಾ ಹಗಲು ಸಮಯ", "ChST": "ಚಮೋರೋ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "WEZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "VET": "ವೆನಿಜುವೆಲಾ ಸಮಯ", "WAT": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "BOT": "ಬೊಲಿವಿಯಾ ಸಮಯ", "HNT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "OESZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "EST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ಪ್ರಮಾಣಿತ ಸಮಯ", "TMT": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HADT": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಹಗಲು ಸಮಯ", "LHDT": "ಲಾರ್ಡ್ ಹೋವ್ ಬೆಳಗಿನ ಸಮಯ", "HKT": "ಹಾಂಗ್ ಕಾಂಗ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "MEZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "MESZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "ECT": "ಈಕ್ವೆಡಾರ್ ಸಮಯ", "WITA": "ಮಧ್ಯ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "TMST": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "CDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರೀಯ ದಿನದ ಸಮಯ", "JDT": "ಜಪಾನ್ ಹಗಲು ಸಮಯ", "ACDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಹಗಲು ಸಮಯ", "ACWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "EAT": "ಪೂರ್ವ ಆಫ್ರಿಕಾ ಸಮಯ", "MDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ದಿನದ ಸಮಯ", "MYT": "ಮಲೇಷಿಯಾ ಸಮಯ", "SGT": "ಸಿಂಗಾಪುರ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "COST": "ಕೊಲಂಬಿಯಾ ಬೇಸಿಗೆ ಸಮಯ", "ADT": "ಅಟ್ಲಾಂಟಿಕ್ ದಿನದ ಸಮಯ", "WIT": "ಪೂರ್ವ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "JST": "ಜಪಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "ARST": "ಅರ್ಜೆಂಟಿನಾ ಬೇಸಿಗೆ ಸಮಯ", "IST": "ಭಾರತೀಯ ಪ್ರಮಾಣಿತ ಸಮಯ", "HAT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ದಿನದ ಸಮಯ", "COT": "ಕೊಲಂಬಿಯಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WARST": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಬೇಸಿಗೆ ಸಮಯ", "AKST": "ಅಲಸ್ಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "HKST": "ಹಾಂಗ್ ಕಾಂಗ್ ಬೇಸಿಗೆ ಸಮಯ", "CAT": "ಮಧ್ಯ ಆಫ್ರಿಕಾ ಸಮಯ", "BT": "ಭೂತಾನ್ ಸಮಯ", "GMT": "ಗ್ರೀನ್\u200cವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ", "GFT": "ಫ್ರೆಂಚ್ ಗಯಾನಾ ಸಮಯ", "OEZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "UYST": "ಉರುಗ್ವೇ ಬೇಸಿಗೆ ಸಮಯ", "CST": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "NZST": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "SRT": "ಸುರಿನೇಮ್ ಸಮಯ", "WIB": "ಪಶ್ಚಿಮ ಇಂಡೋನೇಷಿಯ ಸಮಯ", "SAST": "ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WESZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "CHAST": "ಚಥಾಮ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HAST": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AEDT": "ಪೂರ್ವ ಆಸ್ಟ್ರೇಲಿಯಾದ ಹಗಲು ಸಮಯ", "EDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ದಿನದ ಸಮಯ", "LHST": "ಲಾರ್ಡ್ ಹೋವ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CHADT": "ಚಥಾಮ್ ಹಗಲು ಸಮಯ", "ART": "ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WART": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ"}, + locale: "kn_IN", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{2, 6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "ಜನ", "ಫೆಬ್ರ", "ಮಾರ್ಚ್", "ಏಪ್ರಿ", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗ", "ಸೆಪ್ಟೆಂ", "ಅಕ್ಟೋ", "ನವೆಂ", "ಡಿಸೆಂ"}, + monthsNarrow: []string{"", "ಜ", "ಫೆ", "ಮಾ", "ಏ", "ಮೇ", "ಜೂ", "ಜು", "ಆ", "ಸೆ", "ಅ", "ನ", "ಡಿ"}, + monthsWide: []string{"", "ಜನವರಿ", "ಫೆಬ್ರವರಿ", "ಮಾರ್ಚ್", "ಏಪ್ರಿಲ್", "ಮೇ", "ಜೂನ್", "ಜುಲೈ", "ಆಗಸ್ಟ್", "ಸೆಪ್ಟೆಂಬರ್", "ಅಕ್ಟೋಬರ್", "ನವೆಂಬರ್", "ಡಿಸೆಂಬರ್"}, + daysAbbreviated: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, + daysNarrow: []string{"ಭಾ", "ಸೋ", "ಮಂ", "ಬು", "ಗು", "ಶು", "ಶ"}, + daysShort: []string{"ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"}, + daysWide: []string{"ಭಾನುವಾರ", "ಸೋಮವಾರ", "ಮಂಗಳವಾರ", "ಬುಧವಾರ", "ಗುರುವಾರ", "ಶುಕ್ರವಾರ", "ಶನಿವಾರ"}, + periodsAbbreviated: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, + periodsNarrow: []string{"ಪೂ", "ಅ"}, + periodsWide: []string{"ಪೂರ್ವಾಹ್ನ", "ಅಪರಾಹ್ನ"}, + erasAbbreviated: []string{"ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"ಕ್ರಿಸ್ತ ಪೂರ್ವ", "ಕ್ರಿಸ್ತ ಶಕ"}, + timezones: map[string]string{"HNT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "MESZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "CLST": "ಚಿಲಿ ಬೇಸಿಗೆ ಸಮಯ", "HNEG": "ಪೂರ್ವ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CAT": "ಮಧ್ಯ ಆಫ್ರಿಕಾ ಸಮಯ", "GMT": "ಗ್ರೀನ್\u200cವಿಚ್ ಸರಾಸರಿ ಕಾಲಮಾನ", "SGT": "ಸಿಂಗಾಪುರ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "WIB": "ಪಶ್ಚಿಮ ಇಂಡೋನೇಷಿಯ ಸಮಯ", "ADT": "ಅಟ್ಲಾಂಟಿಕ್ ದಿನದ ಸಮಯ", "UYST": "ಉರುಗ್ವೇ ಬೇಸಿಗೆ ಸಮಯ", "CDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರೀಯ ದಿನದ ಸಮಯ", "HADT": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಹಗಲು ಸಮಯ", "ARST": "ಅರ್ಜೆಂಟಿನಾ ಬೇಸಿಗೆ ಸಮಯ", "HKST": "ಹಾಂಗ್ ಕಾಂಗ್ ಬೇಸಿಗೆ ಸಮಯ", "HEEG": "ಪೂರ್ವ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಬೇಸಿಗೆ ಸಮಯ", "OESZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "HAST": "ಹವಾಯಿ-ಅಲ್ಯುಟಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNPM": "ಸೇಂಟ್ ಪಿಯರ್ ಮತ್ತು ಮಿಕ್ವೆಲನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNNOMX": "ವಾಯವ್ಯ ಮೆಕ್ಸಿಕೊ ಪ್ರಮಾಣಿತ ಸಮಯ", "EDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ದಿನದ ಸಮಯ", "HNPMX": "ಮೆಕ್ಸಿಕನ್ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AKDT": "\u200cಅಲಾಸ್ಕಾ ಹಗಲು ಸಮಯ", "SRT": "ಸುರಿನೇಮ್ ಸಮಯ", "ECT": "ಈಕ್ವೆಡಾರ್ ಸಮಯ", "UYT": "ಉರುಗ್ವೇ ಪ್ರಮಾಣಿತ ಸಮಯ", "WIT": "ಪೂರ್ವ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ", "AEST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪೂರ್ವ ಪ್ರಮಾಣಿತ ಸಮಯ", "BOT": "ಬೊಲಿವಿಯಾ ಸಮಯ", "EST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೂರ್ವದ ಪ್ರಮಾಣಿತ ಸಮಯ", "ART": "ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "HKT": "ಹಾಂಗ್ ಕಾಂಗ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "WAT": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "ACWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "CHADT": "ಚಥಾಮ್ ಹಗಲು ಸಮಯ", "∅∅∅": "ಅಮೆಜಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "TMT": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "OEZ": "ಪೂರ್ವ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "GYT": "ಗಯಾನಾ ಸಮಯ", "HEOG": "ಪಶ್ಚಿಮ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಬೇಸಿಗೆ ಸಮಯ", "LHDT": "ಲಾರ್ಡ್ ಹೋವ್ ಬೆಳಗಿನ ಸಮಯ", "JST": "ಜಪಾನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AST": "ಅಟ್ಲಾಂಟಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HNOG": "ಪಶ್ಚಿಮ ಗ್ರೀನ್\u200cಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "HEPM": "ಸೇಂಟ್ ಪಿಯರ್ ಮತ್ತು ಮಿಕ್ವೆಲನ್ ಹಗಲು ಸಮಯ", "TMST": "ತುರ್ಕ್\u200cಮೇನಿಸ್ತಾನ್ ಬೇಸಿಗೆ ಸಮಯ", "BT": "ಭೂತಾನ್ ಸಮಯ", "PDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ದಿನದ ಸಮಯ", "HAT": "ನ್ಯೂಫೌಂಡ್\u200cಲ್ಯಾಂಡ್ ದಿನದ ಸಮಯ", "AWDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಹಗಲು ಸಮಯ", "JDT": "ಜಪಾನ್ ಹಗಲು ಸಮಯ", "WAST": "ಪಶ್ಚಿಮ ಆಫ್ರಿಕಾ ಬೇಸಿಗೆ ಸಮಯ", "COST": "ಕೊಲಂಬಿಯಾ ಬೇಸಿಗೆ ಸಮಯ", "HENOMX": "ವಾಯವ್ಯ ಮೆಕ್ಸಿಕೊ ಹಗಲು ಸಮಯ", "MST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ಪ್ರಮಾಣಿತ ಸಮಯ", "MYT": "ಮಲೇಷಿಯಾ ಸಮಯ", "CST": "ಉತ್ತರ ಅಮೆರಿಕದ ಕೇಂದ್ರ ಪ್ರಮಾಣಿತ ಸಮಯ", "AEDT": "ಪೂರ್ವ ಆಸ್ಟ್ರೇಲಿಯಾದ ಹಗಲು ಸಮಯ", "NZDT": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಹಗಲು ಸಮಯ", "ACDT": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಕೇಂದ್ರ ಹಗಲು ಸಮಯ", "EAT": "ಪೂರ್ವ ಆಫ್ರಿಕಾ ಸಮಯ", "HEPMX": "ಮೆಕ್ಸಿಕನ್ ಪೆಸಿಫಿಕ್ ಹಗಲು ಸಮಯ", "VET": "ವೆನಿಜುವೆಲಾ ಸಮಯ", "LHST": "ಲಾರ್ಡ್ ಹೋವ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "IST": "ಭಾರತೀಯ ಪ್ರಮಾಣಿತ ಸಮಯ", "WARST": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಬೇಸಿಗೆ ಸಮಯ", "AKST": "ಅಲಸ್ಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WEZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CHAST": "ಚಥಾಮ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "AWST": "ಆಸ್ಟ್ರೇಲಿಯಾದ ಪಶ್ಚಿಮ ಪ್ರಮಾಣಿತ ಸಮಯ", "PST": "ಉತ್ತರ ಅಮೆರಿಕದ ಪೆಸಿಫಿಕ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "NZST": "ನ್ಯೂಜಿಲ್ಯಾಂಡ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "CLT": "ಚಿಲಿ ಪ್ರಮಾಣಿತ ಸಮಯ", "ChST": "ಚಮೋರೋ ಪ್ರಮಾಣಿತ ಸಮಯ", "COT": "ಕೊಲಂಬಿಯಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "MDT": "ಉತ್ತರ ಅಮೆರಿಕದ ಪರ್ವತ ದಿನದ ಸಮಯ", "MEZ": "ಮಧ್ಯ ಯುರೋಪಿಯನ್ ಪ್ರಮಾಣಿತ ಸಮಯ", "GFT": "ಫ್ರೆಂಚ್ ಗಯಾನಾ ಸಮಯ", "HNCU": "ಕ್ಯೂಬಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WESZ": "ಪಶ್ಚಿಮ ಯುರೋಪಿಯನ್ ಬೇಸಿಗೆ ಸಮಯ", "SAST": "ದಕ್ಷಿಣ ಆಫ್ರಿಕಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "WART": "ಪಶ್ಚಿಮ ಅರ್ಜೆಂಟೀನಾ ಪ್ರಮಾಣಿತ ಸಮಯ", "HECU": "ಕ್ಯೂಬಾ ದಿನದ ಸಮಯ", "WITA": "ಮಧ್ಯ ಇಂಡೋನೇಷಿಯಾ ಸಮಯ"}, } } @@ -334,7 +330,7 @@ func (kn *kn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := kn.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -365,7 +361,7 @@ func (kn *kn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - b = append(b, kn.currencyNegativePrefix[0]) + b = append(b, kn.minus[0]) } else { @@ -391,10 +387,6 @@ func (kn *kn_IN) FmtAccounting(num float64, v uint64, currency currency.Type) st } } - if num < 0 { - b = append(b, kn.currencyNegativeSuffix...) - } - return string(b) } @@ -426,7 +418,12 @@ func (kn *kn_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -440,7 +437,12 @@ func (kn *kn_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +458,12 @@ func (kn *kn_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ko/ko.go b/ko/ko.go index 387235d28..ff6969c0d 100644 --- a/ko/ko.go +++ b/ko/ko.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"기원전", "서기"}, - timezones: map[string]string{"WIT": "동부 인도네시아 시간", "CAT": "중앙아프리카 시간", "COT": "콜롬비아 표준시", "AEDT": "오스트레일리아 동부 하계 표준시", "AST": "대서양 표준시", "EAT": "동아프리카 시간", "MESZ": "중부 유럽 하계 표준시", "ACWST": "오스트레일리아 중서부 표준시", "EST": "미 동부 표준시", "ChST": "차모로 시간", "NZDT": "뉴질랜드 하계 표준시", "AWDT": "오스트레일리아 서부 하계 표준시", "JST": "일본 표준시", "HKT": "홍콩 표준시", "IST": "인도 표준시", "AKST": "알래스카 표준시", "MEZ": "중부 유럽 표준시", "HADT": "하와이 알류샨 하계 표준시", "ACWDT": "오스트레일리아 중서부 하계 표준시", "HKST": "홍콩 하계 표준시", "WEZ": "서유럽 표준시", "CHAST": "채텀 표준시", "ART": "아르헨티나 표준시", "TMST": "투르크메니스탄 하계 표준시", "UYT": "우루과이 표준시", "WIB": "서부 인도네시아 시간", "WART": "아르헨티나 서부 표준시", "WAT": "서아프리카 표준시", "CDT": "미 중부 하계 표준시", "∅∅∅": "아조레스 하계 표준시", "AWST": "오스트레일리아 서부 표준시", "WAST": "서아프리카 하계 표준시", "PST": "미 태평양 표준시", "ACST": "오스트레일리아 중부 표준시", "MDT": "미 산지 하계 표준시", "CLST": "칠레 하계 표준시", "CHADT": "채텀 하계 표준시", "SRT": "수리남 시간", "GYT": "가이아나 시간", "LHST": "로드 하우 표준시", "OEZ": "동유럽 표준시", "GMT": "그리니치 표준시", "AEST": "오스트레일리아 동부 표준시", "WITA": "중부 인도네시아 시간", "CLT": "칠레 표준시", "PDT": "미 태평양 하계 표준시", "ADT": "미 대서양 하계 표준시", "SGT": "싱가포르 표준시", "GFT": "프랑스령 가이아나 시간", "OESZ": "동유럽 하계 표준시", "ECT": "에콰도르 시간", "ACDT": "오스트레일리아 중부 하계 표준시", "BT": "부탄 시간", "LHDT": "로드 하우 하계 표준시", "CST": "미 중부 표준시", "NZST": "뉴질랜드 표준시", "HNT": "뉴펀들랜드 표준시", "UYST": "우루과이 하계 표준시", "COST": "콜롬비아 하계 표준시", "ARST": "아르헨티나 하계 표준시", "SAST": "남아프리카 시간", "MST": "미 산악 표준시", "WARST": "아르헨티나 서부 하계 표준시", "HAST": "하와이 알류샨 표준시", "BOT": "볼리비아 시간", "AKDT": "알래스카 하계 표준시", "TMT": "투르크메니스탄 표준시", "HAT": "뉴펀들랜드 하계 표준시", "JDT": "일본 하계 표준시", "WESZ": "서유럽 하계 표준시", "VET": "베네수엘라 시간", "EDT": "미 동부 하계 표준시", "MYT": "말레이시아 시간"}, + timezones: map[string]string{"HADT": "하와이 알류샨 하계 표준시", "WEZ": "서유럽 표준시", "AWST": "오스트레일리아 서부 표준시", "LHDT": "로드 하우 하계 표준시", "NZDT": "뉴질랜드 하계 표준시", "WART": "아르헨티나 서부 표준시", "WARST": "아르헨티나 서부 하계 표준시", "UYST": "우루과이 하계 표준시", "AEST": "오스트레일리아 동부 표준시", "JST": "일본 표준시", "MYT": "말레이시아 시간", "VET": "베네수엘라 시간", "ARST": "아르헨티나 하계 표준시", "CLST": "칠레 하계 표준시", "HEEG": "그린란드 동부 하계 표준시", "TMT": "투르크메니스탄 표준시", "UYT": "우루과이 표준시", "AWDT": "오스트레일리아 서부 하계 표준시", "MESZ": "중부 유럽 하계 표준시", "BOT": "볼리비아 시간", "EAT": "동아프리카 시간", "WITA": "중부 인도네시아 시간", "IST": "인도 표준시", "HNT": "뉴펀들랜드 표준시", "LHST": "로드 하우 표준시", "CAT": "중앙아프리카 시간", "HECU": "쿠바 하계 표준시", "MST": "마카오 표준 시간", "CLT": "칠레 표준시", "HNEG": "그린란드 동부 표준시", "ChST": "차모로 시간", "∅∅∅": "페루 하계 표준시", "WESZ": "서유럽 하계 표준시", "PDT": "미 태평양 하계 표준시", "HKT": "홍콩 표준시", "ACDT": "오스트레일리아 중부 하계 표준시", "GMT": "그리니치 표준시", "HNOG": "그린란드 서부 표준시", "EDT": "미 동부 하계 표준시", "MEZ": "중부 유럽 표준시", "ACST": "오스트레일리아 중부 표준시", "COST": "콜롬비아 하계 표준시", "HENOMX": "멕시코 북서부 하계 표준시", "OEZ": "동유럽 표준시", "COT": "콜롬비아 표준시", "ART": "아르헨티나 표준시", "PST": "미 태평양 표준시", "SAST": "남아프리카 시간", "ECT": "에콰도르 시간", "HNNOMX": "멕시코 북서부 표준시", "WIT": "동부 인도네시아 시간", "CDT": "미 중부 하계 표준시", "GYT": "가이아나 시간", "GFT": "프랑스령 가이아나 시간", "TMST": "투르크메니스탄 하계 표준시", "MDT": "마카오 하계 표준시", "HNPMX": "멕시코 태평양 표준시", "AKDT": "알래스카 하계 표준시", "CHAST": "채텀 표준시", "JDT": "일본 하계 표준시", "HEPMX": "멕시코 태평양 하계 표준시", "AST": "대서양 표준시", "NZST": "뉴질랜드 표준시", "HKST": "홍콩 하계 표준시", "AEDT": "오스트레일리아 동부 하계 표준시", "HEPM": "세인트피에르 미클롱 하계 표준시", "WAST": "서아프리카 하계 표준시", "ACWST": "오스트레일리아 중서부 표준시", "HAT": "뉴펀들랜드 하계 표준시", "HEOG": "그린란드 서부 하계 표준시", "WAT": "서아프리카 표준시", "HNCU": "쿠바 표준시", "ADT": "미 대서양 하계 표준시", "CST": "미 중부 표준시", "BT": "부탄 시간", "ACWDT": "오스트레일리아 중서부 하계 표준시", "CHADT": "채텀 하계 표준시", "OESZ": "동유럽 하계 표준시", "SGT": "싱가포르 표준시", "AKST": "알래스카 표준시", "SRT": "수리남 시간", "HNPM": "세인트피에르 미클롱 표준시", "EST": "미 동부 표준시", "WIB": "서부 인도네시아 시간", "HAST": "하와이 알류샨 표준시"}, } } @@ -404,7 +404,12 @@ func (ko *ko) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) @@ -419,7 +424,12 @@ func (ko *ko) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) @@ -434,7 +444,12 @@ func (ko *ko) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) diff --git a/ko_KP/ko_KP.go b/ko_KP/ko_KP.go index 91c1bf11d..ca00900aa 100644 --- a/ko_KP/ko_KP.go +++ b/ko_KP/ko_KP.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"기원전", "서기"}, - timezones: map[string]string{"EAT": "동아프리카 시간", "HKT": "홍콩 표준시", "PST": "미 태평양 표준시", "MDT": "미 산지 하계 표준시", "ChST": "차모로 시간", "TMST": "투르크메니스탄 하계 표준시", "CHADT": "채텀 하계 표준시", "WAT": "서아프리카 표준시", "AWDT": "오스트레일리아 서부 하계 표준시", "GMT": "그리니치 표준시", "OEZ": "동유럽 표준시", "CLST": "칠레 하계 표준시", "JDT": "일본 하계 표준시", "VET": "베네수엘라 시간", "MEZ": "중부 유럽 표준시", "MESZ": "중부 유럽 하계 표준시", "MYT": "말레이시아 시간", "HNT": "뉴펀들랜드 표준시", "WIB": "서부 인도네시아 시간", "SGT": "싱가포르 표준시", "WARST": "아르헨티나 서부 하계 표준시", "CST": "미 중부 표준시", "CDT": "미 중부 하계 표준시", "ACWDT": "오스트레일리아 중서부 하계 표준시", "PDT": "미 태평양 하계 표준시", "∅∅∅": "아조레스 하계 표준시", "CAT": "중앙아프리카 시간", "ECT": "에콰도르 시간", "WART": "아르헨티나 서부 표준시", "GFT": "프랑스령 가이아나 시간", "COST": "콜롬비아 하계 표준시", "UYST": "우루과이 하계 표준시", "ART": "아르헨티나 표준시", "ACWST": "오스트레일리아 중서부 표준시", "LHST": "로드 하우 표준시", "WEZ": "서유럽 표준시", "HAT": "뉴펀들랜드 하계 표준시", "BT": "부탄 시간", "AWST": "오스트레일리아 서부 표준시", "HADT": "하와이 알류샨 하계 표준시", "AKST": "알래스카 표준시", "EDT": "미 동부 하계 표준시", "WITA": "중부 인도네시아 시간", "BOT": "볼리비아 시간", "SRT": "수리남 시간", "COT": "콜롬비아 표준시", "CHAST": "채텀 표준시", "WESZ": "서유럽 하계 표준시", "HAST": "하와이 알류샨 표준시", "AEST": "오스트레일리아 동부 표준시", "AKDT": "알래스카 하계 표준시", "AST": "대서양 표준시", "UYT": "우루과이 표준시", "SAST": "남아프리카 시간", "GYT": "가이아나 시간", "NZST": "뉴질랜드 표준시", "ACST": "오스트레일리아 중부 표준시", "ACDT": "오스트레일리아 중부 하계 표준시", "AEDT": "오스트레일리아 동부 하계 표준시", "IST": "인도 표준시", "ADT": "미 대서양 하계 표준시", "NZDT": "뉴질랜드 하계 표준시", "CLT": "칠레 표준시", "LHDT": "로드 하우 하계 표준시", "JST": "일본 표준시", "OESZ": "동유럽 하계 표준시", "ARST": "아르헨티나 하계 표준시", "EST": "미 동부 표준시", "TMT": "투르크메니스탄 표준시", "MST": "미 산악 표준시", "WIT": "동부 인도네시아 시간", "WAST": "서아프리카 하계 표준시", "HKST": "홍콩 하계 표준시"}, + timezones: map[string]string{"AKST": "알래스카 표준시", "MYT": "말레이시아 시간", "GFT": "프랑스령 가이아나 시간", "ChST": "차모로 시간", "GMT": "그리니치 표준시", "EAT": "동아프리카 시간", "HKST": "홍콩 하계 표준시", "ART": "아르헨티나 표준시", "HNOG": "그린란드 서부 표준시", "AWDT": "오스트레일리아 서부 하계 표준시", "IST": "인도 표준시", "HEEG": "그린란드 동부 하계 표준시", "TMT": "투르크메니스탄 표준시", "ACDT": "오스트레일리아 중부 하계 표준시", "HAST": "하와이 알류샨 표준시", "MEZ": "중부 유럽 표준시", "SAST": "남아프리카 시간", "WAT": "서아프리카 표준시", "AST": "대서양 표준시", "ACWST": "오스트레일리아 중서부 표준시", "NZST": "뉴질랜드 표준시", "UYST": "우루과이 하계 표준시", "WESZ": "서유럽 하계 표준시", "HAT": "뉴펀들랜드 하계 표준시", "TMST": "투르크메니스탄 하계 표준시", "CAT": "중앙아프리카 시간", "HENOMX": "멕시코 북서부 하계 표준시", "CDT": "미 중부 하계 표준시", "OEZ": "동유럽 표준시", "∅∅∅": "페루 하계 표준시", "AEST": "오스트레일리아 동부 표준시", "SRT": "수리남 시간", "AEDT": "오스트레일리아 동부 하계 표준시", "HEPM": "세인트피에르 미클롱 하계 표준시", "CHADT": "채텀 하계 표준시", "JDT": "일본 하계 표준시", "WART": "아르헨티나 서부 표준시", "HECU": "쿠바 하계 표준시", "WIT": "동부 인도네시아 시간", "HADT": "하와이 알류샨 하계 표준시", "LHDT": "로드 하우 하계 표준시", "CHAST": "채텀 표준시", "CLST": "칠레 하계 표준시", "BOT": "볼리비아 시간", "SGT": "싱가포르 표준시", "MST": "마카오 표준 시간", "WIB": "서부 인도네시아 시간", "PST": "미 태평양 표준시", "CLT": "칠레 표준시", "HNPMX": "멕시코 태평양 표준시", "EST": "미 동부 표준시", "UYT": "우루과이 표준시", "ARST": "아르헨티나 하계 표준시", "WEZ": "서유럽 표준시", "ACWDT": "오스트레일리아 중서부 하계 표준시", "WITA": "중부 인도네시아 시간", "LHST": "로드 하우 표준시", "WAST": "서아프리카 하계 표준시", "MDT": "마카오 하계 표준시", "EDT": "미 동부 하계 표준시", "BT": "부탄 시간", "NZDT": "뉴질랜드 하계 표준시", "MESZ": "중부 유럽 하계 표준시", "JST": "일본 표준시", "AWST": "오스트레일리아 서부 표준시", "HNEG": "그린란드 동부 표준시", "ACST": "오스트레일리아 중부 표준시", "HNNOMX": "멕시코 북서부 표준시", "AKDT": "알래스카 하계 표준시", "HNT": "뉴펀들랜드 표준시", "PDT": "미 태평양 하계 표준시", "HNPM": "세인트피에르 미클롱 표준시", "WARST": "아르헨티나 서부 하계 표준시", "HEPMX": "멕시코 태평양 하계 표준시", "CST": "미 중부 표준시", "ADT": "미 대서양 하계 표준시", "HEOG": "그린란드 서부 하계 표준시", "OESZ": "동유럽 하계 표준시", "ECT": "에콰도르 시간", "COST": "콜롬비아 하계 표준시", "GYT": "가이아나 시간", "COT": "콜롬비아 표준시", "HNCU": "쿠바 표준시", "VET": "베네수엘라 시간", "HKT": "홍콩 표준시"}, } } @@ -404,7 +404,12 @@ func (ko *ko_KP) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) @@ -419,7 +424,12 @@ func (ko *ko_KP) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) @@ -434,7 +444,12 @@ func (ko *ko_KP) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) diff --git a/ko_KR/ko_KR.go b/ko_KR/ko_KR.go index d06317387..124b0ea27 100644 --- a/ko_KR/ko_KR.go +++ b/ko_KR/ko_KR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"기원전", "서기"}, - timezones: map[string]string{"GYT": "가이아나 시간", "GFT": "프랑스령 가이아나 시간", "WEZ": "서유럽 표준시", "WESZ": "서유럽 하계 표준시", "AEST": "오스트레일리아 동부 표준시", "PST": "미 태평양 표준시", "BOT": "볼리비아 시간", "UYST": "우루과이 하계 표준시", "CHADT": "채텀 하계 표준시", "WART": "아르헨티나 서부 표준시", "PDT": "미 태평양 하계 표준시", "NZST": "뉴질랜드 표준시", "AWST": "오스트레일리아 서부 표준시", "OEZ": "동유럽 표준시", "CLST": "칠레 하계 표준시", "CHAST": "채텀 표준시", "HAST": "하와이 알류샨 표준시", "CST": "미 중부 표준시", "GMT": "그리니치 표준시", "SRT": "수리남 시간", "ACWDT": "오스트레일리아 중서부 하계 표준시", "ARST": "아르헨티나 하계 표준시", "MST": "미 산악 표준시", "OESZ": "동유럽 하계 표준시", "EAT": "동아프리카 시간", "AKDT": "알래스카 하계 표준시", "BT": "부탄 시간", "VET": "베네수엘라 시간", "WIB": "서부 인도네시아 시간", "ACDT": "오스트레일리아 중부 하계 표준시", "ART": "아르헨티나 표준시", "WAST": "서아프리카 하계 표준시", "AKST": "알래스카 표준시", "CAT": "중앙아프리카 시간", "LHDT": "로드 하우 하계 표준시", "JST": "일본 표준시", "COST": "콜롬비아 하계 표준시", "AST": "대서양 표준시", "AEDT": "오스트레일리아 동부 하계 표준시", "LHST": "로드 하우 표준시", "ACWST": "오스트레일리아 중서부 표준시", "NZDT": "뉴질랜드 하계 표준시", "ChST": "차모로 시간", "AWDT": "오스트레일리아 서부 하계 표준시", "HNT": "뉴펀들랜드 표준시", "HKST": "홍콩 하계 표준시", "TMT": "투르크메니스탄 표준시", "CDT": "미 중부 하계 표준시", "MYT": "말레이시아 시간", "HAT": "뉴펀들랜드 하계 표준시", "HADT": "하와이 알류샨 하계 표준시", "WARST": "아르헨티나 서부 하계 표준시", "SAST": "남아프리카 시간", "WAT": "서아프리카 표준시", "EST": "미 동부 표준시", "ADT": "미 대서양 하계 표준시", "MDT": "미 산지 하계 표준시", "CLT": "칠레 표준시", "JDT": "일본 하계 표준시", "MESZ": "중부 유럽 하계 표준시", "ACST": "오스트레일리아 중부 표준시", "COT": "콜롬비아 표준시", "∅∅∅": "아마존 하계 표준시", "HKT": "홍콩 표준시", "MEZ": "중부 유럽 표준시", "SGT": "싱가포르 표준시", "IST": "인도 표준시", "TMST": "투르크메니스탄 하계 표준시", "WIT": "동부 인도네시아 시간", "UYT": "우루과이 표준시", "ECT": "에콰도르 시간", "EDT": "미 동부 하계 표준시", "WITA": "중부 인도네시아 시간"}, + timezones: map[string]string{"MDT": "미 산지 하계 표준시", "BT": "부탄 시간", "CLST": "칠레 하계 표준시", "AKDT": "알래스카 하계 표준시", "ART": "아르헨티나 표준시", "HNPM": "세인트피에르 미클롱 표준시", "CHADT": "채텀 하계 표준시", "HNEG": "그린란드 동부 표준시", "SGT": "싱가포르 표준시", "HNT": "뉴펀들랜드 표준시", "HAT": "뉴펀들랜드 하계 표준시", "ChST": "차모로 시간", "WAST": "서아프리카 하계 표준시", "OESZ": "동유럽 하계 표준시", "WART": "아르헨티나 서부 표준시", "COT": "콜롬비아 표준시", "MST": "미 산악 표준시", "MEZ": "중부 유럽 표준시", "BOT": "볼리비아 시간", "HADT": "하와이 알류샨 하계 표준시", "PST": "미 태평양 표준시", "OEZ": "동유럽 표준시", "CDT": "미 중부 하계 표준시", "EDT": "미 동부 하계 표준시", "HEPMX": "멕시코 태평양 하계 표준시", "AKST": "알래스카 표준시", "HECU": "쿠바 하계 표준시", "WIB": "서부 인도네시아 시간", "WEZ": "서유럽 표준시", "ACWDT": "오스트레일리아 중서부 하계 표준시", "AEDT": "오스트레일리아 동부 하계 표준시", "HEEG": "그린란드 동부 하계 표준시", "GFT": "프랑스령 가이아나 시간", "ACST": "오스트레일리아 중부 표준시", "WIT": "동부 인도네시아 시간", "SAST": "남아프리카 시간", "IST": "인도 표준시", "ACDT": "오스트레일리아 중부 하계 표준시", "WARST": "아르헨티나 서부 하계 표준시", "ADT": "미 대서양 하계 표준시", "HAST": "하와이 알류샨 표준시", "ACWST": "오스트레일리아 중서부 표준시", "MESZ": "중부 유럽 하계 표준시", "NZST": "뉴질랜드 표준시", "TMT": "투르크메니스탄 표준시", "EST": "미 동부 표준시", "HNPMX": "멕시코 태평양 표준시", "UYT": "우루과이 표준시", "HNOG": "그린란드 서부 표준시", "WESZ": "서유럽 하계 표준시", "AWST": "오스트레일리아 서부 표준시", "HKT": "홍콩 표준시", "JST": "일본 표준시", "∅∅∅": "아마존 하계 표준시", "CAT": "중앙아프리카 시간", "ARST": "아르헨티나 하계 표준시", "HEPM": "세인트피에르 미클롱 하계 표준시", "NZDT": "뉴질랜드 하계 표준시", "WAT": "서아프리카 표준시", "UYST": "우루과이 하계 표준시", "VET": "베네수엘라 시간", "PDT": "미 태평양 하계 표준시", "AEST": "오스트레일리아 동부 표준시", "AWDT": "오스트레일리아 서부 하계 표준시", "COST": "콜롬비아 하계 표준시", "GYT": "가이아나 시간", "WITA": "중부 인도네시아 시간", "LHST": "로드 하우 표준시", "CLT": "칠레 표준시", "AST": "대서양 표준시", "SRT": "수리남 시간", "TMST": "투르크메니스탄 하계 표준시", "ECT": "에콰도르 시간", "EAT": "동아프리카 시간", "HNNOMX": "멕시코 북서부 표준시", "HEOG": "그린란드 서부 하계 표준시", "LHDT": "로드 하우 하계 표준시", "JDT": "일본 하계 표준시", "HENOMX": "멕시코 북서부 하계 표준시", "CST": "미 중부 표준시", "HKST": "홍콩 하계 표준시", "CHAST": "채텀 표준시", "GMT": "그리니치 표준시", "HNCU": "쿠바 표준시", "MYT": "말레이시아 시간"}, } } @@ -404,7 +404,12 @@ func (ko *ko_KR) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) @@ -419,7 +424,12 @@ func (ko *ko_KR) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) @@ -434,7 +444,12 @@ func (ko *ko_KR) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xeb, 0x85, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xec, 0x9b, 0x94, 0x20}...) diff --git a/kok/kok.go b/kok/kok.go index 1125a285f..b0ee603ee 100644 --- a/kok/kok.go +++ b/kok/kok.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsWide: []string{"", "जानेवारी", "फेब्रुवारी", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ओगस्ट", "सेप्टेंबर", "ओक्टोबर", "नोव्हेंबर", "डिसेंबर"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"क्रिस्तपूर्व", "क्रिस्तशखा"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACWST": "ACWST", "SAST": "SAST", "AST": "AST", "BT": "BT", "WESZ": "WESZ", "COT": "COT", "WIB": "WIB", "CDT": "CDT", "UYST": "UYST", "CHADT": "CHADT", "SRT": "SRT", "ACDT": "ACDT", "AEDT": "AEDT", "WART": "WART", "HAST": "HAST", "ADT": "ADT", "GYT": "GYT", "MST": "MST", "MYT": "MYT", "NZST": "NZST", "OEZ": "OEZ", "GFT": "GFT", "MESZ": "MESZ", "IST": "भारतीय समय", "AKST": "AKST", "PST": "PST", "HKT": "HKT", "HADT": "HADT", "HNT": "HNT", "CHAST": "CHAST", "AKDT": "AKDT", "CLST": "CLST", "JDT": "JDT", "MEZ": "MEZ", "EST": "EST", "TMST": "TMST", "LHDT": "LHDT", "JST": "JST", "ART": "ART", "WARST": "WARST", "PDT": "PDT", "GMT": "GMT", "∅∅∅": "∅∅∅", "ACWDT": "ACWDT", "WAT": "WAT", "WITA": "WITA", "VET": "VET", "ARST": "ARST", "AWST": "AWST", "CLT": "CLT", "UYT": "UYT", "ECT": "ECT", "AEST": "AEST", "EAT": "EAT", "EDT": "EDT", "TMT": "TMT", "MDT": "MDT", "WEZ": "WEZ", "BOT": "BOT", "CAT": "CAT", "HAT": "HAT", "ACST": "ACST", "ChST": "ChST", "WIT": "WIT", "HKST": "HKST", "LHST": "LHST", "AWDT": "AWDT", "OESZ": "OESZ", "SGT": "SGT", "COST": "COST", "WAST": "WAST", "CST": "CST", "NZDT": "NZDT"}, + timezones: map[string]string{"ACWST": "ACWST", "GFT": "GFT", "MDT": "MDT", "HNPMX": "HNPMX", "AST": "AST", "MYT": "MYT", "WIT": "WIT", "BT": "BT", "HAST": "HAST", "HKT": "HKT", "MEZ": "MEZ", "CHAST": "CHAST", "OESZ": "OESZ", "HNCU": "HNCU", "SRT": "SRT", "ACWDT": "ACWDT", "ARST": "ARST", "AWST": "AWST", "WITA": "WITA", "SGT": "SGT", "AKST": "AKST", "HADT": "HADT", "HNT": "HNT", "HEPM": "HEPM", "LHST": "LHST", "CHADT": "CHADT", "BOT": "BOT", "GMT": "GMT", "ADT": "ADT", "HAT": "HAT", "ECT": "ECT", "UYT": "UYT", "WIB": "WIB", "HNOG": "HNOG", "CST": "CST", "WESZ": "WESZ", "CLT": "CLT", "CLST": "CLST", "OEZ": "OEZ", "CAT": "CAT", "NZDT": "NZDT", "SAST": "SAST", "∅∅∅": "∅∅∅", "EAT": "EAT", "COT": "COT", "EST": "EST", "AEST": "AEST", "JST": "JST", "COST": "COST", "UYST": "UYST", "WEZ": "WEZ", "HEEG": "HEEG", "TMST": "TMST", "WARST": "WARST", "MESZ": "MESZ", "WART": "WART", "HEPMX": "HEPMX", "VET": "VET", "AWDT": "AWDT", "GYT": "GYT", "ART": "ART", "HNPM": "HNPM", "NZST": "NZST", "HNEG": "HNEG", "ACDT": "ACDT", "WAT": "WAT", "CDT": "CDT", "PST": "PST", "HECU": "HECU", "MST": "MST", "AKDT": "AKDT", "HEOG": "HEOG", "EDT": "EDT", "PDT": "PDT", "LHDT": "LHDT", "IST": "भारतीय समय", "JDT": "JDT", "WAST": "WAST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "AEDT": "AEDT", "TMT": "TMT", "ChST": "ChST", "ACST": "ACST", "HKST": "HKST"}, } } @@ -441,7 +441,12 @@ func (kok *kok) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (kok *kok) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kok.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (kok *kok) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kok.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kok_IN/kok_IN.go b/kok_IN/kok_IN.go index 9f278cb96..98f6ba4ed 100644 --- a/kok_IN/kok_IN.go +++ b/kok_IN/kok_IN.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsWide: []string{"", "जानेवारी", "फेब्रुवारी", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ओगस्ट", "सेप्टेंबर", "ओक्टोबर", "नोव्हेंबर", "डिसेंबर"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"क्रिस्तपूर्व", "क्रिस्तशखा"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"∅∅∅": "∅∅∅", "LHDT": "LHDT", "VET": "VET", "SGT": "SGT", "HADT": "HADT", "EST": "EST", "AEST": "AEST", "JST": "JST", "WART": "WART", "AKST": "AKST", "BOT": "BOT", "WIT": "WIT", "MESZ": "MESZ", "AWDT": "AWDT", "AST": "AST", "WIB": "WIB", "ACST": "ACST", "EDT": "EDT", "PDT": "PDT", "AEDT": "AEDT", "GMT": "GMT", "GFT": "GFT", "ART": "ART", "WAT": "WAT", "COT": "COT", "ARST": "ARST", "MDT": "MDT", "OESZ": "OESZ", "HNT": "HNT", "SRT": "SRT", "HKT": "HKT", "CHAST": "CHAST", "AKDT": "AKDT", "ADT": "ADT", "EAT": "EAT", "NZDT": "NZDT", "ACDT": "ACDT", "PST": "PST", "UYT": "UYT", "WEZ": "WEZ", "CST": "CST", "NZST": "NZST", "WESZ": "WESZ", "MYT": "MYT", "TMT": "TMT", "CLT": "CLT", "CAT": "CAT", "LHST": "LHST", "MEZ": "MEZ", "HAST": "HAST", "SAST": "SAST", "WAST": "WAST", "UYST": "UYST", "CHADT": "CHADT", "ECT": "ECT", "IST": "भारतीय समय", "MST": "MST", "HAT": "HAT", "TMST": "TMST", "CDT": "CDT", "GYT": "GYT", "ChST": "ChST", "COST": "COST", "ACWST": "ACWST", "ACWDT": "ACWDT", "WITA": "WITA", "HKST": "HKST", "CLST": "CLST", "BT": "BT", "JDT": "JDT", "OEZ": "OEZ", "WARST": "WARST", "AWST": "AWST"}, + timezones: map[string]string{"HEPMX": "HEPMX", "AKST": "AKST", "IST": "भारतीय समय", "EDT": "EDT", "WEZ": "WEZ", "MEZ": "MEZ", "CHAST": "CHAST", "JDT": "JDT", "ACST": "ACST", "CST": "CST", "MDT": "MDT", "BT": "BT", "HECU": "HECU", "TMT": "TMT", "HENOMX": "HENOMX", "HNPM": "HNPM", "CLST": "CLST", "∅∅∅": "∅∅∅", "WAT": "WAT", "COT": "COT", "WIT": "WIT", "HKT": "HKT", "SAST": "SAST", "ACWDT": "ACWDT", "WITA": "WITA", "WART": "WART", "WARST": "WARST", "UYST": "UYST", "HAST": "HAST", "WESZ": "WESZ", "HEEG": "HEEG", "MESZ": "MESZ", "CHADT": "CHADT", "TMST": "TMST", "COST": "COST", "SGT": "SGT", "HNCU": "HNCU", "HEOG": "HEOG", "ACWST": "ACWST", "AWDT": "AWDT", "NZST": "NZST", "NZDT": "NZDT", "CLT": "CLT", "EAT": "EAT", "GMT": "GMT", "HNT": "HNT", "ARST": "ARST", "LHST": "LHST", "LHDT": "LHDT", "OEZ": "OEZ", "EST": "EST", "ADT": "ADT", "WIB": "WIB", "ART": "ART", "HNPMX": "HNPMX", "HADT": "HADT", "HEPM": "HEPM", "OESZ": "OESZ", "AEDT": "AEDT", "WAST": "WAST", "AKDT": "AKDT", "VET": "VET", "HNOG": "HNOG", "PST": "PST", "HAT": "HAT", "AWST": "AWST", "JST": "JST", "HNEG": "HNEG", "UYT": "UYT", "CDT": "CDT", "AST": "AST", "GFT": "GFT", "ACDT": "ACDT", "BOT": "BOT", "GYT": "GYT", "PDT": "PDT", "AEST": "AEST", "ChST": "ChST", "ECT": "ECT", "MYT": "MYT", "MST": "MST", "HKST": "HKST", "SRT": "SRT", "CAT": "CAT", "HNNOMX": "HNNOMX"}, } } @@ -441,7 +441,12 @@ func (kok *kok_IN) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (kok *kok_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kok.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (kok *kok_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kok.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ks/ks.go b/ks/ks.go index 5c82491c0..b3b4ea6e2 100644 --- a/ks/ks.go +++ b/ks/ks.go @@ -54,8 +54,8 @@ func New() locales.Translator { percent: "%", perMille: "‰", timeSeparator: ":", - inifinity: "?", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsNarrow: []string{"", "ج", "ف", "م", "ا", "م", "ج", "ج", "ا", "س", "س", "ا", "ن"}, @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"بی سی", "اے ڈی"}, erasNarrow: []string{"", ""}, erasWide: []string{"قبٕل مسیٖح", "عیٖسوی سنہٕ"}, - timezones: map[string]string{"UYT": "یوٗرٮ۪گوَے سٹینڑاڑ ٹایِم", "SAST": "جنوٗبی افریقا ٹایِم", "AKST": "اٮ۪لاسکا سٹینڑاڑ ٹایِم", "EST": "مشرقی سٹینڑاڑ ٹایِم", "TMT": "تُرکمٮ۪نِستان سٹینڑاڑ ٹایِم", "NZST": "نِوزِلینڑ سٹینڑاڑ ٹایِم", "BOT": "بولِوِیا ٹایِم", "HNT": "نیوٗ فاونڑلینڑ سٹینڑاڑ ٹایِم", "GMT": "گرٛیٖن وِچ میٖن ٹایِم", "MST": "ماونٹین سٹینڑاڑ ٹایِم", "CLST": "چِلی سَمَر ٹایِم", "OEZ": "مشرقی یوٗرپی سٹینڑاڑ ٹایِم", "GFT": "فرٛٮ۪نٛچ گیوٗٮ۪نا ٹایِم", "COST": "کولومبِیا سَمَر ٹایِم", "ECT": "اِکویڑَر ٹایِم", "IST": "ہِنٛدوستان", "WITA": "مرکزی اِنڑونیشِیا ٹایِم", "∅∅∅": "پٔروٗ سَمَر ٹایِم", "ChST": "کٮ۪مورو سٹینڑاڑ ٹایِم", "AWST": "آسٹریلِیَن مغرِبی سٹینڑاڑ ٹایِم", "LHDT": "لعاڑ ڑےلایٔٹ ٹایِم", "JDT": "جاپٲنۍ ڑےلایِٔٹ ٹایِم", "ADT": "اٮ۪ٹلانٹِک ڈےلایِٔٹ ٹایِم", "HKST": "حانٛگ کانٛگ سَمَر ٹایِم", "EDT": "مشرقی ڈےلایِٔٹ ٹایِم", "CHAST": "کٮ۪تھَم سٹینڑاڑ ٹایِم", "ACST": "آسٹریلِیَن مرکزی سٹینڑاڑ ٹایِم", "ACWDT": "آسٹریلِیَن مرکزی مغربی ڈےلایِٔٹ ٹایِم", "JST": "جاپٲنۍ سٹینڑاڑ ٹایِم", "SRT": "سُرِنام ٹایِم", "HKT": "حانگ کانٛگ سٹینڑاڑ ٹایِم", "AEDT": "آسٹریلِیَن مشرقی ڈےلایِٔٹ ٹایِم", "ARST": "ارجٮ۪نٹیٖنا سَمَر ٹایِم", "AKDT": "اٮ۪لاسکا ڈےلایِٔٹ ٹایِم", "GYT": "گُیَنا ٹایِم", "CAT": "مرکزی افریٖقا ٹایِم", "AWDT": "آسٹریلِیَن مغرِبیٖ ڈےلایٔٹ ٹایِم", "OESZ": "مشرقی یوٗرپی سَمَر ٹایِم", "MESZ": "مرکزی یوٗرپی سَمَر ٹایِم", "HADT": "حَواے اٮ۪لیوٗٹِیَن سَمَر ٹایِم", "HAT": "نیوٗ فاونڑ لینڑ ڑےلایِٔٹ ٹایِم", "VET": "وٮ۪نٮ۪زیوٗلا ٹایِم", "HAST": "حَواے اٮ۪لیوٗٹِیَن سٹینڑاڑ ٹایِم", "WAST": "مغربی افریٖقا سَمَر ٹایِم", "CLT": "چِلی سٹینڑاڑ ٹایِم", "WIT": "مشرِقی اِنڑونیشِیا ٹایِم", "UYST": "یوٗرٮ۪گوَے سَمَر ٹایِم", "SGT": "سِنٛگاپوٗر ٹایِم", "WARST": "مغربی ارجٮ۪نٹیٖنا سَمَر ٹایِم", "TMST": "تُرکمٮ۪نِستان سَمَر ٹایِم", "CST": "مرکزی سٹینڑاڑ ٹایِم", "MYT": "مَلیشِیا ٹایِم", "MEZ": "مرکزی یوٗرپی سٹینڑاڑ ٹایِم", "COT": "کولومبِیا سٹینڑاڑ ٹایِم", "NZDT": "نِوزِلینڑ ڑےلایٔٹ ٹایِم", "CHADT": "چٮ۪تھَم سَمَر ٹایِم", "ART": "ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "WART": "مغربی ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "PDT": "پیسِفِک ڈےلایِٔٹ ٹایِم", "EAT": "مشرقی افریٖقا ٹایِم", "CDT": "مرکزی ڈےلایِٔٹ ٹایِم", "LHST": "لعاڑ حووے سٹینڑاڑ ٹایِم", "WESZ": "مغرِبی یوٗرِپی سَمَر ٹایِم", "ACDT": "آسٹریلِیَن مرکزی ڈےلایِٔٹ ٹایِم", "ACWST": "آسٹریلِیَن مرکزی مغربی سٹینڑاڑ ٹایِم", "WAT": "مغربی افریٖقا سٹینڑاڑ ٹایِم", "BT": "بوٗٹان ٹایِم", "WIB": "مغرِبی اِنڑونیشِیا ٹایِم", "AEST": "آسٹریلِیَن مشرقی سٹینڑاڑ ٹایِم", "MDT": "ماونٹین ڈےلایِٔٹ ٹایِم", "WEZ": "مغرِبی یوٗرپی سٹینڑاڑ ٹایِم", "PST": "پیسِفِک سٹینڑاڑ ٹایِم", "AST": "اٮ۪ٹلانٹِک سٹینڑاڑ ٹایِم"}, + timezones: map[string]string{"HECU": "کیوٗبا ڈےلایِٔٹ ٹایِم", "MST": "مَکَعوٗ سٹینڑاڑ ٹایِم", "HNPMX": "HNPMX", "AST": "اٮ۪ٹلانٹِک سٹینڑاڑ ٹایِم", "HEEG": "مشرِقی گریٖن لینڑُک سَمَر ٹایِم", "WAST": "مغربی افریٖقا سَمَر ٹایِم", "COT": "کولومبِیا سٹینڑاڑ ٹایِم", "HENOMX": "HENOMX", "MYT": "مَلیشِیا ٹایِم", "UYT": "یوٗرٮ۪گوَے سٹینڑاڑ ٹایِم", "ART": "ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "HKT": "حانگ کانٛگ سٹینڑاڑ ٹایِم", "IST": "ہِنٛدوستان", "WAT": "مغربی افریٖقا سٹینڑاڑ ٹایِم", "HEPMX": "HEPMX", "NZST": "نِوزِلینڑ سٹینڑاڑ ٹایِم", "CLT": "چِلی سٹینڑاڑ ٹایِم", "ChST": "کٮ۪مورو سٹینڑاڑ ٹایِم", "COST": "کولومبِیا سَمَر ٹایِم", "ADT": "اٮ۪ٹلانٹِک ڈےلایِٔٹ ٹایِم", "SRT": "سُرِنام ٹایِم", "AWDT": "آسٹریلِیَن مغرِبیٖ ڈےلایٔٹ ٹایِم", "TMST": "تُرکمٮ۪نِستان سَمَر ٹایِم", "OEZ": "مشرقی یوٗرپی سٹینڑاڑ ٹایِم", "UYST": "یوٗرٮ۪گوَے سَمَر ٹایِم", "WESZ": "مغرِبی یوٗرِپی سَمَر ٹایِم", "ACST": "آسٹریلِیَن مرکزی سٹینڑاڑ ٹایِم", "EAT": "مشرقی افریٖقا ٹایِم", "AKST": "اٮ۪لاسکا سٹینڑاڑ ٹایِم", "JDT": "جاپٲنۍ ڑےلایِٔٹ ٹایِم", "HNEG": "مشرِقی گریٖن لینڑُک سٹینڑاڑ ٹایِم", "SGT": "سِنٛگاپوٗر ٹایِم", "BT": "بوٗٹان ٹایِم", "HEPM": "سینٛٹ پَیری مِقیوٗلَن ڑےلایِٔٹ ٹایِم", "LHDT": "لعاڑ ڑےلایٔٹ ٹایِم", "MESZ": "مرکزی یوٗرپی سَمَر ٹایِم", "WIT": "مشرِقی اِنڑونیشِیا ٹایِم", "ACWST": "آسٹریلِیَن مرکزی مغربی سٹینڑاڑ ٹایِم", "HNT": "نیوٗ فاونڑلینڑ سٹینڑاڑ ٹایِم", "∅∅∅": "اٮ۪مَزَن سَمَر ٹایِم", "WARST": "مغربی ارجٮ۪نٹیٖنا سَمَر ٹایِم", "PST": "پیسِفِک سٹینڑاڑ ٹایِم", "PDT": "پیسِفِک ڈےلایِٔٹ ٹایِم", "CAT": "مرکزی افریٖقا ٹایِم", "OESZ": "مشرقی یوٗرپی سَمَر ٹایِم", "HADT": "حَواے اٮ۪لیوٗٹِیَن سَمَر ٹایِم", "HEOG": "مغرِبی گریٖن لینڑُک سَمَر ٹایِم", "HKST": "حانٛگ کانٛگ سَمَر ٹایِم", "AEDT": "آسٹریلِیَن مشرقی ڈےلایِٔٹ ٹایِم", "JST": "جاپٲنۍ سٹینڑاڑ ٹایِم", "ARST": "ارجٮ۪نٹیٖنا سَمَر ٹایِم", "HNNOMX": "HNNOMX", "MDT": "مَکَعوٗ سَمَر ٹایِم", "GYT": "گُیَنا ٹایِم", "EST": "مشرقی سٹینڑاڑ ٹایِم", "CDT": "مرکزی ڈےلایِٔٹ ٹایِم", "HNOG": "مغرِبی گریٖن لینڑُک سٹینڑاڑ ٹایِم", "SAST": "جنوٗبی افریقا ٹایِم", "ACDT": "آسٹریلِیَن مرکزی ڈےلایِٔٹ ٹایِم", "HNCU": "کیوٗبا سٹینڑاڑ ٹایِم", "HAST": "حَواے اٮ۪لیوٗٹِیَن سٹینڑاڑ ٹایِم", "ACWDT": "آسٹریلِیَن مرکزی مغربی ڈےلایِٔٹ ٹایِم", "HNPM": "سینٛٹ پَیری مِقیوٗلَن سٹینڑاڑ ٹایِم", "MEZ": "مرکزی یوٗرپی سٹینڑاڑ ٹایِم", "VET": "وٮ۪نٮ۪زیوٗلا ٹایِم", "NZDT": "نِوزِلینڑ ڑےلایٔٹ ٹایِم", "AKDT": "اٮ۪لاسکا ڈےلایِٔٹ ٹایِم", "WART": "مغربی ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "EDT": "مشرقی ڈےلایِٔٹ ٹایِم", "AWST": "آسٹریلِیَن مغرِبی سٹینڑاڑ ٹایِم", "GFT": "فرٛٮ۪نٛچ گیوٗٮ۪نا ٹایِم", "TMT": "تُرکمٮ۪نِستان سٹینڑاڑ ٹایِم", "ECT": "اِکویڑَر ٹایِم", "CLST": "چِلی سَمَر ٹایِم", "GMT": "گرٛیٖن وِچ میٖن ٹایِم", "CST": "مرکزی سٹینڑاڑ ٹایِم", "WIB": "مغرِبی اِنڑونیشِیا ٹایِم", "WITA": "مرکزی اِنڑونیشِیا ٹایِم", "AEST": "آسٹریلِیَن مشرقی سٹینڑاڑ ٹایِم", "LHST": "لعاڑ حووے سٹینڑاڑ ٹایِم", "CHAST": "کٮ۪تھَم سٹینڑاڑ ٹایِم", "WEZ": "مغرِبی یوٗرپی سٹینڑاڑ ٹایِم", "HAT": "نیوٗ فاونڑ لینڑ ڑےلایِٔٹ ٹایِم", "CHADT": "چٮ۪تھَم سَمَر ٹایِم", "BOT": "بولِوِیا ٹایِم"}, } } @@ -452,7 +452,12 @@ func (ks *ks) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +471,12 @@ func (ks *ks) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +492,12 @@ func (ks *ks) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ks_IN/ks_IN.go b/ks_IN/ks_IN.go index c99a98def..8392ad39c 100644 --- a/ks_IN/ks_IN.go +++ b/ks_IN/ks_IN.go @@ -54,8 +54,8 @@ func New() locales.Translator { percent: "%", perMille: "‰", timeSeparator: ":", - inifinity: "?", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsNarrow: []string{"", "ج", "ف", "م", "ا", "م", "ج", "ج", "ا", "س", "س", "ا", "ن"}, @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"بی سی", "اے ڈی"}, erasNarrow: []string{"", ""}, erasWide: []string{"قبٕل مسیٖح", "عیٖسوی سنہٕ"}, - timezones: map[string]string{"PST": "پیسِفِک سٹینڑاڑ ٹایِم", "PDT": "پیسِفِک ڈےلایِٔٹ ٹایِم", "EAT": "مشرقی افریٖقا ٹایِم", "WITA": "مرکزی اِنڑونیشِیا ٹایِم", "COT": "کولومبِیا سٹینڑاڑ ٹایِم", "COST": "کولومبِیا سَمَر ٹایِم", "AEDT": "آسٹریلِیَن مشرقی ڈےلایِٔٹ ٹایِم", "GYT": "گُیَنا ٹایِم", "AWST": "آسٹریلِیَن مغرِبی سٹینڑاڑ ٹایِم", "AWDT": "آسٹریلِیَن مغرِبیٖ ڈےلایٔٹ ٹایِم", "CLST": "چِلی سَمَر ٹایِم", "LHST": "لعاڑ حووے سٹینڑاڑ ٹایِم", "MESZ": "مرکزی یوٗرپی سَمَر ٹایِم", "ECT": "اِکویڑَر ٹایِم", "ART": "ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "GFT": "فرٛٮ۪نٛچ گیوٗٮ۪نا ٹایِم", "SRT": "سُرِنام ٹایِم", "NZDT": "نِوزِلینڑ ڑےلایٔٹ ٹایِم", "BOT": "بولِوِیا ٹایِم", "UYST": "یوٗرٮ۪گوَے سَمَر ٹایِم", "WESZ": "مغرِبی یوٗرِپی سَمَر ٹایِم", "WIB": "مغرِبی اِنڑونیشِیا ٹایِم", "HADT": "حَواے اٮ۪لیوٗٹِیَن سَمَر ٹایِم", "UYT": "یوٗرٮ۪گوَے سٹینڑاڑ ٹایِم", "MYT": "مَلیشِیا ٹایِم", "HKST": "حانٛگ کانٛگ سَمَر ٹایِم", "AEST": "آسٹریلِیَن مشرقی سٹینڑاڑ ٹایِم", "AKST": "اٮ۪لاسکا سٹینڑاڑ ٹایِم", "∅∅∅": "پٔروٗ سَمَر ٹایِم", "AST": "اٮ۪ٹلانٹِک سٹینڑاڑ ٹایِم", "MST": "ماونٹین سٹینڑاڑ ٹایِم", "GMT": "گرٛیٖن وِچ میٖن ٹایِم", "ACDT": "آسٹریلِیَن مرکزی ڈےلایِٔٹ ٹایِم", "ARST": "ارجٮ۪نٹیٖنا سَمَر ٹایِم", "EDT": "مشرقی ڈےلایِٔٹ ٹایِم", "WAST": "مغربی افریٖقا سَمَر ٹایِم", "HAT": "نیوٗ فاونڑ لینڑ ڑےلایِٔٹ ٹایِم", "OESZ": "مشرقی یوٗرپی سَمَر ٹایِم", "MDT": "ماونٹین ڈےلایِٔٹ ٹایِم", "NZST": "نِوزِلینڑ سٹینڑاڑ ٹایِم", "HNT": "نیوٗ فاونڑلینڑ سٹینڑاڑ ٹایِم", "JST": "جاپٲنۍ سٹینڑاڑ ٹایِم", "SGT": "سِنٛگاپوٗر ٹایِم", "WART": "مغربی ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "EST": "مشرقی سٹینڑاڑ ٹایِم", "ACST": "آسٹریلِیَن مرکزی سٹینڑاڑ ٹایِم", "WARST": "مغربی ارجٮ۪نٹیٖنا سَمَر ٹایِم", "CST": "مرکزی سٹینڑاڑ ٹایِم", "OEZ": "مشرقی یوٗرپی سٹینڑاڑ ٹایِم", "SAST": "جنوٗبی افریقا ٹایِم", "ChST": "کٮ۪مورو سٹینڑاڑ ٹایِم", "CLT": "چِلی سٹینڑاڑ ٹایِم", "TMST": "تُرکمٮ۪نِستان سَمَر ٹایِم", "WIT": "مشرِقی اِنڑونیشِیا ٹایِم", "LHDT": "لعاڑ ڑےلایٔٹ ٹایِم", "CHADT": "چٮ۪تھَم سَمَر ٹایِم", "HAST": "حَواے اٮ۪لیوٗٹِیَن سٹینڑاڑ ٹایِم", "ACWST": "آسٹریلِیَن مرکزی مغربی سٹینڑاڑ ٹایِم", "WAT": "مغربی افریٖقا سٹینڑاڑ ٹایِم", "CAT": "مرکزی افریٖقا ٹایِم", "ADT": "اٮ۪ٹلانٹِک ڈےلایِٔٹ ٹایِم", "AKDT": "اٮ۪لاسکا ڈےلایِٔٹ ٹایِم", "HKT": "حانگ کانٛگ سٹینڑاڑ ٹایِم", "CDT": "مرکزی ڈےلایِٔٹ ٹایِم", "BT": "بوٗٹان ٹایِم", "WEZ": "مغرِبی یوٗرپی سٹینڑاڑ ٹایِم", "CHAST": "کٮ۪تھَم سٹینڑاڑ ٹایِم", "VET": "وٮ۪نٮ۪زیوٗلا ٹایِم", "MEZ": "مرکزی یوٗرپی سٹینڑاڑ ٹایِم", "ACWDT": "آسٹریلِیَن مرکزی مغربی ڈےلایِٔٹ ٹایِم", "IST": "ہِنٛدوستان", "TMT": "تُرکمٮ۪نِستان سٹینڑاڑ ٹایِم", "JDT": "جاپٲنۍ ڑےلایِٔٹ ٹایِم"}, + timezones: map[string]string{"ACDT": "آسٹریلِیَن مرکزی ڈےلایِٔٹ ٹایِم", "WART": "مغربی ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "GMT": "گرٛیٖن وِچ میٖن ٹایِم", "HEOG": "مغرِبی گریٖن لینڑُک سَمَر ٹایِم", "AWST": "آسٹریلِیَن مغرِبی سٹینڑاڑ ٹایِم", "AWDT": "آسٹریلِیَن مغرِبیٖ ڈےلایٔٹ ٹایِم", "SAST": "جنوٗبی افریقا ٹایِم", "MDT": "مَکَعوٗ سَمَر ٹایِم", "HNPMX": "HNPMX", "AKST": "اٮ۪لاسکا سٹینڑاڑ ٹایِم", "ACWDT": "آسٹریلِیَن مرکزی مغربی ڈےلایِٔٹ ٹایِم", "HKT": "حانگ کانٛگ سٹینڑاڑ ٹایِم", "MEZ": "مرکزی یوٗرپی سٹینڑاڑ ٹایِم", "TMT": "تُرکمٮ۪نِستان سٹینڑاڑ ٹایِم", "HENOMX": "HENOMX", "HNCU": "کیوٗبا سٹینڑاڑ ٹایِم", "SRT": "سُرِنام ٹایِم", "HKST": "حانٛگ کانٛگ سَمَر ٹایِم", "MESZ": "مرکزی یوٗرپی سَمَر ٹایِم", "NZDT": "نِوزِلینڑ ڑےلایٔٹ ٹایِم", "BOT": "بولِوِیا ٹایِم", "MST": "مَکَعوٗ سٹینڑاڑ ٹایِم", "UYT": "یوٗرٮ۪گوَے سٹینڑاڑ ٹایِم", "CDT": "مرکزی ڈےلایِٔٹ ٹایِم", "WESZ": "مغرِبی یوٗرِپی سَمَر ٹایِم", "HAT": "نیوٗ فاونڑ لینڑ ڑےلایِٔٹ ٹایِم", "LHST": "لعاڑ حووے سٹینڑاڑ ٹایِم", "HECU": "کیوٗبا ڈےلایِٔٹ ٹایِم", "WIB": "مغرِبی اِنڑونیشِیا ٹایِم", "BT": "بوٗٹان ٹایِم", "PDT": "پیسِفِک ڈےلایِٔٹ ٹایِم", "LHDT": "لعاڑ ڑےلایٔٹ ٹایِم", "CHAST": "کٮ۪تھَم سٹینڑاڑ ٹایِم", "∅∅∅": "اٮ۪مَزَن سَمَر ٹایِم", "PST": "پیسِفِک سٹینڑاڑ ٹایِم", "CHADT": "چٮ۪تھَم سَمَر ٹایِم", "AST": "اٮ۪ٹلانٹِک سٹینڑاڑ ٹایِم", "HAST": "حَواے اٮ۪لیوٗٹِیَن سٹینڑاڑ ٹایِم", "HADT": "حَواے اٮ۪لیوٗٹِیَن سَمَر ٹایِم", "HNOG": "مغرِبی گریٖن لینڑُک سٹینڑاڑ ٹایِم", "HNNOMX": "HNNOMX", "ADT": "اٮ۪ٹلانٹِک ڈےلایِٔٹ ٹایِم", "GYT": "گُیَنا ٹایِم", "WITA": "مرکزی اِنڑونیشِیا ٹایِم", "ACST": "آسٹریلِیَن مرکزی سٹینڑاڑ ٹایِم", "EAT": "مشرقی افریٖقا ٹایِم", "HEPM": "سینٛٹ پَیری مِقیوٗلَن ڑےلایِٔٹ ٹایِم", "IST": "ہِنٛدوستان", "WAT": "مغربی افریٖقا سٹینڑاڑ ٹایِم", "UYST": "یوٗرٮ۪گوَے سَمَر ٹایِم", "CST": "مرکزی سٹینڑاڑ ٹایِم", "AEDT": "آسٹریلِیَن مشرقی ڈےلایِٔٹ ٹایِم", "MYT": "مَلیشِیا ٹایِم", "VET": "وٮ۪نٮ۪زیوٗلا ٹایِم", "HNT": "نیوٗ فاونڑلینڑ سٹینڑاڑ ٹایِم", "AEST": "آسٹریلِیَن مشرقی سٹینڑاڑ ٹایِم", "CLST": "چِلی سَمَر ٹایِم", "JDT": "جاپٲنۍ ڑےلایِٔٹ ٹایِم", "HEEG": "مشرِقی گریٖن لینڑُک سَمَر ٹایِم", "OESZ": "مشرقی یوٗرپی سَمَر ٹایِم", "SGT": "سِنٛگاپوٗر ٹایِم", "AKDT": "اٮ۪لاسکا ڈےلایِٔٹ ٹایِم", "WEZ": "مغرِبی یوٗرپی سٹینڑاڑ ٹایِم", "WAST": "مغربی افریٖقا سَمَر ٹایِم", "HEPMX": "HEPMX", "JST": "جاپٲنۍ سٹینڑاڑ ٹایِم", "HNEG": "مشرِقی گریٖن لینڑُک سٹینڑاڑ ٹایِم", "WARST": "مغربی ارجٮ۪نٹیٖنا سَمَر ٹایِم", "COT": "کولومبِیا سٹینڑاڑ ٹایِم", "WIT": "مشرِقی اِنڑونیشِیا ٹایِم", "ART": "ارجٮ۪نٹیٖنا سٹینڑاڑ ٹایِم", "ARST": "ارجٮ۪نٹیٖنا سَمَر ٹایِم", "HNPM": "سینٛٹ پَیری مِقیوٗلَن سٹینڑاڑ ٹایِم", "NZST": "نِوزِلینڑ سٹینڑاڑ ٹایِم", "CLT": "چِلی سٹینڑاڑ ٹایِم", "TMST": "تُرکمٮ۪نِستان سَمَر ٹایِم", "ECT": "اِکویڑَر ٹایِم", "EST": "مشرقی سٹینڑاڑ ٹایِم", "ACWST": "آسٹریلِیَن مرکزی مغربی سٹینڑاڑ ٹایِم", "ChST": "کٮ۪مورو سٹینڑاڑ ٹایِم", "GFT": "فرٛٮ۪نٛچ گیوٗٮ۪نا ٹایِم", "CAT": "مرکزی افریٖقا ٹایِم", "OEZ": "مشرقی یوٗرپی سٹینڑاڑ ٹایِم", "COST": "کولومبِیا سَمَر ٹایِم", "EDT": "مشرقی ڈےلایِٔٹ ٹایِم"}, } } @@ -452,7 +452,12 @@ func (ks *ks_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +471,12 @@ func (ks *ks_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +492,12 @@ func (ks *ks_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksb/ksb.go b/ksb/ksb.go index b718f69f0..b79e6a615 100644 --- a/ksb/ksb.go +++ b/ksb/ksb.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januali", "Febluali", "Machi", "Aplili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Klisto", "Baada ya Klisto"}, - timezones: map[string]string{"WARST": "WARST", "BT": "BT", "UYT": "UYT", "WEZ": "WEZ", "SAST": "SAST", "WIT": "WIT", "JDT": "JDT", "AEST": "AEST", "EAT": "EAT", "PST": "PST", "TMT": "TMT", "ChST": "ChST", "BOT": "BOT", "HAT": "HAT", "CLST": "CLST", "JST": "JST", "ECT": "ECT", "ARST": "ARST", "MST": "MST", "CDT": "CDT", "LHST": "LHST", "SGT": "SGT", "WAT": "WAT", "CST": "CST", "ACWST": "ACWST", "PDT": "PDT", "AST": "AST", "WITA": "WITA", "GMT": "GMT", "CHAST": "CHAST", "VET": "VET", "HAST": "HAST", "MESZ": "MESZ", "WART": "WART", "∅∅∅": "∅∅∅", "GFT": "GFT", "COT": "COT", "WIB": "WIB", "AWST": "AWST", "AEDT": "AEDT", "MDT": "MDT", "NZDT": "NZDT", "HNT": "HNT", "UYST": "UYST", "OEZ": "OEZ", "OESZ": "OESZ", "ADT": "ADT", "MYT": "MYT", "NZST": "NZST", "CLT": "CLT", "LHDT": "LHDT", "HKST": "HKST", "SRT": "SRT", "CAT": "CAT", "IST": "IST", "AKDT": "AKDT", "EDT": "EDT", "ART": "ART", "ACWDT": "ACWDT", "TMST": "TMST", "GYT": "GYT", "AWDT": "AWDT", "HKT": "HKT", "WESZ": "WESZ", "COST": "COST", "CHADT": "CHADT", "MEZ": "MEZ", "WAST": "WAST", "ACDT": "ACDT", "ACST": "ACST", "HADT": "HADT", "AKST": "AKST", "EST": "EST"}, + timezones: map[string]string{"MST": "MST", "ADT": "ADT", "GYT": "GYT", "VET": "VET", "AWDT": "AWDT", "CHAST": "CHAST", "WAST": "WAST", "ACST": "ACST", "WART": "WART", "SGT": "SGT", "AKST": "AKST", "HADT": "HADT", "AEDT": "AEDT", "NZDT": "NZDT", "HEEG": "HEEG", "AWST": "AWST", "COT": "COT", "LHST": "LHST", "LHDT": "LHDT", "UYT": "UYT", "CDT": "CDT", "AEST": "AEST", "HKST": "HKST", "JDT": "JDT", "ChST": "ChST", "ACWDT": "ACWDT", "HNT": "HNT", "HNNOMX": "HNNOMX", "WESZ": "WESZ", "TMT": "TMT", "HEPMX": "HEPMX", "CST": "CST", "HAST": "HAST", "NZST": "NZST", "CLST": "CLST", "MESZ": "MESZ", "AKDT": "AKDT", "EAT": "EAT", "OEZ": "OEZ", "MYT": "MYT", "SRT": "SRT", "PST": "PST", "WEZ": "WEZ", "HNPM": "HNPM", "HNEG": "HNEG", "ACWST": "ACWST", "SAST": "SAST", "HECU": "HECU", "HNCU": "HNCU", "PDT": "PDT", "HEOG": "HEOG", "BOT": "BOT", "TMST": "TMST", "UYST": "UYST", "HAT": "HAT", "HEPM": "HEPM", "GFT": "GFT", "MDT": "MDT", "WIT": "WIT", "BT": "BT", "ACDT": "ACDT", "OESZ": "OESZ", "AST": "AST", "ART": "ART", "WAT": "WAT", "HNPMX": "HNPMX", "ECT": "ECT", "GMT": "GMT", "EST": "EST", "EDT": "EDT", "MEZ": "MEZ", "CHADT": "CHADT", "WARST": "WARST", "HENOMX": "HENOMX", "HNOG": "HNOG", "IST": "IST", "CLT": "CLT", "CAT": "CAT", "COST": "COST", "WIB": "WIB", "ARST": "ARST", "HKT": "HKT", "WITA": "WITA", "∅∅∅": "∅∅∅", "JST": "JST"}, } } @@ -324,7 +324,12 @@ func (ksb *ksb) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (ksb *ksb) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (ksb *ksb) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (ksb *ksb) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksb_TZ/ksb_TZ.go b/ksb_TZ/ksb_TZ.go index 2e1439dd4..896e80abb 100644 --- a/ksb_TZ/ksb_TZ.go +++ b/ksb_TZ/ksb_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januali", "Febluali", "Machi", "Aplili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Klisto", "Baada ya Klisto"}, - timezones: map[string]string{"ACDT": "ACDT", "AEDT": "AEDT", "MYT": "MYT", "∅∅∅": "∅∅∅", "CLT": "CLT", "COT": "COT", "HAST": "HAST", "TMST": "TMST", "WIT": "WIT", "HKT": "HKT", "CHAST": "CHAST", "MESZ": "MESZ", "EDT": "EDT", "AST": "AST", "LHDT": "LHDT", "COST": "COST", "ECT": "ECT", "WAST": "WAST", "CDT": "CDT", "HNT": "HNT", "UYST": "UYST", "HKST": "HKST", "MST": "MST", "CAT": "CAT", "WESZ": "WESZ", "WIB": "WIB", "SRT": "SRT", "PDT": "PDT", "GYT": "GYT", "ChST": "ChST", "ACWST": "ACWST", "AKST": "AKST", "HAT": "HAT", "UYT": "UYT", "GMT": "GMT", "AEST": "AEST", "NZST": "NZST", "GFT": "GFT", "WITA": "WITA", "JDT": "JDT", "ACST": "ACST", "EAT": "EAT", "PST": "PST", "ADT": "ADT", "SAST": "SAST", "AWST": "AWST", "CHADT": "CHADT", "WEZ": "WEZ", "HADT": "HADT", "WART": "WART", "MDT": "MDT", "BOT": "BOT", "LHST": "LHST", "ARST": "ARST", "SGT": "SGT", "ART": "ART", "TMT": "TMT", "WAT": "WAT", "EST": "EST", "VET": "VET", "MEZ": "MEZ", "ACWDT": "ACWDT", "AKDT": "AKDT", "AWDT": "AWDT", "CLST": "CLST", "BT": "BT", "JST": "JST", "WARST": "WARST", "IST": "IST", "CST": "CST", "NZDT": "NZDT", "OEZ": "OEZ", "OESZ": "OESZ"}, + timezones: map[string]string{"UYT": "UYT", "HAST": "HAST", "VET": "VET", "ACWST": "ACWST", "ECT": "ECT", "EAT": "EAT", "MYT": "MYT", "WIT": "WIT", "ART": "ART", "ACST": "ACST", "ADT": "ADT", "AKDT": "AKDT", "SRT": "SRT", "HNT": "HNT", "SAST": "SAST", "AKST": "AKST", "PDT": "PDT", "WESZ": "WESZ", "TMST": "TMST", "HEPMX": "HEPMX", "HADT": "HADT", "LHDT": "LHDT", "WART": "WART", "HNNOMX": "HNNOMX", "HNOG": "HNOG", "AEDT": "AEDT", "JST": "JST", "OESZ": "OESZ", "WAST": "WAST", "HNCU": "HNCU", "MST": "MST", "MESZ": "MESZ", "WEZ": "WEZ", "HNPMX": "HNPMX", "BOT": "BOT", "HKST": "HKST", "IST": "IST", "JDT": "JDT", "CAT": "CAT", "WARST": "WARST", "CST": "CST", "OEZ": "OEZ", "SGT": "SGT", "EDT": "EDT", "WITA": "WITA", "ACWDT": "ACWDT", "HKT": "HKT", "CHAST": "CHAST", "ChST": "ChST", "HEEG": "HEEG", "HECU": "HECU", "EST": "EST", "HEOG": "HEOG", "GYT": "GYT", "ARST": "ARST", "HEPM": "HEPM", "LHST": "LHST", "NZST": "NZST", "WAT": "WAT", "HENOMX": "HENOMX", "AST": "AST", "CLST": "CLST", "BT": "BT", "WIB": "WIB", "MDT": "MDT", "HNPM": "HNPM", "MEZ": "MEZ", "GFT": "GFT", "COT": "COT", "UYST": "UYST", "PST": "PST", "AWDT": "AWDT", "CHADT": "CHADT", "CLT": "CLT", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "ACDT": "ACDT", "HAT": "HAT", "COST": "COST", "AEST": "AEST", "AWST": "AWST", "NZDT": "NZDT", "TMT": "TMT", "GMT": "GMT", "CDT": "CDT"}, } } @@ -324,7 +324,12 @@ func (ksb *ksb_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (ksb *ksb_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (ksb *ksb_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (ksb *ksb_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksf/ksf.go b/ksf/ksf.go index 2548e6e18..807c64e4a 100644 --- a/ksf/ksf.go +++ b/ksf/ksf.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ŋ1", "ŋ2", "ŋ3", "ŋ4", "ŋ5", "ŋ6", "ŋ7", "ŋ8", "ŋ9", "ŋ10", "ŋ11", "ŋ12"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"d.Y.", "k.Y."}, erasNarrow: []string{"", ""}, erasWide: []string{"di Yɛ́sus aká yálɛ", "cámɛɛn kǝ kǝbɔpka Y"}, - timezones: map[string]string{"NZST": "NZST", "GFT": "GFT", "OESZ": "OESZ", "WIB": "WIB", "TMT": "TMT", "MST": "MST", "ACDT": "ACDT", "SGT": "SGT", "PDT": "PDT", "MYT": "MYT", "BOT": "BOT", "NZDT": "NZDT", "HNT": "HNT", "ACWDT": "ACWDT", "AEDT": "AEDT", "AST": "AST", "SRT": "SRT", "AKDT": "AKDT", "WAT": "WAT", "HAT": "HAT", "ART": "ART", "AKST": "AKST", "JDT": "JDT", "WEZ": "WEZ", "ACST": "ACST", "EDT": "EDT", "CST": "CST", "WART": "WART", "WIT": "WIT", "BT": "BT", "UYT": "UYT", "VET": "VET", "ARST": "ARST", "EST": "EST", "CLST": "CLST", "LHDT": "LHDT", "CHAST": "CHAST", "HKT": "HKT", "COT": "COT", "HAST": "HAST", "CDT": "CDT", "WESZ": "WESZ", "IST": "IST", "SAST": "SAST", "GYT": "GYT", "WITA": "WITA", "CLT": "CLT", "AWDT": "AWDT", "OEZ": "OEZ", "HKST": "HKST", "PST": "PST", "EAT": "EAT", "WAST": "WAST", "UYST": "UYST", "ECT": "ECT", "TMST": "TMST", "∅∅∅": "∅∅∅", "CAT": "CAT", "AWST": "AWST", "LHST": "LHST", "ADT": "ADT", "JST": "JST", "GMT": "GMT", "COST": "COST", "MEZ": "MEZ", "WARST": "WARST", "ChST": "ChST", "MESZ": "MESZ", "HADT": "HADT", "AEST": "AEST", "ACWST": "ACWST", "MDT": "MDT", "CHADT": "CHADT"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "CST": "CST", "HAST": "HAST", "ACWDT": "ACWDT", "ARST": "ARST", "PDT": "PDT", "HKT": "HKT", "GYT": "GYT", "ART": "ART", "ACWST": "ACWST", "AEST": "AEST", "HEPM": "HEPM", "JDT": "JDT", "OESZ": "OESZ", "COT": "COT", "VET": "VET", "HNT": "HNT", "LHDT": "LHDT", "HEEG": "HEEG", "HNPM": "HNPM", "EST": "EST", "EDT": "EDT", "HEOG": "HEOG", "PST": "PST", "AWDT": "AWDT", "HKST": "HKST", "WITA": "WITA", "CHADT": "CHADT", "CLST": "CLST", "HENOMX": "HENOMX", "AKST": "AKST", "WIB": "WIB", "IST": "IST", "WARST": "WARST", "SRT": "SRT", "NZST": "NZST", "HNNOMX": "HNNOMX", "GMT": "GMT", "MDT": "MDT", "ADT": "ADT", "MYT": "MYT", "WIT": "WIT", "AWST": "AWST", "NZDT": "NZDT", "CHAST": "CHAST", "CLT": "CLT", "GFT": "GFT", "ACDT": "ACDT", "HADT": "HADT", "WEZ": "WEZ", "ChST": "ChST", "AKDT": "AKDT", "WESZ": "WESZ", "MESZ": "MESZ", "CAT": "CAT", "HAT": "HAT", "TMT": "TMT", "TMST": "TMST", "UYST": "UYST", "ACST": "ACST", "UYT": "UYT", "HNOG": "HNOG", "COST": "COST", "MEZ": "MEZ", "SAST": "SAST", "BOT": "BOT", "HNEG": "HNEG", "ECT": "ECT", "WAST": "WAST", "WART": "WART", "HNCU": "HNCU", "HECU": "HECU", "HNPMX": "HNPMX", "AEDT": "AEDT", "LHST": "LHST", "JST": "JST", "WAT": "WAT", "SGT": "SGT", "MST": "MST", "HEPMX": "HEPMX", "AST": "AST", "CDT": "CDT", "BT": "BT", "EAT": "EAT", "OEZ": "OEZ"}, } } @@ -357,7 +357,12 @@ func (ksf *ksf) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +376,12 @@ func (ksf *ksf) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +395,12 @@ func (ksf *ksf) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +416,12 @@ func (ksf *ksf) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksf_CM/ksf_CM.go b/ksf_CM/ksf_CM.go index e22825679..5966c5b4b 100644 --- a/ksf_CM/ksf_CM.go +++ b/ksf_CM/ksf_CM.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ŋ1", "ŋ2", "ŋ3", "ŋ4", "ŋ5", "ŋ6", "ŋ7", "ŋ8", "ŋ9", "ŋ10", "ŋ11", "ŋ12"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"d.Y.", "k.Y."}, erasNarrow: []string{"", ""}, erasWide: []string{"di Yɛ́sus aká yálɛ", "cámɛɛn kǝ kǝbɔpka Y"}, - timezones: map[string]string{"SGT": "SGT", "IST": "IST", "MDT": "MDT", "HNT": "HNT", "CHAST": "CHAST", "VET": "VET", "LHDT": "LHDT", "UYST": "UYST", "ACDT": "ACDT", "AEDT": "AEDT", "AST": "AST", "ChST": "ChST", "AWST": "AWST", "HAST": "HAST", "CST": "CST", "MST": "MST", "AWDT": "AWDT", "HKT": "HKT", "WITA": "WITA", "TMT": "TMT", "CLT": "CLT", "WIT": "WIT", "ACST": "ACST", "WARST": "WARST", "HAT": "HAT", "CLST": "CLST", "GFT": "GFT", "COST": "COST", "BOT": "BOT", "UYT": "UYT", "HKST": "HKST", "AEST": "AEST", "GYT": "GYT", "MEZ": "MEZ", "ACWDT": "ACWDT", "CAT": "CAT", "GMT": "GMT", "ART": "ART", "CDT": "CDT", "WART": "WART", "AKDT": "AKDT", "EDT": "EDT", "ADT": "ADT", "NZDT": "NZDT", "JST": "JST", "LHST": "LHST", "ARST": "ARST", "SAST": "SAST", "MYT": "MYT", "NZST": "NZST", "MESZ": "MESZ", "HADT": "HADT", "ACWST": "ACWST", "JDT": "JDT", "SRT": "SRT", "COT": "COT", "WEZ": "WEZ", "PDT": "PDT", "TMST": "TMST", "OESZ": "OESZ", "∅∅∅": "∅∅∅", "BT": "BT", "CHADT": "CHADT", "OEZ": "OEZ", "WESZ": "WESZ", "EST": "EST", "PST": "PST", "WAST": "WAST", "ECT": "ECT", "WIB": "WIB", "AKST": "AKST", "EAT": "EAT", "WAT": "WAT"}, + timezones: map[string]string{"SAST": "SAST", "ACST": "ACST", "ECT": "ECT", "HECU": "HECU", "EDT": "EDT", "WIT": "WIT", "OEZ": "OEZ", "COT": "COT", "HNT": "HNT", "HNOG": "HNOG", "ACDT": "ACDT", "HEPMX": "HEPMX", "ADT": "ADT", "ART": "ART", "LHST": "LHST", "CLT": "CLT", "AKDT": "AKDT", "MYT": "MYT", "HKST": "HKST", "HNEG": "HNEG", "EAT": "EAT", "SRT": "SRT", "PDT": "PDT", "ACWST": "ACWST", "WIB": "WIB", "ACWDT": "ACWDT", "AWDT": "AWDT", "HNPM": "HNPM", "NZST": "NZST", "JDT": "JDT", "GMT": "GMT", "CST": "CST", "AST": "AST", "HAST": "HAST", "AEST": "AEST", "HEPM": "HEPM", "LHDT": "LHDT", "CHADT": "CHADT", "CAT": "CAT", "OESZ": "OESZ", "WEZ": "WEZ", "HEOG": "HEOG", "HKT": "HKT", "WITA": "WITA", "TMT": "TMT", "WAT": "WAT", "CDT": "CDT", "BT": "BT", "MEZ": "MEZ", "HEEG": "HEEG", "HENOMX": "HENOMX", "MST": "MST", "HADT": "HADT", "VET": "VET", "MESZ": "MESZ", "CLST": "CLST", "ChST": "ChST", "WAST": "WAST", "SGT": "SGT", "GFT": "GFT", "WESZ": "WESZ", "IST": "IST", "WART": "WART", "WARST": "WARST", "HNNOMX": "HNNOMX", "PST": "PST", "CHAST": "CHAST", "JST": "JST", "BOT": "BOT", "TMST": "TMST", "HNPMX": "HNPMX", "AEDT": "AEDT", "AWST": "AWST", "NZDT": "NZDT", "HNCU": "HNCU", "UYST": "UYST", "ARST": "ARST", "∅∅∅": "∅∅∅", "EST": "EST", "AKST": "AKST", "HAT": "HAT", "COST": "COST", "MDT": "MDT", "GYT": "GYT", "UYT": "UYT"}, } } @@ -357,7 +357,12 @@ func (ksf *ksf_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +376,12 @@ func (ksf *ksf_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +395,12 @@ func (ksf *ksf_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -401,7 +416,12 @@ func (ksf *ksf_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ksf.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksh/ksh.go b/ksh/ksh.go index bbc05862e..b3c375630 100644 --- a/ksh/ksh.go +++ b/ksh/ksh.go @@ -56,23 +56,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "Jan", "Fäb", "Mäz", "Apr", "Mäi", "Jun", "Jul", "Ouj", "Säp", "Okt", "Nov", "Dez"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Jannewa", "Fäbrowa", "Määz", "Aprell", "Mäi", "Juuni", "Juuli", "Oujoß", "Septämber", "Oktoober", "Novämber", "Dezämber"}, + monthsAbbreviated: []string{"", "Jan", "Fäb", "Mäz", "Apr", "Mai", "Jun", "Jul", "Ouj", "Säp", "Okt", "Nov", "Dez"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "O", "S", "O", "N", "D"}, + monthsWide: []string{"", "Jannewa", "Fäbrowa", "Määz", "Aprell", "Mai", "Juuni", "Juuli", "Oujoß", "Septämber", "Oktohber", "Novämber", "Dezämber"}, daysAbbreviated: []string{"Su.", "Mo.", "Di.", "Me.", "Du.", "Fr.", "Sa."}, daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, daysShort: []string{"Su", "Mo", "Di", "Me", "Du", "Fr", "Sa"}, - daysWide: []string{"Sunndaach", "Moondaach", "Dinnsdaach", "Metwoch", "Dunnersdaach", "Friidaach", "Samsdaach"}, - periodsAbbreviated: []string{"v.m.", "n.m."}, + daysWide: []string{"Sunndaach", "Mohndaach", "Dinnsdaach", "Metwoch", "Dunnersdaach", "Friidaach", "Samsdaach"}, + periodsAbbreviated: []string{"v.M.", "n.M."}, periodsWide: []string{"Uhr vörmiddaachs", "Uhr nommendaachs"}, erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"vC", "nC"}, - erasWide: []string{"vür Chrestus", "noh Chrestus"}, - timezones: map[string]string{"NZDT": "NZDT", "OESZ": "Oß-Europpa sing Summerzick", "ARST": "ARST", "SAST": "Söd-Affrekaanesche Zigg", "LHST": "LHST", "JST": "JST", "GFT": "GFT", "WART": "WART", "WAST": "Wäß-Affrekaanesche Sommerzigg", "ChST": "ChST", "HNT": "HNT", "HAT": "HAT", "OEZ": "Oß-Europpa sing jewöhnlijje Zick", "HADT": "HADT", "COT": "COT", "CST": "CST", "AWDT": "AWDT", "SRT": "SRT", "WEZ": "Weß-Europpa sing jewöhnlijje Zick", "HKST": "HKST", "GYT": "GYT", "AWST": "AWST", "MEZ": "Meddel-Europpa sing jewöhnlijje Zick", "CDT": "CDT", "HKT": "HKT", "ART": "ART", "EAT": "Oß-Affrekaanesche Zigg", "∅∅∅": "∅∅∅", "MYT": "MYT", "BOT": "BOT", "HAST": "HAST", "ADT": "ADT", "MST": "MST", "CAT": "Zentraal-Affrekaanesche Zigg", "UYT": "UYT", "ACDT": "ACDT", "WIT": "WIT", "ACWST": "ACWST", "CHADT": "CHADT", "MESZ": "Meddel-Europpa sing Summerzick", "AKDT": "AKDT", "AEDT": "AEDT", "EST": "EST", "AKST": "AKST", "BT": "BT", "CLT": "CLT", "UYST": "UYST", "CHAST": "CHAST", "VET": "VET", "ECT": "ECT", "ACWDT": "ACWDT", "EDT": "EDT", "NZST": "NZST", "GMT": "Greenwich sing Standat-Zick", "JDT": "JDT", "SGT": "SGT", "COST": "COST", "PST": "PST", "TMT": "TMT", "CLST": "CLST", "LHDT": "LHDT", "WIB": "WIB", "WARST": "WARST", "IST": "IST", "WAT": "Jewöhnlijje Wäß-Affrekaanesche Zigg", "TMST": "TMST", "MDT": "MDT", "WESZ": "Weß-Europpa sing Summerzick", "ACST": "ACST", "AEST": "AEST", "AST": "AST", "PDT": "PDT", "WITA": "WITA"}, + erasWide: []string{"vür Krestos", "noh Krestos"}, + timezones: map[string]string{"HADT": "HADT", "HKT": "HKT", "JST": "JST", "ARST": "ARST", "PDT": "PDT", "UYST": "UYST", "WIB": "WIB", "ACWDT": "ACWDT", "AWDT": "AWDT", "MESZ": "Meddel-Europpa sing Summerzick", "OESZ": "Oß-Europpa sing Summerzick", "EAT": "Oß-Affrekaanesche Zigg", "HEPMX": "HEPMX", "MYT": "MYT", "BT": "BT", "HEOG": "HEOG", "HNT": "HNT", "CLST": "CLST", "HENOMX": "HENOMX", "COT": "COT", "HNPMX": "HNPMX", "AKST": "AKST", "ADT": "ADT", "MST": "MST", "AKDT": "AKDT", "HAST": "HAST", "HAT": "HAT", "HNOG": "HNOG", "∅∅∅": "∅∅∅", "HKST": "HKST", "HECU": "HECU", "HNEG": "HNEG", "GFT": "GFT", "ACST": "ACST", "WAT": "Jewöhnlijje Wäß-Affrekaanesche Zigg", "HNCU": "HNCU", "UYT": "UYT", "WEZ": "Weß-Europpa sing jewöhnlijje Zick", "AWST": "AWST", "TMT": "TMT", "CAT": "Zentraal-Affrekaanesche Zigg", "SGT": "SGT", "WIT": "WIT", "MEZ": "Meddel-Europpa sing jewöhnlijje Zick", "IST": "IST", "NZDT": "NZDT", "BOT": "BOT", "HNNOMX": "HNNOMX", "AST": "AST", "VET": "VET", "HEPM": "HEPM", "WARST": "WARST", "COST": "COST", "CST": "CST", "HNPM": "HNPM", "WAST": "Wäß-Affrekaanesche Sommerzigg", "CDT": "CDT", "MDT": "MDT", "JDT": "JDT", "LHDT": "LHDT", "GMT": "Greenwich sing Standat-Zick", "SRT": "SRT", "AEST": "AEST", "NZST": "NZST", "ACDT": "ACDT", "WART": "WART", "EST": "EST", "GYT": "GYT", "ART": "ART", "WITA": "WITA", "SAST": "Söd-Affrekaanesche Zigg", "CLT": "CLT", "TMST": "TMST", "ChST": "ChST", "OEZ": "Oß-Europpa sing jewöhnlijje Zick", "ACWST": "ACWST", "CHAST": "CHAST", "LHST": "LHST", "ECT": "ECT", "CHADT": "CHADT", "HEEG": "HEEG", "EDT": "EDT", "PST": "PST", "WESZ": "Weß-Europpa sing Summerzick", "AEDT": "AEDT"}, } } @@ -409,7 +409,12 @@ func (ksh *ksh) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (ksh *ksh) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +447,12 @@ func (ksh *ksh) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +469,12 @@ func (ksh *ksh) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ksh_DE/ksh_DE.go b/ksh_DE/ksh_DE.go index 750179e3b..b1c0d9aac 100644 --- a/ksh_DE/ksh_DE.go +++ b/ksh_DE/ksh_DE.go @@ -56,23 +56,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "Jan", "Fäb", "Mäz", "Apr", "Mäi", "Jun", "Jul", "Ouj", "Säp", "Okt", "Nov", "Dez"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Jannewa", "Fäbrowa", "Määz", "Aprell", "Mäi", "Juuni", "Juuli", "Oujoß", "Septämber", "Oktoober", "Novämber", "Dezämber"}, + monthsAbbreviated: []string{"", "Jan", "Fäb", "Mäz", "Apr", "Mai", "Jun", "Jul", "Ouj", "Säp", "Okt", "Nov", "Dez"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "O", "S", "O", "N", "D"}, + monthsWide: []string{"", "Jannewa", "Fäbrowa", "Määz", "Aprell", "Mai", "Juuni", "Juuli", "Oujoß", "Septämber", "Oktohber", "Novämber", "Dezämber"}, daysAbbreviated: []string{"Su.", "Mo.", "Di.", "Me.", "Du.", "Fr.", "Sa."}, daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, daysShort: []string{"Su", "Mo", "Di", "Me", "Du", "Fr", "Sa"}, - daysWide: []string{"Sunndaach", "Moondaach", "Dinnsdaach", "Metwoch", "Dunnersdaach", "Friidaach", "Samsdaach"}, - periodsAbbreviated: []string{"v.m.", "n.m."}, + daysWide: []string{"Sunndaach", "Mohndaach", "Dinnsdaach", "Metwoch", "Dunnersdaach", "Friidaach", "Samsdaach"}, + periodsAbbreviated: []string{"v.M.", "n.M."}, periodsWide: []string{"Uhr vörmiddaachs", "Uhr nommendaachs"}, erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"vC", "nC"}, - erasWide: []string{"vür Chrestus", "noh Chrestus"}, - timezones: map[string]string{"AST": "AST", "NZST": "NZST", "HNT": "HNT", "WEZ": "Weß-Europpa sing jewöhnlijje Zick", "IST": "IST", "WART": "WART", "ChST": "ChST", "AWDT": "AWDT", "LHDT": "LHDT", "ACST": "ACST", "SGT": "SGT", "ADT": "ADT", "WAT": "Jewöhnlijje Wäß-Affrekaanesche Zigg", "PDT": "PDT", "HAT": "HAT", "UYST": "UYST", "AKST": "AKST", "WESZ": "Weß-Europpa sing Summerzick", "WARST": "WARST", "NZDT": "NZDT", "WIT": "WIT", "CHADT": "CHADT", "SRT": "SRT", "CLST": "CLST", "AKDT": "AKDT", "TMST": "TMST", "JDT": "JDT", "HKT": "HKT", "ECT": "ECT", "COT": "COT", "SAST": "Söd-Affrekaanesche Zigg", "WAST": "Wäß-Affrekaanesche Sommerzigg", "MST": "MST", "AWST": "AWST", "GMT": "Greenwich sing Standat-Zick", "GFT": "GFT", "AEDT": "AEDT", "WITA": "WITA", "MDT": "MDT", "WIB": "WIB", "ACWST": "ACWST", "AEST": "AEST", "ACDT": "ACDT", "ART": "ART", "EDT": "EDT", "BOT": "BOT", "UYT": "UYT", "OEZ": "Oß-Europpa sing jewöhnlijje Zick", "VET": "VET", "HKST": "HKST", "COST": "COST", "MEZ": "Meddel-Europpa sing jewöhnlijje Zick", "CDT": "CDT", "CAT": "Zentraal-Affrekaanesche Zigg", "EAT": "Oß-Affrekaanesche Zigg", "TMT": "TMT", "HAST": "HAST", "PST": "PST", "CHAST": "CHAST", "OESZ": "Oß-Europpa sing Summerzick", "ARST": "ARST", "HADT": "HADT", "MYT": "MYT", "LHST": "LHST", "MESZ": "Meddel-Europpa sing Summerzick", "ACWDT": "ACWDT", "GYT": "GYT", "CLT": "CLT", "BT": "BT", "JST": "JST", "∅∅∅": "∅∅∅", "EST": "EST", "CST": "CST"}, + erasWide: []string{"vür Krestos", "noh Krestos"}, + timezones: map[string]string{"HAST": "HAST", "HADT": "HADT", "HEOG": "HEOG", "IST": "IST", "EDT": "EDT", "AKST": "AKST", "ACDT": "ACDT", "HENOMX": "HENOMX", "WART": "WART", "SGT": "SGT", "HEPMX": "HEPMX", "HEPM": "HEPM", "CHADT": "CHADT", "OESZ": "Oß-Europpa sing Summerzick", "COST": "COST", "GMT": "Greenwich sing Standat-Zick", "CLST": "CLST", "ChST": "ChST", "MST": "MST", "VET": "VET", "WIT": "WIT", "AWDT": "AWDT", "NZDT": "NZDT", "CST": "CST", "WIB": "WIB", "AWST": "AWST", "ACST": "ACST", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "GYT": "GYT", "HNOG": "HNOG", "TMST": "TMST", "CDT": "CDT", "MYT": "MYT", "SRT": "SRT", "LHDT": "LHDT", "HAT": "HAT", "ARST": "ARST", "HKST": "HKST", "WAST": "Wäß-Affrekaanesche Sommerzigg", "HNCU": "HNCU", "AST": "AST", "HKT": "HKT", "NZST": "NZST", "EAT": "Oß-Affrekaanesche Zigg", "OEZ": "Oß-Europpa sing jewöhnlijje Zick", "HNT": "HNT", "ART": "ART", "PDT": "PDT", "MDT": "MDT", "ADT": "ADT", "UYT": "UYT", "WESZ": "Weß-Europpa sing Summerzick", "ACWDT": "ACWDT", "MEZ": "Meddel-Europpa sing jewöhnlijje Zick", "∅∅∅": "∅∅∅", "JST": "JST", "HECU": "HECU", "EST": "EST", "WEZ": "Weß-Europpa sing jewöhnlijje Zick", "HNPM": "HNPM", "BOT": "BOT", "ECT": "ECT", "WARST": "WARST", "ACWST": "ACWST", "CHAST": "CHAST", "SAST": "Söd-Affrekaanesche Zigg", "TMT": "TMT", "CAT": "Zentraal-Affrekaanesche Zigg", "JDT": "JDT", "WAT": "Jewöhnlijje Wäß-Affrekaanesche Zigg", "AKDT": "AKDT", "WITA": "WITA", "AEDT": "AEDT", "LHST": "LHST", "CLT": "CLT", "UYST": "UYST", "PST": "PST", "HNEG": "HNEG", "GFT": "GFT", "COT": "COT", "BT": "BT", "AEST": "AEST", "MESZ": "Meddel-Europpa sing Summerzick", "HEEG": "HEEG"}, } } @@ -409,7 +409,12 @@ func (ksh *ksh_DE) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -423,7 +428,12 @@ func (ksh *ksh_DE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +447,12 @@ func (ksh *ksh_DE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -454,7 +469,12 @@ func (ksh *ksh_DE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, ksh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kw/kw.go b/kw/kw.go index 2fa517790..d4b68e781 100644 --- a/kw/kw.go +++ b/kw/kw.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Gen", "Hwe", "Meu", "Ebr", "Me", "Met", "Gor", "Est", "Gwn", "Hed", "Du", "Kev"}, monthsWide: []string{"", "mis Genver", "mis Hwevrer", "mis Meurth", "mis Ebrel", "mis Me", "mis Metheven", "mis Gortheren", "mis Est", "mis Gwynngala", "mis Hedra", "mis Du", "mis Kevardhu"}, daysAbbreviated: []string{"Sul", "Lun", "Mth", "Mhr", "Yow", "Gwe", "Sad"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ART": "ART", "HAST": "HAST", "ARST": "ARST", "ChST": "ChST", "JDT": "JDT", "GFT": "GFT", "WESZ": "WESZ", "ACST": "ACST", "CLST": "CLST", "AKDT": "AKDT", "EAT": "EAT", "VET": "VET", "ACWDT": "ACWDT", "ADT": "ADT", "CAT": "CAT", "JST": "JST", "HKT": "HKT", "SRT": "SRT", "WART": "WART", "EST": "EST", "MYT": "MYT", "MDT": "MDT", "AWDT": "AWDT", "WIT": "WIT", "WAST": "WAST", "PDT": "PDT", "MST": "MST", "GYT": "GYT", "BOT": "BOT", "NZST": "NZST", "ECT": "ECT", "HADT": "HADT", "IST": "IST", "TMT": "TMT", "CHAST": "CHAST", "CST": "CST", "HNT": "HNT", "UYT": "UYT", "∅∅∅": "∅∅∅", "LHST": "LHST", "HAT": "HAT", "UYST": "UYST", "HKST": "HKST", "ACDT": "ACDT", "AWST": "AWST", "MEZ": "MEZ", "PST": "PST", "NZDT": "NZDT", "CLT": "CLT", "BT": "BT", "OEZ": "OEZ", "AKST": "AKST", "AST": "AST", "WITA": "WITA", "LHDT": "LHDT", "COST": "COST", "WIB": "WIB", "MESZ": "MESZ", "WEZ": "WEZ", "WAT": "WAT", "EDT": "EDT", "COT": "COT", "AEDT": "AEDT", "SAST": "SAST", "TMST": "TMST", "GMT": "GMT", "OESZ": "OESZ", "ACWST": "ACWST", "CDT": "CDT", "CHADT": "CHADT", "SGT": "SGT", "AEST": "AEST", "WARST": "WARST"}, + timezones: map[string]string{"ACST": "ACST", "HNCU": "HNCU", "AWDT": "AWDT", "LHDT": "LHDT", "HNEG": "HNEG", "GFT": "GFT", "AEDT": "AEDT", "CST": "CST", "AST": "AST", "HNPMX": "HNPMX", "ART": "ART", "HENOMX": "HENOMX", "EDT": "EDT", "CAT": "CAT", "UYST": "UYST", "AEST": "AEST", "ChST": "ChST", "ACDT": "ACDT", "WART": "WART", "CDT": "CDT", "CHAST": "CHAST", "JST": "JST", "ECT": "ECT", "HEPMX": "HEPMX", "VET": "VET", "WIT": "WIT", "AWST": "AWST", "WARST": "WARST", "EST": "EST", "HECU": "HECU", "AKDT": "AKDT", "HAST": "HAST", "WEZ": "WEZ", "ACWST": "ACWST", "CLT": "CLT", "WAST": "WAST", "MDT": "MDT", "SRT": "SRT", "HNOG": "HNOG", "MEZ": "MEZ", "NZST": "NZST", "BOT": "BOT", "SGT": "SGT", "GMT": "GMT", "MST": "MST", "HADT": "HADT", "WITA": "WITA", "∅∅∅": "∅∅∅", "TMST": "TMST", "EAT": "EAT", "OESZ": "OESZ", "AKST": "AKST", "ACWDT": "ACWDT", "CHADT": "CHADT", "JDT": "JDT", "HEEG": "HEEG", "UYT": "UYT", "PST": "PST", "PDT": "PDT", "WESZ": "WESZ", "HKT": "HKT", "LHST": "LHST", "WAT": "WAT", "COST": "COST", "HAT": "HAT", "ARST": "ARST", "HEOG": "HEOG", "MESZ": "MESZ", "NZDT": "NZDT", "MYT": "MYT", "BT": "BT", "OEZ": "OEZ", "COT": "COT", "ADT": "ADT", "HNT": "HNT", "IST": "IST", "CLST": "CLST", "TMT": "TMT", "HKST": "HKST", "HNNOMX": "HNNOMX", "GYT": "GYT", "HEPM": "HEPM", "SAST": "SAST", "WIB": "WIB", "HNPM": "HNPM"}, } } @@ -329,7 +329,12 @@ func (kw *kw) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (kw *kw) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (kw *kw) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (kw *kw) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/kw_GB/kw_GB.go b/kw_GB/kw_GB.go index 4bf8b75cb..832df6afe 100644 --- a/kw_GB/kw_GB.go +++ b/kw_GB/kw_GB.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Gen", "Hwe", "Meu", "Ebr", "Me", "Met", "Gor", "Est", "Gwn", "Hed", "Du", "Kev"}, monthsWide: []string{"", "mis Genver", "mis Hwevrer", "mis Meurth", "mis Ebrel", "mis Me", "mis Metheven", "mis Gortheren", "mis Est", "mis Gwynngala", "mis Hedra", "mis Du", "mis Kevardhu"}, daysAbbreviated: []string{"Sul", "Lun", "Mth", "Mhr", "Yow", "Gwe", "Sad"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"RC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"BOT": "BOT", "HKT": "HKT", "COT": "COT", "ECT": "ECT", "PST": "PST", "HAT": "HAT", "CLST": "CLST", "GMT": "GMT", "WART": "WART", "AKDT": "AKDT", "GYT": "GYT", "NZST": "NZST", "ChST": "ChST", "BT": "BT", "ADT": "ADT", "WAT": "WAT", "TMST": "TMST", "CAT": "CAT", "UYST": "UYST", "ACWST": "ACWST", "ACWDT": "ACWDT", "TMT": "TMT", "MDT": "MDT", "LHDT": "LHDT", "JDT": "JDT", "CHAST": "CHAST", "WIB": "WIB", "WAST": "WAST", "IST": "IST", "CDT": "CDT", "UYT": "UYT", "WEZ": "WEZ", "COST": "COST", "WARST": "WARST", "AST": "AST", "SAST": "SAST", "MYT": "MYT", "NZDT": "NZDT", "JST": "JST", "OEZ": "OEZ", "AKST": "AKST", "∅∅∅": "∅∅∅", "GFT": "GFT", "CST": "CST", "HNT": "HNT", "OESZ": "OESZ", "HADT": "HADT", "ACST": "ACST", "AWST": "AWST", "HKST": "HKST", "VET": "VET", "AWDT": "AWDT", "HAST": "HAST", "AEST": "AEST", "AEDT": "AEDT", "WITA": "WITA", "LHST": "LHST", "SRT": "SRT", "ACDT": "ACDT", "ART": "ART", "PDT": "PDT", "WESZ": "WESZ", "MESZ": "MESZ", "ARST": "ARST", "MST": "MST", "WIT": "WIT", "CHADT": "CHADT", "MEZ": "MEZ", "SGT": "SGT", "EST": "EST", "CLT": "CLT", "EAT": "EAT", "EDT": "EDT"}, + timezones: map[string]string{"TMT": "TMT", "EST": "EST", "AST": "AST", "UYT": "UYT", "AWDT": "AWDT", "LHST": "LHST", "CHADT": "CHADT", "HEEG": "HEEG", "AKST": "AKST", "CDT": "CDT", "SRT": "SRT", "AEST": "AEST", "HNEG": "HNEG", "VET": "VET", "NZDT": "NZDT", "CHAST": "CHAST", "COT": "COT", "HNCU": "HNCU", "MDT": "MDT", "HKST": "HKST", "IST": "IST", "WARST": "WARST", "CST": "CST", "TMST": "TMST", "EAT": "EAT", "SGT": "SGT", "EDT": "EDT", "UYST": "UYST", "JDT": "JDT", "ChST": "ChST", "CAT": "CAT", "MST": "MST", "HAST": "HAST", "WITA": "WITA", "MESZ": "MESZ", "HNNOMX": "HNNOMX", "GMT": "GMT", "ACWDT": "ACWDT", "ACWST": "ACWST", "ARST": "ARST", "AWST": "AWST", "CLST": "CLST", "WAST": "WAST", "ECT": "ECT", "HENOMX": "HENOMX", "GYT": "GYT", "WIB": "WIB", "ART": "ART", "HNPM": "HNPM", "MEZ": "MEZ", "HECU": "HECU", "MYT": "MYT", "HADT": "HADT", "BT": "BT", "HEPM": "HEPM", "SAST": "SAST", "ACDT": "ACDT", "HNT": "HNT", "HAT": "HAT", "LHDT": "LHDT", "NZST": "NZST", "WAT": "WAT", "WIT": "WIT", "PDT": "PDT", "HNOG": "HNOG", "HEOG": "HEOG", "HKT": "HKT", "ADT": "ADT", "OEZ": "OEZ", "WART": "WART", "AKDT": "AKDT", "AEDT": "AEDT", "CLT": "CLT", "∅∅∅": "∅∅∅", "JST": "JST", "BOT": "BOT", "ACST": "ACST", "COST": "COST", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "PST": "PST", "WEZ": "WEZ", "WESZ": "WESZ", "GFT": "GFT", "OESZ": "OESZ"}, } } @@ -329,7 +329,12 @@ func (kw *kw_GB) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (kw *kw_GB) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (kw *kw_GB) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (kw *kw_GB) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, kw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ky/ky.go b/ky/ky.go index b386c33a6..68b0ba340 100644 --- a/ky/ky.go +++ b/ky/ky.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "сом", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "сом", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "фев.", "мар.", "апр.", "май", "июн.", "июл.", "авг.", "сен.", "окт.", "ноя.", "дек."}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"таңкы", "түштөн кийинки"}, erasAbbreviated: []string{"б.з.ч.", "б.з."}, erasNarrow: []string{"б.з.ч.", "б.з."}, - erasWide: []string{"биздин заманга чейин", "биздин заман"}, - timezones: map[string]string{"EDT": "Түндүк Америка, чыгыш жайкы убактысы", "WARST": "Батыш Аргентина жайкы убактысы", "GMT": "Гринвич универсалдуу убактысы", "OESZ": "Чыгыш Европа жайкы убактысы", "CHADT": "Чатам күндүзгү убактысы", "GFT": "Француз Гвиана убактысы", "ARST": "Аргентина жайкы убактысы", "AST": "Атлантика стандарт убактысы", "ADT": "Атлантика жайкы убактысы", "NZDT": "Жаңы Зеландия күндүзгү убактысы", "WEZ": "Батыш Европа стандарт убактысы", "WITA": "Борбордук Индонезия убактысы", "TMT": "Түркмөнстан стандарт убактысы", "TMST": "Түркмөнстан жайкы убактысы", "BOT": "Боливия убактысы", "SRT": "Суринаме убактысы", "ECT": "Экуадор убактысы", "ACWST": "Австралия борбордук батыш стандарт убактысы", "WESZ": "Батыш Европа жайкы убактысы", "BT": "Бутан убактысы", "COT": "Колумбия стандарт убактысы", "WIB": "Батыш Индонезия убактысы", "HAST": "Гавайи-Алеут стандарт убактысы", "EAT": "Чыгыш Африка убактысы", "WAT": "Батыш Африка стандарт убактысы", "IST": "Индия убактысы", "ChST": "Чаморро убактысы", "AKDT": "Аляска жайкы убактысы", "HKT": "Гонконг стандарт убактысы", "AEST": "Австралия чыгыш стандарт убактысы", "CST": "Түндүк Америка, борбордук стандарт убактысы", "UYST": "Уругвай жайкы убактысы", "UYT": "Уругвай стандарт убактысы", "OEZ": "Чыгыш Европа стандарт убактысы", "CHAST": "Чатам стандарт убактысы", "ACDT": "Австралия борбордук күндүзгү убактысы", "PDT": "Түндүк Америка, Тынч океан жайкы убактысы", "GYT": "Гвиана убактысы", "MYT": "Малайзия убактысы", "CLST": "Чили жайкы убактысы", "CDT": "Түндүк Америка, борбордук жайкы убактысы", "COST": "Колумбия жайкы убактысы", "AWDT": "Австралия батыш күндүзгү убактысы", "WIT": "Чыгыш Индонезия убактысы", "LHST": "Лорд Хау стандарт убактысы", "VET": "Венесуэла убактысы", "AWST": "Австралия батыш стандарт убактысы", "SGT": "Сингапур убактысы", "WART": "Батыш Аргентина стандарт убактысы", "PST": "Түндүк Америка, Тынч океан стандарт убактысы", "HKST": "Гонконг жайкы убактысы", "∅∅∅": "Бразилия жайкы убактысы", "ACST": "Австралия борбордук стандарт убактысы", "HADT": "Гавайи-Алеут жайкы убактысы", "ACWDT": "Австралия борбордук чыгыш күндүзгү убактысы", "CAT": "Борбордук Африка убактысы", "MESZ": "Борбордук Европа жайкы убактысы", "AEDT": "Австралия чыгыш күндүзгү убактысы", "AKST": "Аляска стандарт убактысы", "EST": "Түндүк Америка, чыгыш стандарт убактысы", "CLT": "Чили стандарт убактысы", "WAST": "Батыш Африка жайкы убактысы", "MST": "MST", "LHDT": "Лорд Хау күндүзгү убактысы", "JDT": "Жапан күндүзгү убактысы", "SAST": "Түштүк Африка убактысы", "MDT": "MDT", "HNT": "Нюфаундлэнд стандарт убактысы", "HAT": "Нюфаундлэнд жайкы убактысы", "JST": "Жапан стандарт убактысы", "NZST": "Жаӊы Зеландия стандарт убактысы", "ART": "Аргентина стандарт убактысы", "MEZ": "Борбордук Европа стандарт убактысы"}, + erasWide: []string{"", ""}, + timezones: map[string]string{"ECT": "Экуадор убактысы", "MST": "MST", "WIB": "Батыш Индонезия убактысы", "ACWST": "Австралия борбордук батыш кышкы убакыты", "JDT": "Жапон жайкы убактысы", "HEEG": "Чыгыш Гренландия жайкы убактысы", "GMT": "GMT, кышкы убакыты", "HECU": "Куба жайкы убактысы", "HKST": "Гонконг жайкы убактысы", "HNPM": "Сен Пьер жана Микелон кышкы убактысы", "CHAST": "Чатам кышкы убакыт", "GYT": "Гвиана убактысы", "SRT": "Суринаме убактысы", "PDT": "Түндүк Америка, Тынч океан жайкы убактысы", "LHDT": "Лорд Хау жайкы убактысы", "NZST": "Жаӊы Зеландия кышкы убакыты", "∅∅∅": "Амазон жайкы убактысы", "MYT": "Малайзия убактысы", "AKDT": "Аляска жайкы убактысы", "OEZ": "Чыгыш Европа кышкы убакыты", "WAST": "Батыш Африка жайкы убактысы", "AKST": "Аляска кышкы убактысы", "ART": "Аргентина кышкы убактысы", "AWDT": "Австралия батыш жайкы убактысы", "MESZ": "Борбордук Европа жайкы убактысы", "GFT": "Француз Гвиана убактысы", "BOT": "Боливия убактысы", "BT": "Бутан убактысы", "AEST": "Австралия чыгыш кышкы убакыты", "AWST": "Австралия батыш кышкы убакыты", "IST": "Индия убактысы", "HENOMX": "Түндүк-чыгыш Мексика жайкы убактысы", "HNPMX": "Мексика, Тынч океан кышкы убактысы", "HADT": "Гавайи-Алеут жайкы убактысы", "ARST": "Аргентина жайкы убактысы", "HAST": "Гавайи-Алеут кышкы убактысы", "HAT": "Нюфаундлэнд жайкы убактысы", "TMST": "Түркмөнстан жайкы убактысы", "HNEG": "Чыгыш Гренландия кышкы убактысы", "WART": "Батыш Аргентина кышкы убактысы", "WARST": "Батыш Аргентина жайкы убактысы", "COT": "Колумбия кышкы убактысы", "EDT": "Түндүк Америка, чыгыш жайкы убактысы", "ACDT": "Австралия борбордук жайкы убактысы", "EST": "Түндүк Америка, чыгыш кышкы убактысы", "UYT": "Уругвай кышкы убактысы", "VET": "Венесуэла убактысы", "WITA": "Борбордук Индонезия убактысы", "CLT": "Чили кышкы убактысы", "HEPMX": "Мексика, Тынч океан жайкы убактысы", "CDT": "Түндүк Америка, борбордук жайкы убакыт", "AST": "Атлантика кышкы убактысы", "WIT": "Чыгыш Индонезия убактысы", "OESZ": "Чыгыш Европа жайкы убактысы", "HNT": "Нюфаундлэнд кышкы убактысы", "ACST": "Австралия борбордук кышкы убакыты", "HNNOMX": "Түндүк-чыгыш Мексика кышкы убактысы", "CST": "Түндүк Америка, борбордук кышкы убактысы", "ADT": "Атлантика жайкы убактысы", "PST": "Түндүк Америка, Тынч океан кышкы убактысы", "HKT": "Гонконг кышкы убакыты", "MEZ": "Борбордук Европа кышкы убакыты", "LHST": "Лорд Хау кышкы убакыты", "ChST": "Чаморро убактысы", "CAT": "Борбордук Африка убактысы", "HNCU": "Куба кышкы убактысы", "HEOG": "Батыш Гренландия жайкы убактысы", "NZDT": "Жаңы Зеландия жайкы убакыты", "TMT": "Түркмөнстан кышкы убакыты", "AEDT": "Австралия чыгыш жайкы убактысы", "JST": "Жапон кышкы убакыты", "HNOG": "Батыш Гренландия кышкы убактысы", "WESZ": "Батыш Европа жайкы убактысы", "COST": "Колумбия жайкы убактысы", "SGT": "Сингапур убактысы", "HEPM": "Сен Пьер жана Микелон жайкы убактысы", "CHADT": "Чатам жайкы убактысы", "SAST": "Түштүк Африка убактысы", "CLST": "Чили жайкы убактысы", "EAT": "Чыгыш Африка убактысы", "WAT": "Батыш Африка кышкы убакыты", "MDT": "MDT", "UYST": "Уругвай жайкы убактысы", "WEZ": "Батыш Европа кышкы убакыты", "ACWDT": "Австралия борбордук чыгыш жайкы убактысы"}, } } @@ -403,20 +403,10 @@ func (ky *ky) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2f}...) if t.Year() > 9 { b = append(b, strconv.Itoa(t.Year())[2:]...) @@ -432,11 +422,17 @@ func (ky *ky) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) - b = append(b, ky.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ky.monthsAbbreviated[t.Month()]...) return string(b) } @@ -446,11 +442,17 @@ func (ky *ky) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) - b = append(b, ky.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ky.monthsWide[t.Month()]...) return string(b) } @@ -460,15 +462,19 @@ func (ky *ky) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ky.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2d}...) b = append(b, ky.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x2d, 0xd0, 0xb6}...) - b = append(b, []byte{0x2e}...) + b = append(b, ky.daysWide[t.Weekday()]...) return string(b) } diff --git a/ky_KG/ky_KG.go b/ky_KG/ky_KG.go index 1f6a42a27..097b68d87 100644 --- a/ky_KG/ky_KG.go +++ b/ky_KG/ky_KG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "фев.", "мар.", "апр.", "май", "июн.", "июл.", "авг.", "сен.", "окт.", "ноя.", "дек."}, @@ -70,8 +70,8 @@ func New() locales.Translator { periodsWide: []string{"таңкы", "түштөн кийинки"}, erasAbbreviated: []string{"б.з.ч.", "б.з."}, erasNarrow: []string{"б.з.ч.", "б.з."}, - erasWide: []string{"биздин заманга чейин", "биздин заман"}, - timezones: map[string]string{"WESZ": "Батыш Европа жайкы убактысы", "ADT": "Атлантика жайкы убактысы", "BOT": "Боливия убактысы", "CLT": "Чили стандарт убактысы", "HADT": "Гавайи-Алеут жайкы убактысы", "WART": "Батыш Аргентина стандарт убактысы", "PST": "Түндүк Америка, Тынч океан стандарт убактысы", "EAT": "Чыгыш Африка убактысы", "WAST": "Батыш Африка жайкы убактысы", "TMT": "Түркмөнстан стандарт убактысы", "CLST": "Чили жайкы убактысы", "UYT": "Уругвай стандарт убактысы", "JST": "Жапан стандарт убактысы", "CHADT": "Чатам күндүзгү убактысы", "COT": "Колумбия стандарт убактысы", "AST": "Атлантика стандарт убактысы", "GYT": "Гвиана убактысы", "MYT": "Малайзия убактысы", "WIT": "Чыгыш Индонезия убактысы", "LHST": "Лорд Хау стандарт убактысы", "WITA": "Борбордук Индонезия убактысы", "CDT": "Түндүк Америка, борбордук жайкы убактысы", "AWDT": "Австралия батыш күндүзгү убактысы", "HAT": "Нюфаундлэнд жайкы убактысы", "SRT": "Суринаме убактысы", "ECT": "Экуадор убактысы", "ACWST": "Австралия борбордук батыш стандарт убактысы", "EDT": "Түндүк Америка, чыгыш жайкы убактысы", "TMST": "Түркмөнстан жайкы убактысы", "HNT": "Нюфаундлэнд стандарт убактысы", "CHAST": "Чатам стандарт убактысы", "ACDT": "Австралия борбордук күндүзгү убактысы", "PDT": "Түндүк Америка, Тынч океан жайкы убактысы", "GMT": "Гринвич универсалдуу убактысы", "ART": "Аргентина стандарт убактысы", "NZST": "Жаӊы Зеландия стандарт убактысы", "BT": "Бутан убактысы", "∅∅∅": "Бразилия жайкы убактысы", "OESZ": "Чыгыш Европа жайкы убактысы", "HKT": "Гонконг стандарт убактысы", "GFT": "Француз Гвиана убактысы", "SGT": "Сингапур убактысы", "AEST": "Австралия чыгыш стандарт убактысы", "ARST": "Аргентина жайкы убактысы", "NZDT": "Жаңы Зеландия күндүзгү убактысы", "JDT": "Жапан күндүзгү убактысы", "OEZ": "Чыгыш Европа стандарт убактысы", "WEZ": "Батыш Европа стандарт убактысы", "MESZ": "Борбордук Европа жайкы убактысы", "WARST": "Батыш Аргентина жайкы убактысы", "MST": "Түндүк Америка, тоо стандарт убактысы", "MDT": "Түндүк Америка, тоо жайкы убактысы", "AEDT": "Австралия чыгыш күндүзгү убактысы", "SAST": "Түштүк Африка убактысы", "ChST": "Чаморро убактысы", "HKST": "Гонконг жайкы убактысы", "WIB": "Батыш Индонезия убактысы", "VET": "Венесуэла убактысы", "ACST": "Австралия борбордук стандарт убактысы", "WAT": "Батыш Африка стандарт убактысы", "AKDT": "Аляска жайкы убактысы", "EST": "Түндүк Америка, чыгыш стандарт убактысы", "CAT": "Борбордук Африка убактысы", "LHDT": "Лорд Хау күндүзгү убактысы", "COST": "Колумбия жайкы убактысы", "UYST": "Уругвай жайкы убактысы", "MEZ": "Борбордук Европа стандарт убактысы", "AWST": "Австралия батыш стандарт убактысы", "HAST": "Гавайи-Алеут стандарт убактысы", "ACWDT": "Австралия борбордук чыгыш күндүзгү убактысы", "IST": "Индия убактысы", "AKST": "Аляска стандарт убактысы", "CST": "Түндүк Америка, борбордук стандарт убактысы"}, + erasWide: []string{"", ""}, + timezones: map[string]string{"JDT": "Жапон жайкы убактысы", "BOT": "Боливия убактысы", "HEOG": "Батыш Гренландия жайкы убактысы", "NZDT": "Жаңы Зеландия жайкы убакыты", "LHDT": "Лорд Хау жайкы убактысы", "CHAST": "Чатам кышкы убакыт", "HEEG": "Чыгыш Гренландия жайкы убактысы", "WARST": "Батыш Аргентина жайкы убактысы", "COT": "Колумбия кышкы убактысы", "AKDT": "Аляска жайкы убактысы", "ACWDT": "Австралия борбордук чыгыш жайкы убактысы", "HNPM": "Сен Пьер жана Микелон кышкы убактысы", "∅∅∅": "Амазон жайкы убактысы", "TMST": "Түркмөнстан жайкы убактысы", "HNNOMX": "Түндүк-чыгыш Мексика кышкы убактысы", "AEDT": "Австралия чыгыш жайкы убактысы", "WITA": "Борбордук Индонезия убактысы", "MEZ": "Борбордук Европа кышкы убакыты", "ARST": "Аргентина жайкы убактысы", "AWST": "Австралия батыш кышкы убакыты", "CLT": "Чили кышкы убактысы", "ECT": "Экуадор убактысы", "CST": "Түндүк Америка, борбордук кышкы убактысы", "GYT": "Гвиана убактысы", "WIB": "Батыш Индонезия убактысы", "ACWST": "Австралия борбордук батыш кышкы убакыты", "HEPM": "Сен Пьер жана Микелон жайкы убактысы", "HNCU": "Куба кышкы убактысы", "UYT": "Уругвай кышкы убактысы", "CDT": "Түндүк Америка, борбордук жайкы убакыт", "WIT": "Чыгыш Индонезия убактысы", "SRT": "Суринаме убактысы", "WAST": "Батыш Африка жайкы убактысы", "EDT": "Түндүк Америка, чыгыш жайкы убактысы", "AKST": "Аляска кышкы убактысы", "HADT": "Гавайи-Алеут жайкы убактысы", "VET": "Венесуэла убактысы", "MESZ": "Борбордук Европа жайкы убактысы", "OESZ": "Чыгыш Европа жайкы убактысы", "MST": "MST", "HNOG": "Батыш Гренландия кышкы убактысы", "AWDT": "Австралия батыш жайкы убактысы", "LHST": "Лорд Хау кышкы убакыты", "ChST": "Чаморро убактысы", "ACST": "Австралия борбордук кышкы убакыты", "WART": "Батыш Аргентина кышкы убактысы", "GMT": "GMT, кышкы убакыты", "PST": "Түндүк Америка, Тынч океан кышкы убактысы", "WEZ": "Батыш Европа кышкы убакыты", "HNEG": "Чыгыш Гренландия кышкы убактысы", "HNPMX": "Мексика, Тынч океан кышкы убактысы", "ART": "Аргентина кышкы убактысы", "HKST": "Гонконг жайкы убактысы", "CLST": "Чили жайкы убактысы", "COST": "Колумбия жайкы убактысы", "AST": "Атлантика кышкы убактысы", "BT": "Бутан убактысы", "NZST": "Жаӊы Зеландия кышкы убакыты", "HECU": "Куба жайкы убактысы", "UYST": "Уругвай жайкы убактысы", "HAST": "Гавайи-Алеут кышкы убактысы", "HKT": "Гонконг кышкы убакыты", "CHADT": "Чатам жайкы убактысы", "EAT": "Чыгыш Африка убактысы", "OEZ": "Чыгыш Европа кышкы убакыты", "SGT": "Сингапур убактысы", "EST": "Түндүк Америка, чыгыш кышкы убактысы", "HNT": "Нюфаундлэнд кышкы убактысы", "HAT": "Нюфаундлэнд жайкы убактысы", "GFT": "Француз Гвиана убактысы", "ACDT": "Австралия борбордук жайкы убактысы", "MDT": "MDT", "MYT": "Малайзия убактысы", "IST": "Индия убактысы", "CAT": "Борбордук Африка убактысы", "HENOMX": "Түндүк-чыгыш Мексика жайкы убактысы", "ADT": "Атлантика жайкы убактысы", "SAST": "Түштүк Африка убактысы", "HEPMX": "Мексика, Тынч океан жайкы убактысы", "PDT": "Түндүк Америка, Тынч океан жайкы убактысы", "AEST": "Австралия чыгыш кышкы убакыты", "JST": "Жапон кышкы убакыты", "TMT": "Түркмөнстан кышкы убакыты", "WAT": "Батыш Африка кышкы убакыты", "WESZ": "Батыш Европа жайкы убактысы"}, } } @@ -403,20 +403,10 @@ func (ky *ky_KG) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) - - if t.Month() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2f}...) if t.Year() > 9 { b = append(b, strconv.Itoa(t.Year())[2:]...) @@ -432,11 +422,17 @@ func (ky *ky_KG) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) - b = append(b, ky.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ky.monthsAbbreviated[t.Month()]...) return string(b) } @@ -446,11 +442,17 @@ func (ky *ky_KG) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) - b = append(b, ky.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ky.monthsWide[t.Month()]...) return string(b) } @@ -460,15 +462,19 @@ func (ky *ky_KG) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ky.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d, 0xd0, 0xb6}...) + b = append(b, []byte{0x2e, 0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2d}...) b = append(b, ky.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x2d, 0xd0, 0xb6}...) - b = append(b, []byte{0x2e}...) + b = append(b, ky.daysWide[t.Weekday()]...) return string(b) } diff --git a/lag/lag.go b/lag/lag.go index f4821e471..7efcc6ee4 100644 --- a/lag/lag.go +++ b/lag/lag.go @@ -51,7 +51,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KSA", "KA"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kɨrɨsitʉ sɨ anavyaal", "Kɨrɨsitʉ akavyaalwe"}, - timezones: map[string]string{"WIT": "WIT", "∅∅∅": "∅∅∅", "LHST": "LHST", "HKST": "HKST", "MYT": "MYT", "GMT": "GMT", "BOT": "BOT", "CLT": "CLT", "NZST": "NZST", "SGT": "SGT", "SAST": "SAST", "HAT": "HAT", "JST": "JST", "HKT": "HKT", "ECT": "ECT", "ACST": "ACST", "ADT": "ADT", "WAT": "WAT", "NZDT": "NZDT", "CLST": "CLST", "LHDT": "LHDT", "GFT": "GFT", "OEZ": "OEZ", "WITA": "WITA", "TMST": "TMST", "MST": "MST", "BT": "BT", "AWST": "AWST", "ARST": "ARST", "WARST": "WARST", "IST": "IST", "SRT": "SRT", "AEDT": "AEDT", "COST": "COST", "MESZ": "MESZ", "ACDT": "ACDT", "HADT": "HADT", "ACWST": "ACWST", "AEST": "AEST", "UYT": "UYT", "CHAST": "CHAST", "WEZ": "WEZ", "COT": "COT", "ART": "ART", "EAT": "EAT", "WIB": "WIB", "PST": "PST", "CST": "CST", "HNT": "HNT", "WESZ": "WESZ", "ACWDT": "ACWDT", "EST": "EST", "PDT": "PDT", "AKST": "AKST", "GYT": "GYT", "AWDT": "AWDT", "JDT": "JDT", "UYST": "UYST", "CHADT": "CHADT", "HAST": "HAST", "CAT": "CAT", "EDT": "EDT", "WAST": "WAST", "TMT": "TMT", "ChST": "ChST", "WART": "WART", "AKDT": "AKDT", "AST": "AST", "CDT": "CDT", "MDT": "MDT", "OESZ": "OESZ", "VET": "VET", "MEZ": "MEZ"}, + timezones: map[string]string{"NZDT": "NZDT", "∅∅∅": "∅∅∅", "SGT": "SGT", "HEPMX": "HEPMX", "MST": "MST", "PST": "PST", "WESZ": "WESZ", "AWDT": "AWDT", "IST": "IST", "WAT": "WAT", "CAT": "CAT", "HNNOMX": "HNNOMX", "HAT": "HAT", "HKT": "HKT", "AWST": "AWST", "ART": "ART", "AEST": "AEST", "LHST": "LHST", "HEPM": "HEPM", "CHADT": "CHADT", "CLST": "CLST", "TMST": "TMST", "OESZ": "OESZ", "AST": "AST", "WIB": "WIB", "ACWST": "ACWST", "WITA": "WITA", "SAST": "SAST", "HNEG": "HNEG", "TMT": "TMT", "BOT": "BOT", "CST": "CST", "WIT": "WIT", "VET": "VET", "EAT": "EAT", "COT": "COT", "MYT": "MYT", "COST": "COST", "ACST": "ACST", "BT": "BT", "AEDT": "AEDT", "LHDT": "LHDT", "CLT": "CLT", "ACDT": "ACDT", "ADT": "ADT", "HAST": "HAST", "HECU": "HECU", "CHAST": "CHAST", "ChST": "ChST", "EST": "EST", "AKST": "AKST", "WEZ": "WEZ", "NZST": "NZST", "GFT": "GFT", "HNCU": "HNCU", "AKDT": "AKDT", "CDT": "CDT", "GYT": "GYT", "JST": "JST", "GMT": "GMT", "UYST": "UYST", "HNOG": "HNOG", "MESZ": "MESZ", "MEZ": "MEZ", "ECT": "ECT", "HENOMX": "HENOMX", "MDT": "MDT", "ARST": "ARST", "HNPM": "HNPM", "JDT": "JDT", "OEZ": "OEZ", "WARST": "WARST", "HNPMX": "HNPMX", "EDT": "EDT", "SRT": "SRT", "PDT": "PDT", "HKST": "HKST", "HNT": "HNT", "HEOG": "HEOG", "HEEG": "HEEG", "WAST": "WAST", "WART": "WART", "UYT": "UYT", "HADT": "HADT", "ACWDT": "ACWDT"}, } } @@ -317,7 +317,12 @@ func (lag *lag) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -331,7 +336,12 @@ func (lag *lag) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +355,12 @@ func (lag *lag) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +376,12 @@ func (lag *lag) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lag_TZ/lag_TZ.go b/lag_TZ/lag_TZ.go index 1fc296050..9f0ec7218 100644 --- a/lag_TZ/lag_TZ.go +++ b/lag_TZ/lag_TZ.go @@ -51,7 +51,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KSA", "KA"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kɨrɨsitʉ sɨ anavyaal", "Kɨrɨsitʉ akavyaalwe"}, - timezones: map[string]string{"COST": "COST", "PST": "PST", "AST": "AST", "CLST": "CLST", "LHDT": "LHDT", "HKST": "HKST", "VET": "VET", "ACWST": "ACWST", "WART": "WART", "SRT": "SRT", "ACWDT": "ACWDT", "AKDT": "AKDT", "ADT": "ADT", "ChST": "ChST", "AWDT": "AWDT", "CAT": "CAT", "JST": "JST", "GYT": "GYT", "WIT": "WIT", "CHADT": "CHADT", "HAT": "HAT", "ACST": "ACST", "IST": "IST", "EDT": "EDT", "PDT": "PDT", "CLT": "CLT", "WAST": "WAST", "TMST": "TMST", "MDT": "MDT", "ART": "ART", "AWST": "AWST", "HKT": "HKT", "MEZ": "MEZ", "HADT": "HADT", "CST": "CST", "TMT": "TMT", "MST": "MST", "UYST": "UYST", "WESZ": "WESZ", "ACDT": "ACDT", "ECT": "ECT", "AEST": "AEST", "WITA": "WITA", "MYT": "MYT", "CDT": "CDT", "∅∅∅": "∅∅∅", "GFT": "GFT", "WARST": "WARST", "WAT": "WAT", "CHAST": "CHAST", "SGT": "SGT", "COT": "COT", "NZDT": "NZDT", "LHST": "LHST", "ARST": "ARST", "HAST": "HAST", "SAST": "SAST", "AKST": "AKST", "EAT": "EAT", "NZST": "NZST", "BOT": "BOT", "BT": "BT", "HNT": "HNT", "MESZ": "MESZ", "UYT": "UYT", "JDT": "JDT", "GMT": "GMT", "WEZ": "WEZ", "OEZ": "OEZ", "OESZ": "OESZ", "WIB": "WIB", "AEDT": "AEDT", "EST": "EST"}, + timezones: map[string]string{"AEDT": "AEDT", "WARST": "WARST", "HNCU": "HNCU", "HNPMX": "HNPMX", "AKST": "AKST", "PDT": "PDT", "ACST": "ACST", "MYT": "MYT", "IST": "IST", "HNEG": "HNEG", "TMST": "TMST", "OESZ": "OESZ", "MST": "MST", "HEPMX": "HEPMX", "HNT": "HNT", "HNPM": "HNPM", "∅∅∅": "∅∅∅", "HNNOMX": "HNNOMX", "MDT": "MDT", "VET": "VET", "MEZ": "MEZ", "LHST": "LHST", "BOT": "BOT", "CAT": "CAT", "EST": "EST", "ADT": "ADT", "PST": "PST", "HEOG": "HEOG", "HKT": "HKT", "NZDT": "NZDT", "CLT": "CLT", "GMT": "GMT", "CST": "CST", "GYT": "GYT", "CHADT": "CHADT", "COST": "COST", "EDT": "EDT", "AKDT": "AKDT", "CDT": "CDT", "WEZ": "WEZ", "MESZ": "MESZ", "ECT": "ECT", "SGT": "SGT", "ACWDT": "ACWDT", "AEST": "AEST", "WAT": "WAT", "UYST": "UYST", "WIT": "WIT", "BT": "BT", "HAT": "HAT", "CHAST": "CHAST", "OEZ": "OEZ", "HEPM": "HEPM", "WAST": "WAST", "COT": "COT", "UYT": "UYT", "HNOG": "HNOG", "AWST": "AWST", "HKST": "HKST", "JST": "JST", "EAT": "EAT", "SRT": "SRT", "ARST": "ARST", "ChST": "ChST", "HEEG": "HEEG", "HENOMX": "HENOMX", "HECU": "HECU", "HAST": "HAST", "AWDT": "AWDT", "JDT": "JDT", "ACDT": "ACDT", "AST": "AST", "HADT": "HADT", "ACWST": "ACWST", "ART": "ART", "LHDT": "LHDT", "NZST": "NZST", "SAST": "SAST", "WART": "WART", "GFT": "GFT", "WESZ": "WESZ", "WITA": "WITA", "CLST": "CLST", "TMT": "TMT", "WIB": "WIB"}, } } @@ -317,7 +317,12 @@ func (lag *lag_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -331,7 +336,12 @@ func (lag *lag_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +355,12 @@ func (lag *lag_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +376,12 @@ func (lag *lag_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lag.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lb/lb.go b/lb/lb.go index 85ae11171..0c07ca56c 100644 --- a/lb/lb.go +++ b/lb/lb.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "öS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"", ""}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"IST": "Indesch Zäit", "AKST": "Alaska-Normalzäit", "AKDT": "Alaska-Summerzäit", "PDT": "Nordamerikanesch Westküsten-Summerzäit", "SGT": "Singapur-Standardzäit", "COST": "Kolumbianesch Summerzäit", "ECT": "Ecuadorianesch Zäit", "MEZ": "Mëtteleuropäesch Normalzäit", "LHDT": "Lord-Howe-Summerzäit", "GFT": "Franséisch-Guayane-Zäit", "ACDT": "Zentralaustralesch Summerzäit", "NZDT": "Neiséiland-Summerzäit", "CLST": "Chilenesch Summerzäit", "ARST": "Argentinesch Summerzäit", "HAT": "Neifundland-Summerzäit", "UYT": "Uruguyanesch Normalzäit", "LHST": "Lord-Howe-Normalzäit", "HKT": "Hong-Kong-Normalzäit", "MDT": "Rocky-Mountain-Summerzäit", "MYT": "Malaysesch Zäit", "HNT": "Neifundland-Normalzäit", "WEZ": "Westeuropäesch Normalzäit", "TMST": "Turkmenistan-Summerzäit", "AST": "Atlantik-Normalzäit", "COT": "Kolumbianesch Normalzäit", "ACST": "Zentralaustralesch Normalzäit", "ACWDT": "Zentral-/Westaustralesch Summerzäit", "PST": "Nordamerikanesch Westküsten-Normalzäit", "UYST": "Uruguayanesch Summerzäit", "HKST": "Hong-Kong-Summerzäit", "WESZ": "Westeuropäesch Summerzäit", "AEST": "Ostaustralesch Normalzäit", "WAT": "Westafrikanesch Normalzäit", "MST": "Rocky-Mountain-Normalzäit", "OEZ": "Osteuropäesch Normalzäit", "WIB": "Westindonesesch Zäit", "WAST": "Westafrikanesch Summerzäit", "TMT": "Turkmenistan-Normalzäit", "SRT": "Suriname-Zäit", "WART": "Westargentinesch Normalzäit", "NZST": "Neiséiland-Normalzäit", "JDT": "Japanesch Summerzäit", "∅∅∅": "Acre-Summerzäit", "MESZ": "Mëtteleuropäesch Summerzäit", "ACWST": "Zentral-/Westaustralesch Normalzäit", "AWST": "Westaustralesch Normalzäit", "EST": "Nordamerikanesch Ostküsten-Normalzäit", "BT": "Bhutan-Zäit", "ADT": "Atlantik-Summerzäit", "GYT": "Guyana-Zäit", "JST": "Japanesch Normalzäit", "GMT": "Mëttler Greenwich-Zäit", "CHADT": "Chatham-Summerzäit", "OESZ": "Osteuropäesch Summerzäit", "WARST": "Westargentinesch Summerzäit", "HAST": "Hawaii-Aleuten-Normalzäit", "SAST": "Südafrikanesch Zäit", "CDT": "Nordamerikanesch Inland-Summerzäit", "VET": "Venezuela-Zäit", "CST": "Nordamerikanesch Inland-Normalzäit", "AWDT": "Westaustralesch Summerzäit", "WITA": "Zentralindonesesch Zäit", "ChST": "Chamorro-Zäit", "CLT": "Chilenesch Normalzäit", "CAT": "Zentralafrikanesch Zäit", "CHAST": "Chatham-Normalzäit", "AEDT": "Ostaustralesch Summerzäit", "ART": "Argentinesch Normalzäit", "HADT": "Hawaii-Aleuten-Summerzäit", "EDT": "Nordamerikanesch Ostküsten-Summerzäit", "EAT": "Ostafrikanesch Zäit", "BOT": "Bolivianesch Zäit", "WIT": "Ostindonesesch Zäit"}, + timezones: map[string]string{"UYST": "Uruguayanesch Summerzäit", "AKST": "Alaska-Normalzäit", "AKDT": "Alaska-Summerzäit", "HAST": "Hawaii-Aleuten-Normalzäit", "MEZ": "Mëtteleuropäesch Normalzäit", "JST": "Japanesch Normalzäit", "∅∅∅": "Amazonas-Summerzäit", "WAST": "Westafrikanesch Summerzäit", "COST": "Kolumbianesch Summerzäit", "WIB": "Westindonesesch Zäit", "HNPM": "Saint-Pierre-a-Miquelon-Normalzäit", "JDT": "Japanesch Summerzäit", "ChST": "Chamorro-Zäit", "HENOMX": "Nordwest-Mexiko-Summerzäit", "CST": "Nordamerikanesch Inland-Normalzäit", "SRT": "Suriname-Zäit", "AEST": "Ostaustralesch Normalzäit", "NZST": "Neiséiland-Normalzäit", "ACDT": "Zentralaustralesch Summerzäit", "OEZ": "Osteuropäesch Normalzäit", "AST": "Atlantik-Normalzäit", "CDT": "Nordamerikanesch Inland-Summerzäit", "HADT": "Hawaii-Aleuten-Summerzäit", "WESZ": "Westeuropäesch Summerzäit", "OESZ": "Osteuropäesch Summerzäit", "HNNOMX": "Nordwest-Mexiko-Normalzäit", "GMT": "Mëttler Greenwich-Zäit", "EST": "Nordamerikanesch Ostküsten-Normalzäit", "ACST": "Zentralaustralesch Normalzäit", "ADT": "Atlantik-Summerzäit", "HEOG": "Westgrönland-Summerzäit", "SAST": "Südafrikanesch Zäit", "IST": "Indesch Zäit", "HEEG": "Ostgrönland-Summerzäit", "WARST": "Westargentinesch Summerzäit", "AWDT": "Westaustralesch Summerzäit", "HKT": "Hong-Kong-Normalzäit", "NZDT": "Neiséiland-Summerzäit", "BOT": "Bolivianesch Zäit", "AEDT": "Ostaustralesch Summerzäit", "AWST": "Westaustralesch Normalzäit", "MESZ": "Mëtteleuropäesch Summerzäit", "HNEG": "Ostgrönland-Normalzäit", "WART": "Westargentinesch Normalzäit", "MST": "MST", "MDT": "MDT", "WEZ": "Westeuropäesch Normalzäit", "HEPM": "Saint-Pierre-a-Miquelon-Summerzäit", "ACWST": "Zentral-/Westaustralesch Normalzäit", "HNT": "Neifundland-Normalzäit", "TMT": "Turkmenistan-Normalzäit", "TMST": "Turkmenistan-Summerzäit", "CAT": "Zentralafrikanesch Zäit", "UYT": "Uruguyanesch Normalzäit", "WIT": "Ostindonesesch Zäit", "PDT": "Nordamerikanesch Westküsten-Summerzäit", "WITA": "Zentralindonesesch Zäit", "LHDT": "Lord-Howe-Summerzäit", "EAT": "Ostafrikanesch Zäit", "HNCU": "Kubanesch Normalzäit", "GYT": "Guyana-Zäit", "HNOG": "Westgrönland-Normalzäit", "ACWDT": "Zentral-/Westaustralesch Summerzäit", "HKST": "Hong-Kong-Summerzäit", "VET": "Venezuela-Zäit", "BT": "Bhutan-Zäit", "CLT": "Chilenesch Normalzäit", "GFT": "Franséisch-Guayane-Zäit", "SGT": "Singapur-Standardzäit", "EDT": "Nordamerikanesch Ostküsten-Summerzäit", "HNPMX": "Mexikanesch Pazifik-Normalzäit", "HEPMX": "Mexikanesch Pazifik-Summerzäit", "ART": "Argentinesch Normalzäit", "CHAST": "Chatham-Normalzäit", "ECT": "Ecuadorianesch Zäit", "WAT": "Westafrikanesch Normalzäit", "MYT": "Malaysesch Zäit", "PST": "Nordamerikanesch Westküsten-Normalzäit", "CHADT": "Chatham-Summerzäit", "CLST": "Chilenesch Summerzäit", "HECU": "Kubanesch Summerzäit", "ARST": "Argentinesch Summerzäit", "COT": "Kolumbianesch Normalzäit", "HAT": "Neifundland-Summerzäit", "LHST": "Lord-Howe-Normalzäit"}, } } @@ -423,7 +423,12 @@ func (lb *lb) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +442,12 @@ func (lb *lb) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (lb *lb) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lb_LU/lb_LU.go b/lb_LU/lb_LU.go index 33f9902d0..9ac1446a6 100644 --- a/lb_LU/lb_LU.go +++ b/lb_LU/lb_LU.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr."}, erasNarrow: []string{"", ""}, erasWide: []string{"v. Chr.", "n. Chr."}, - timezones: map[string]string{"ACWDT": "Zentral-/Westaustralesch Summerzäit", "WIT": "Ostindonesesch Zäit", "CHADT": "Chatham-Summerzäit", "ECT": "Ecuadorianesch Zäit", "WIB": "Westindonesesch Zäit", "AKST": "Alaska-Normalzäit", "PST": "Nordamerikanesch Westküsten-Normalzäit", "LHST": "Lord-Howe-Normalzäit", "JST": "Japanesch Normalzäit", "HKST": "Hong-Kong-Summerzäit", "ACDT": "Zentralaustralesch Summerzäit", "SRT": "Suriname-Zäit", "WAST": "Westafrikanesch Summerzäit", "PDT": "Nordamerikanesch Westküsten-Summerzäit", "JDT": "Japanesch Summerzäit", "OESZ": "Osteuropäesch Summerzäit", "MEZ": "Mëtteleuropäesch Normalzäit", "WITA": "Zentralindonesesch Zäit", "MST": "Rocky-Mountain-Normalzäit", "NZST": "Neiséiland-Normalzäit", "ChST": "Chamorro-Zäit", "HNT": "Neifundland-Normalzäit", "COT": "Kolumbianesch Normalzäit", "ART": "Argentinesch Normalzäit", "IST": "Indesch Zäit", "EST": "Nordamerikanesch Ostküsten-Normalzäit", "CDT": "Nordamerikanesch Inland-Summerzäit", "MYT": "Malaysesch Zäit", "WESZ": "Westeuropäesch Summerzäit", "HAST": "Hawaii-Aleuten-Normalzäit", "ACWST": "Zentral-/Westaustralesch Normalzäit", "VET": "Venezuela-Zäit", "TMT": "Turkmenistan-Normalzäit", "GYT": "Guyana-Zäit", "AEDT": "Ostaustralesch Summerzäit", "WART": "Westargentinesch Normalzäit", "EAT": "Ostafrikanesch Zäit", "SAST": "Südafrikanesch Zäit", "AKDT": "Alaska-Summerzäit", "EDT": "Nordamerikanesch Ostküsten-Summerzäit", "CAT": "Zentralafrikanesch Zäit", "ACST": "Zentralaustralesch Normalzäit", "ARST": "Argentinesch Summerzäit", "BT": "Bhutan-Zäit", "CLT": "Chilenesch Normalzäit", "GMT": "Mëttler Greenwich-Zäit", "GFT": "Franséisch-Guayane-Zäit", "MESZ": "Mëtteleuropäesch Summerzäit", "WARST": "Westargentinesch Summerzäit", "ADT": "Atlantik-Summerzäit", "BOT": "Bolivianesch Zäit", "COST": "Kolumbianesch Summerzäit", "HADT": "Hawaii-Aleuten-Summerzäit", "TMST": "Turkmenistan-Summerzäit", "LHDT": "Lord-Howe-Summerzäit", "HKT": "Hong-Kong-Normalzäit", "SGT": "Singapur-Standardzäit", "UYST": "Uruguayanesch Summerzäit", "CHAST": "Chatham-Normalzäit", "WAT": "Westafrikanesch Normalzäit", "AST": "Atlantik-Normalzäit", "CST": "Nordamerikanesch Inland-Normalzäit", "∅∅∅": "Azoren-Summerzäit", "HAT": "Neifundland-Summerzäit", "CLST": "Chilenesch Summerzäit", "AEST": "Ostaustralesch Normalzäit", "MDT": "Rocky-Mountain-Summerzäit", "AWDT": "Westaustralesch Summerzäit", "WEZ": "Westeuropäesch Normalzäit", "NZDT": "Neiséiland-Summerzäit", "AWST": "Westaustralesch Normalzäit", "UYT": "Uruguyanesch Normalzäit", "OEZ": "Osteuropäesch Normalzäit"}, + timezones: map[string]string{"ECT": "Ecuadorianesch Zäit", "HKT": "Hong-Kong-Normalzäit", "NZST": "Neiséiland-Normalzäit", "BOT": "Bolivianesch Zäit", "CST": "Nordamerikanesch Inland-Normalzäit", "HNOG": "Westgrönland-Normalzäit", "TMT": "Turkmenistan-Normalzäit", "EAT": "Ostafrikanesch Zäit", "WAT": "Westafrikanesch Normalzäit", "WARST": "Westargentinesch Summerzäit", "GMT": "Mëttler Greenwich-Zäit", "GYT": "Guyana-Zäit", "WIT": "Ostindonesesch Zäit", "AWST": "Westaustralesch Normalzäit", "HNCU": "Kubanesch Normalzäit", "AST": "Atlantik-Normalzäit", "AKST": "Alaska-Normalzäit", "PDT": "Nordamerikanesch Westküsten-Summerzäit", "AWDT": "Westaustralesch Summerzäit", "LHST": "Lord-Howe-Normalzäit", "JDT": "Japanesch Summerzäit", "∅∅∅": "Amazonas-Summerzäit", "HECU": "Kubanesch Summerzäit", "ACWST": "Zentral-/Westaustralesch Normalzäit", "WITA": "Zentralindonesesch Zäit", "CAT": "Zentralafrikanesch Zäit", "HNNOMX": "Nordwest-Mexiko-Normalzäit", "HNPMX": "Mexikanesch Pazifik-Normalzäit", "HEOG": "Westgrönland-Summerzäit", "WEZ": "Westeuropäesch Normalzäit", "MEZ": "Mëtteleuropäesch Normalzäit", "CHADT": "Chatham-Summerzäit", "SAST": "Südafrikanesch Zäit", "SGT": "Singapur-Standardzäit", "ARST": "Argentinesch Summerzäit", "HNT": "Neifundland-Normalzäit", "WAST": "Westafrikanesch Summerzäit", "AKDT": "Alaska-Summerzäit", "ART": "Argentinesch Normalzäit", "NZDT": "Neiséiland-Summerzäit", "CHAST": "Chatham-Normalzäit", "WART": "Westargentinesch Normalzäit", "MYT": "Malaysesch Zäit", "SRT": "Suriname-Zäit", "ACWDT": "Zentral-/Westaustralesch Summerzäit", "CLST": "Chilenesch Summerzäit", "ChST": "Chamorro-Zäit", "COT": "Kolumbianesch Normalzäit", "MST": "MST", "HAST": "Hawaii-Aleuten-Normalzäit", "BT": "Bhutan-Zäit", "AEDT": "Ostaustralesch Summerzäit", "LHDT": "Lord-Howe-Summerzäit", "IST": "Indesch Zäit", "HNEG": "Ostgrönland-Normalzäit", "HEEG": "Ostgrönland-Summerzäit", "GFT": "Franséisch-Guayane-Zäit", "ACST": "Zentralaustralesch Normalzäit", "HKST": "Hong-Kong-Summerzäit", "HNPM": "Saint-Pierre-a-Miquelon-Normalzäit", "HEPM": "Saint-Pierre-a-Miquelon-Summerzäit", "EDT": "Nordamerikanesch Ostküsten-Summerzäit", "MDT": "MDT", "HEPMX": "Mexikanesch Pazifik-Summerzäit", "HAT": "Neifundland-Summerzäit", "ACDT": "Zentralaustralesch Summerzäit", "COST": "Kolumbianesch Summerzäit", "UYT": "Uruguyanesch Normalzäit", "UYST": "Uruguayanesch Summerzäit", "CDT": "Nordamerikanesch Inland-Summerzäit", "PST": "Nordamerikanesch Westküsten-Normalzäit", "JST": "Japanesch Normalzäit", "TMST": "Turkmenistan-Summerzäit", "WIB": "Westindonesesch Zäit", "HADT": "Hawaii-Aleuten-Summerzäit", "WESZ": "Westeuropäesch Summerzäit", "MESZ": "Mëtteleuropäesch Summerzäit", "CLT": "Chilenesch Normalzäit", "OEZ": "Osteuropäesch Normalzäit", "OESZ": "Osteuropäesch Summerzäit", "EST": "Nordamerikanesch Ostküsten-Normalzäit", "ADT": "Atlantik-Summerzäit", "VET": "Venezuela-Zäit", "HENOMX": "Nordwest-Mexiko-Summerzäit", "AEST": "Ostaustralesch Normalzäit"}, } } @@ -423,7 +423,12 @@ func (lb *lb_LU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -437,7 +442,12 @@ func (lb *lb_LU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (lb *lb_LU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, lb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lg/lg.go b/lg/lg.go index 36e548f16..0236c2ae5 100644 --- a/lg/lg.go +++ b/lg/lg.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apu", "Maa", "Juu", "Jul", "Agu", "Seb", "Oki", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janwaliyo", "Febwaliyo", "Marisi", "Apuli", "Maayi", "Juuni", "Julaayi", "Agusito", "Sebuttemba", "Okitobba", "Novemba", "Desemba"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kulisito nga tannaza", "Bukya Kulisito Azaal"}, - timezones: map[string]string{"WIT": "WIT", "CHAST": "CHAST", "SRT": "SRT", "WIB": "WIB", "MEZ": "MEZ", "EDT": "EDT", "NZST": "NZST", "TMT": "TMT", "HKT": "HKT", "HKST": "HKST", "WAST": "WAST", "AST": "AST", "LHST": "LHST", "CHADT": "CHADT", "WEZ": "WEZ", "ADT": "ADT", "UYT": "UYT", "IST": "IST", "PST": "PST", "COST": "COST", "ART": "ART", "HADT": "HADT", "ACWDT": "ACWDT", "WAT": "WAT", "EST": "EST", "LHDT": "LHDT", "MDT": "MDT", "NZDT": "NZDT", "HNT": "HNT", "HAT": "HAT", "CAT": "CAT", "UYST": "UYST", "GMT": "GMT", "GFT": "GFT", "EAT": "EAT", "CST": "CST", "ACWST": "ACWST", "WESZ": "WESZ", "ACDT": "ACDT", "AEST": "AEST", "WARST": "WARST", "AWDT": "AWDT", "BT": "BT", "MYT": "MYT", "ARST": "ARST", "JDT": "JDT", "WART": "WART", "WITA": "WITA", "BOT": "BOT", "ECT": "ECT", "CDT": "CDT", "GYT": "GYT", "ACST": "ACST", "MST": "MST", "AWST": "AWST", "CLST": "CLST", "VET": "VET", "MESZ": "MESZ", "AKST": "AKST", "TMST": "TMST", "AEDT": "AEDT", "SAST": "SAST", "OEZ": "OEZ", "JST": "JST", "OESZ": "OESZ", "SGT": "SGT", "HAST": "HAST", "AKDT": "AKDT", "PDT": "PDT", "CLT": "CLT", "COT": "COT", "∅∅∅": "∅∅∅", "ChST": "ChST"}, + timezones: map[string]string{"PST": "PST", "ACWST": "ACWST", "HKST": "HKST", "MEZ": "MEZ", "MESZ": "MESZ", "HAST": "HAST", "ART": "ART", "CHADT": "CHADT", "HNCU": "HNCU", "AST": "AST", "HADT": "HADT", "MST": "MST", "WEZ": "WEZ", "WESZ": "WESZ", "HAT": "HAT", "SAST": "SAST", "BOT": "BOT", "HENOMX": "HENOMX", "WAT": "WAT", "VET": "VET", "HNOG": "HNOG", "HEOG": "HEOG", "NZST": "NZST", "IST": "IST", "TMT": "TMT", "HEEG": "HEEG", "HNPMX": "HNPMX", "MYT": "MYT", "HEPM": "HEPM", "LHDT": "LHDT", "JST": "JST", "ACDT": "ACDT", "COT": "COT", "EDT": "EDT", "UYST": "UYST", "CST": "CST", "HNPM": "HNPM", "LHST": "LHST", "TMST": "TMST", "WAST": "WAST", "AKST": "AKST", "AKDT": "AKDT", "ACWDT": "ACWDT", "ECT": "ECT", "CAT": "CAT", "COST": "COST", "HEPMX": "HEPMX", "GYT": "GYT", "ARST": "ARST", "WARST": "WARST", "HECU": "HECU", "ChST": "ChST", "GFT": "GFT", "OESZ": "OESZ", "SGT": "SGT", "UYT": "UYT", "WIB": "WIB", "JDT": "JDT", "CLST": "CLST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "EST": "EST", "AEDT": "AEDT", "CLT": "CLT", "HNNOMX": "HNNOMX", "WART": "WART", "SRT": "SRT", "HNT": "HNT", "AWDT": "AWDT", "ACST": "ACST", "MDT": "MDT", "ADT": "ADT", "AEST": "AEST", "CHAST": "CHAST", "AWST": "AWST", "NZDT": "NZDT", "OEZ": "OEZ", "GMT": "GMT", "WIT": "WIT", "BT": "BT", "PDT": "PDT", "HKT": "HKT", "WITA": "WITA", "EAT": "EAT", "CDT": "CDT"}, } } @@ -322,7 +322,12 @@ func (lg *lg) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (lg *lg) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (lg *lg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (lg *lg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lg_UG/lg_UG.go b/lg_UG/lg_UG.go index 37cd773e2..4f1577b3d 100644 --- a/lg_UG/lg_UG.go +++ b/lg_UG/lg_UG.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apu", "Maa", "Juu", "Jul", "Agu", "Seb", "Oki", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janwaliyo", "Febwaliyo", "Marisi", "Apuli", "Maayi", "Juuni", "Julaayi", "Agusito", "Sebuttemba", "Okitobba", "Novemba", "Desemba"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kulisito nga tannaza", "Bukya Kulisito Azaal"}, - timezones: map[string]string{"HKST": "HKST", "CHADT": "CHADT", "HAT": "HAT", "WAT": "WAT", "EDT": "EDT", "WART": "WART", "ChST": "ChST", "WIT": "WIT", "SGT": "SGT", "MESZ": "MESZ", "AEDT": "AEDT", "AKDT": "AKDT", "CLT": "CLT", "JST": "JST", "SRT": "SRT", "IST": "IST", "LHDT": "LHDT", "UYT": "UYT", "PST": "PST", "ADT": "ADT", "AWDT": "AWDT", "CLST": "CLST", "ACST": "ACST", "VET": "VET", "ARST": "ARST", "SAST": "SAST", "PDT": "PDT", "AWST": "AWST", "HNT": "HNT", "WEZ": "WEZ", "COT": "COT", "AKST": "AKST", "CDT": "CDT", "NZST": "NZST", "LHST": "LHST", "OEZ": "OEZ", "ACWST": "ACWST", "ACWDT": "ACWDT", "WITA": "WITA", "∅∅∅": "∅∅∅", "WIB": "WIB", "MEZ": "MEZ", "NZDT": "NZDT", "MST": "MST", "WESZ": "WESZ", "EAT": "EAT", "TMST": "TMST", "GYT": "GYT", "TMT": "TMT", "BOT": "BOT", "GMT": "GMT", "HKT": "HKT", "OESZ": "OESZ", "WARST": "WARST", "EST": "EST", "AST": "AST", "MYT": "MYT", "CAT": "CAT", "JDT": "JDT", "CHAST": "CHAST", "AEST": "AEST", "BT": "BT", "GFT": "GFT", "ECT": "ECT", "MDT": "MDT", "UYST": "UYST", "ACDT": "ACDT", "COST": "COST", "HAST": "HAST", "WAST": "WAST", "CST": "CST", "ART": "ART", "HADT": "HADT"}, + timezones: map[string]string{"CLST": "CLST", "CAT": "CAT", "GMT": "GMT", "GYT": "GYT", "WESZ": "WESZ", "EAT": "EAT", "WIT": "WIT", "ECT": "ECT", "COST": "COST", "HENOMX": "HENOMX", "ACWDT": "ACWDT", "HNT": "HNT", "HKT": "HKT", "BOT": "BOT", "WAST": "WAST", "SGT": "SGT", "EDT": "EDT", "BT": "BT", "PST": "PST", "AKDT": "AKDT", "MESZ": "MESZ", "PDT": "PDT", "IST": "IST", "TMST": "TMST", "HECU": "HECU", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "UYT": "UYT", "HADT": "HADT", "JST": "JST", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "OESZ": "OESZ", "ACWST": "ACWST", "HKST": "HKST", "HAST": "HAST", "VET": "VET", "ARST": "ARST", "LHDT": "LHDT", "NZST": "NZST", "TMT": "TMT", "COT": "COT", "CDT": "CDT", "ART": "ART", "HNPM": "HNPM", "MEZ": "MEZ", "NZDT": "NZDT", "AEST": "AEST", "LHST": "LHST", "CLT": "CLT", "ACST": "ACST", "EST": "EST", "AST": "AST", "AKST": "AKST", "HAT": "HAT", "CHADT": "CHADT", "WARST": "WARST", "HNCU": "HNCU", "MST": "MST", "MDT": "MDT", "AWST": "AWST", "ChST": "ChST", "HNNOMX": "HNNOMX", "SRT": "SRT", "HNOG": "HNOG", "AWDT": "AWDT", "CHAST": "CHAST", "OEZ": "OEZ", "CST": "CST", "HEOG": "HEOG", "AEDT": "AEDT", "WITA": "WITA", "WAT": "WAT", "WART": "WART", "MYT": "MYT", "UYST": "UYST", "WEZ": "WEZ", "HEPM": "HEPM", "HNEG": "HNEG", "SAST": "SAST", "JDT": "JDT", "HEEG": "HEEG", "GFT": "GFT", "ADT": "ADT", "WIB": "WIB"}, } } @@ -322,7 +322,12 @@ func (lg *lg_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (lg *lg_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (lg *lg_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (lg *lg_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lkt/lkt.go b/lkt/lkt.go index 82675e5ab..7611aab4a 100644 --- a/lkt/lkt.go +++ b/lkt/lkt.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "Wiótheȟika Wí", "Thiyóȟeyuŋka Wí", "Ištáwičhayazaŋ Wí", "Pȟežítȟo Wí", "Čhaŋwápetȟo Wí", "Wípazukȟa-wašté Wí", "Čhaŋpȟásapa Wí", "Wasútȟuŋ Wí", "Čhaŋwápeǧi Wí", "Čhaŋwápe-kasná Wí", "Waníyetu Wí", "Tȟahékapšuŋ Wí"}, daysNarrow: []string{"A", "W", "N", "Y", "T", "Z", "O"}, daysWide: []string{"Aŋpétuwakȟaŋ", "Aŋpétuwaŋži", "Aŋpétunuŋpa", "Aŋpétuyamni", "Aŋpétutopa", "Aŋpétuzaptaŋ", "Owáŋgyužažapi"}, - timezones: map[string]string{"COST": "COST", "WART": "WART", "WAST": "WAST", "BOT": "BOT", "HKST": "HKST", "∅∅∅": "∅∅∅", "COT": "COT", "ACWST": "ACWST", "SAST": "SAST", "EDT": "EDT", "GMT": "GMT", "HAST": "HAST", "MDT": "MDT", "HKT": "HKT", "LHST": "LHST", "UYST": "UYST", "JDT": "JDT", "WEZ": "WEZ", "PST": "PST", "AWDT": "AWDT", "JST": "JST", "WIT": "WIT", "LHDT": "LHDT", "MEZ": "MEZ", "ACST": "ACST", "VET": "VET", "WARST": "WARST", "WAT": "WAT", "PDT": "PDT", "BT": "BT", "MST": "MST", "AEST": "AEST", "ART": "ART", "GYT": "GYT", "OESZ": "OESZ", "ACWDT": "ACWDT", "CDT": "CDT", "NZDT": "NZDT", "HADT": "HADT", "CLST": "CLST", "CHAST": "CHAST", "HNT": "HNT", "ADT": "ADT", "AKST": "AKST", "TMT": "TMT", "MYT": "MYT", "HAT": "HAT", "CHADT": "CHADT", "SRT": "SRT", "ECT": "ECT", "AST": "AST", "EAT": "EAT", "NZST": "NZST", "CLT": "CLT", "OEZ": "OEZ", "WESZ": "WESZ", "ARST": "ARST", "UYT": "UYT", "AKDT": "AKDT", "CST": "CST", "AWST": "AWST", "WITA": "WITA", "ChST": "ChST", "EST": "EST", "GFT": "GFT", "MESZ": "MESZ", "SGT": "SGT", "WIB": "WIB", "AEDT": "AEDT", "CAT": "CAT", "IST": "IST", "TMST": "TMST", "ACDT": "ACDT"}, + timezones: map[string]string{"HADT": "HADT", "WEZ": "WEZ", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "PST": "PST", "ARST": "ARST", "HEPM": "HEPM", "HEEG": "HEEG", "AEDT": "AEDT", "MYT": "MYT", "WIB": "WIB", "WIT": "WIT", "HEOG": "HEOG", "AWDT": "AWDT", "GFT": "GFT", "WARST": "WARST", "MDT": "MDT", "LHST": "LHST", "ACST": "ACST", "BT": "BT", "ACWST": "ACWST", "CHADT": "CHADT", "COST": "COST", "HNCU": "HNCU", "HNPMX": "HNPMX", "PDT": "PDT", "JDT": "JDT", "COT": "COT", "HENOMX": "HENOMX", "EDT": "EDT", "HNT": "HNT", "BOT": "BOT", "TMT": "TMT", "HAST": "HAST", "SRT": "SRT", "HKT": "HKT", "HKST": "HKST", "HNPM": "HNPM", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "EAT": "EAT", "GMT": "GMT", "UYT": "UYT", "AST": "AST", "HNOG": "HNOG", "JST": "JST", "ChST": "ChST", "WAT": "WAT", "OEZ": "OEZ", "UYST": "UYST", "WITA": "WITA", "NZST": "NZST", "CLST": "CLST", "TMST": "TMST", "SAST": "SAST", "ART": "ART", "AEST": "AEST", "HNEG": "HNEG", "WAST": "WAST", "SGT": "SGT", "HECU": "HECU", "EST": "EST", "VET": "VET", "NZDT": "NZDT", "CST": "CST", "ADT": "ADT", "CAT": "CAT", "ECT": "ECT", "WART": "WART", "HEPMX": "HEPMX", "AKST": "AKST", "AKDT": "AKDT", "GYT": "GYT", "ACWDT": "ACWDT", "AWST": "AWST", "CHAST": "CHAST", "IST": "IST", "CLT": "CLT", "LHDT": "LHDT", "ACDT": "ACDT", "MST": "MST", "CDT": "CDT", "WESZ": "WESZ", "HAT": "HAT", "MEZ": "MEZ"}, } } @@ -314,7 +314,12 @@ func (lkt *lkt) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -328,7 +333,12 @@ func (lkt *lkt) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +354,12 @@ func (lkt *lkt) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lkt_US/lkt_US.go b/lkt_US/lkt_US.go index 53c6b5c87..069715ab1 100644 --- a/lkt_US/lkt_US.go +++ b/lkt_US/lkt_US.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "Wiótheȟika Wí", "Thiyóȟeyuŋka Wí", "Ištáwičhayazaŋ Wí", "Pȟežítȟo Wí", "Čhaŋwápetȟo Wí", "Wípazukȟa-wašté Wí", "Čhaŋpȟásapa Wí", "Wasútȟuŋ Wí", "Čhaŋwápeǧi Wí", "Čhaŋwápe-kasná Wí", "Waníyetu Wí", "Tȟahékapšuŋ Wí"}, daysNarrow: []string{"A", "W", "N", "Y", "T", "Z", "O"}, daysWide: []string{"Aŋpétuwakȟaŋ", "Aŋpétuwaŋži", "Aŋpétunuŋpa", "Aŋpétuyamni", "Aŋpétutopa", "Aŋpétuzaptaŋ", "Owáŋgyužažapi"}, - timezones: map[string]string{"ART": "ART", "CLT": "CLT", "HKT": "HKT", "ADT": "ADT", "ChST": "ChST", "LHDT": "LHDT", "EDT": "EDT", "GMT": "GMT", "VET": "VET", "WIB": "WIB", "HAST": "HAST", "EST": "EST", "JST": "JST", "CHAST": "CHAST", "NZST": "NZST", "NZDT": "NZDT", "UYT": "UYT", "SRT": "SRT", "OEZ": "OEZ", "WART": "WART", "PDT": "PDT", "WITA": "WITA", "UYST": "UYST", "CAT": "CAT", "BT": "BT", "WESZ": "WESZ", "ACDT": "ACDT", "ACWDT": "ACWDT", "AEST": "AEST", "MST": "MST", "MDT": "MDT", "ACWST": "ACWST", "AKDT": "AKDT", "AST": "AST", "TMT": "TMT", "OESZ": "OESZ", "PST": "PST", "∅∅∅": "∅∅∅", "MYT": "MYT", "AWST": "AWST", "HAT": "HAT", "CHADT": "CHADT", "MEZ": "MEZ", "AEDT": "AEDT", "AKST": "AKST", "CDT": "CDT", "HNT": "HNT", "CLST": "CLST", "WIT": "WIT", "JDT": "JDT", "GFT": "GFT", "EAT": "EAT", "IST": "IST", "GYT": "GYT", "BOT": "BOT", "MESZ": "MESZ", "ACST": "ACST", "SGT": "SGT", "AWDT": "AWDT", "COT": "COT", "HADT": "HADT", "ARST": "ARST", "SAST": "SAST", "CST": "CST", "LHST": "LHST", "WEZ": "WEZ", "HKST": "HKST", "ECT": "ECT", "WARST": "WARST", "WAT": "WAT", "WAST": "WAST", "TMST": "TMST", "COST": "COST"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "HNNOMX": "HNNOMX", "WEZ": "WEZ", "HNT": "HNT", "VET": "VET", "MESZ": "MESZ", "ACWDT": "ACWDT", "AWDT": "AWDT", "JST": "JST", "ECT": "ECT", "CAT": "CAT", "WAT": "WAT", "COST": "COST", "SRT": "SRT", "NZDT": "NZDT", "CHAST": "CHAST", "LHST": "LHST", "IST": "IST", "CLT": "CLT", "GFT": "GFT", "ACST": "ACST", "EAT": "EAT", "AST": "AST", "HKST": "HKST", "HEOG": "HEOG", "NZST": "NZST", "CLST": "CLST", "TMT": "TMT", "HNEG": "HNEG", "GMT": "GMT", "HAST": "HAST", "BT": "BT", "JDT": "JDT", "WARST": "WARST", "WITA": "WITA", "ChST": "ChST", "HENOMX": "HENOMX", "ACWST": "ACWST", "COT": "COT", "AKST": "AKST", "AEST": "AEST", "AWST": "AWST", "EST": "EST", "HEPMX": "HEPMX", "HADT": "HADT", "ART": "ART", "HNOG": "HNOG", "WESZ": "WESZ", "LHDT": "LHDT", "HEEG": "HEEG", "HNCU": "HNCU", "MST": "MST", "PDT": "PDT", "HAT": "HAT", "TMST": "TMST", "HECU": "HECU", "GYT": "GYT", "MEZ": "MEZ", "SAST": "SAST", "SGT": "SGT", "AKDT": "AKDT", "AEDT": "AEDT", "HNPM": "HNPM", "MYT": "MYT", "UYT": "UYT", "HKT": "HKT", "CHADT": "CHADT", "BOT": "BOT", "OESZ": "OESZ", "UYST": "UYST", "CDT": "CDT", "ARST": "ARST", "PST": "PST", "HEPM": "HEPM", "ACDT": "ACDT", "WART": "WART", "EDT": "EDT", "ADT": "ADT", "CST": "CST", "WIT": "WIT", "WAST": "WAST", "OEZ": "OEZ", "MDT": "MDT", "HNPMX": "HNPMX", "WIB": "WIB"}, } } @@ -314,7 +314,12 @@ func (lkt *lkt_US) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -328,7 +333,12 @@ func (lkt *lkt_US) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +354,12 @@ func (lkt *lkt_US) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ln/ln.go b/ln/ln.go index 323d1ff45..c86f7df77 100644 --- a/ln/ln.go +++ b/ln/ln.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "FC", "CHE", "Fr.", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "F CFP", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fbl", "msi", "apl", "mai", "yun", "yul", "agt", "stb", "ɔtb", "nvb", "dsb"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"libóso ya", "nsima ya Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yambo ya Yézu Krís", "Nsima ya Yézu Krís"}, - timezones: map[string]string{"PDT": "PDT", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "JDT": "JDT", "ARST": "ARST", "AKDT": "AKDT", "GYT": "GYT", "VET": "VET", "IST": "IST", "AKST": "AKST", "HAST": "HAST", "AEDT": "AEDT", "CDT": "CDT", "CLST": "CLST", "CHADT": "CHADT", "HKT": "HKT", "SGT": "SGT", "MST": "MST", "NZST": "NZST", "JST": "JST", "EST": "EST", "PST": "PST", "COT": "COT", "TMT": "TMT", "ACST": "ACST", "WAST": "WAST", "ChST": "ChST", "HNT": "HNT", "COST": "COST", "AEST": "AEST", "TMST": "TMST", "WART": "WART", "AWST": "AWST", "AWDT": "AWDT", "WEZ": "WEZ", "WIB": "WIB", "MESZ": "MESZ", "ACWST": "ACWST", "CST": "CST", "BOT": "BOT", "GFT": "GFT", "ECT": "ECT", "WARST": "WARST", "WITA": "WITA", "NZDT": "NZDT", "BT": "BT", "∅∅∅": "∅∅∅", "GMT": "Ntángo ya Londoni", "SRT": "SRT", "WAT": "WAT", "CAT": "Ntángo ya Lubumbashi", "ART": "ART", "ACWDT": "ACWDT", "ADT": "ADT", "OESZ": "OESZ", "WESZ": "WESZ", "HKST": "HKST", "AST": "AST", "MYT": "MYT", "MDT": "MDT", "LHST": "LHST", "LHDT": "LHDT", "UYST": "UYST", "SAST": "Ntángo ya Afríka ya Sidi", "HAT": "HAT", "CLT": "CLT", "WIT": "WIT", "UYT": "UYT", "MEZ": "MEZ", "HADT": "HADT", "EDT": "EDT", "CHAST": "CHAST", "OEZ": "OEZ", "ACDT": "ACDT"}, + timezones: map[string]string{"WART": "WART", "SRT": "SRT", "AEDT": "AEDT", "IST": "IST", "CLST": "CLST", "HNEG": "HNEG", "COST": "COST", "CDT": "CDT", "ART": "ART", "PST": "PST", "AWDT": "AWDT", "MEZ": "MEZ", "CAT": "Ntángo ya Lubumbashi", "HNNOMX": "HNNOMX", "SGT": "SGT", "PDT": "PDT", "AWST": "AWST", "LHST": "LHST", "NZDT": "NZDT", "CHADT": "CHADT", "HNCU": "HNCU", "MYT": "MYT", "WIB": "WIB", "SAST": "Ntángo ya Afríka ya Sidi", "JDT": "JDT", "ECT": "ECT", "ACST": "ACST", "WARST": "WARST", "HECU": "HECU", "UYST": "UYST", "WITA": "WITA", "HNPM": "HNPM", "TMT": "TMT", "TMST": "TMST", "AKDT": "AKDT", "BT": "BT", "HEEG": "HEEG", "COT": "COT", "EST": "EST", "ACWST": "ACWST", "AEST": "AEST", "NZST": "NZST", "BOT": "BOT", "HENOMX": "HENOMX", "HAT": "HAT", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "GMT": "Ntángo ya Londoni", "EDT": "EDT", "CHAST": "CHAST", "WAT": "WAT", "HEPMX": "HEPMX", "AKST": "AKST", "MDT": "MDT", "HADT": "HADT", "WESZ": "WESZ", "ARST": "ARST", "CLT": "CLT", "ChST": "ChST", "WAST": "WAST", "AST": "AST", "MST": "MST", "WEZ": "WEZ", "ACWDT": "ACWDT", "HNOG": "HNOG", "OEZ": "OEZ", "HEPM": "HEPM", "OESZ": "OESZ", "WIT": "WIT", "HNT": "HNT", "HNPMX": "HNPMX", "CST": "CST", "VET": "VET", "GFT": "GFT", "HKST": "HKST", "MESZ": "MESZ", "ADT": "ADT", "GYT": "GYT", "UYT": "UYT", "HAST": "HAST", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "HEOG": "HEOG", "HKT": "HKT", "LHDT": "LHDT", "JST": "JST"}, } } @@ -363,7 +363,12 @@ func (ln *ln) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -377,7 +382,12 @@ func (ln *ln) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -391,7 +401,12 @@ func (ln *ln) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +422,12 @@ func (ln *ln) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ln_AO/ln_AO.go b/ln_AO/ln_AO.go index da97228c9..ba6547d9f 100644 --- a/ln_AO/ln_AO.go +++ b/ln_AO/ln_AO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fbl", "msi", "apl", "mai", "yun", "yul", "agt", "stb", "ɔtb", "nvb", "dsb"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"libóso ya", "nsima ya Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yambo ya Yézu Krís", "Nsima ya Yézu Krís"}, - timezones: map[string]string{"PDT": "PDT", "JST": "JST", "COT": "COT", "CLST": "CLST", "HKST": "HKST", "ART": "ART", "WARST": "WARST", "WITA": "WITA", "HAT": "HAT", "GMT": "Ntángo ya Londoni", "AEDT": "AEDT", "SAST": "Ntángo ya Afríka ya Sidi", "PST": "PST", "CST": "CST", "ACST": "ACST", "ACDT": "ACDT", "ACWST": "ACWST", "IST": "IST", "LHST": "LHST", "UYT": "UYT", "OEZ": "OEZ", "ECT": "ECT", "MYT": "MYT", "AKDT": "AKDT", "TMST": "TMST", "NZST": "NZST", "WAST": "WAST", "EST": "EST", "WIT": "WIT", "WEZ": "WEZ", "CHADT": "CHADT", "AST": "AST", "BOT": "BOT", "LHDT": "LHDT", "WESZ": "WESZ", "GFT": "GFT", "AKST": "AKST", "TMT": "TMT", "BT": "BT", "AWDT": "AWDT", "OESZ": "OESZ", "HKT": "HKT", "HADT": "HADT", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "WAT": "WAT", "ChST": "ChST", "MST": "MST", "HNT": "HNT", "CHAST": "CHAST", "SGT": "SGT", "COST": "COST", "VET": "VET", "ACWDT": "ACWDT", "GYT": "GYT", "∅∅∅": "∅∅∅", "MEZ": "MEZ", "WIB": "WIB", "ARST": "ARST", "AWST": "AWST", "CLT": "CLT", "JDT": "JDT", "MDT": "MDT", "CAT": "Ntángo ya Lubumbashi", "UYST": "UYST", "SRT": "SRT", "MESZ": "MESZ", "AEST": "AEST", "WART": "WART", "CDT": "CDT", "HAST": "HAST", "EDT": "EDT", "ADT": "ADT", "NZDT": "NZDT"}, + timezones: map[string]string{"ADT": "ADT", "AWST": "AWST", "JDT": "JDT", "GFT": "GFT", "CAT": "Ntángo ya Lubumbashi", "WART": "WART", "CDT": "CDT", "HADT": "HADT", "PDT": "PDT", "AEST": "AEST", "HKT": "HKT", "HEPM": "HEPM", "ECT": "ECT", "MESZ": "MESZ", "MST": "MST", "AST": "AST", "ACWST": "ACWST", "CLST": "CLST", "TMT": "TMT", "EST": "EST", "MDT": "MDT", "COT": "COT", "GMT": "Ntángo ya Londoni", "HECU": "HECU", "CHADT": "CHADT", "ACST": "ACST", "ACDT": "ACDT", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "HKST": "HKST", "WIB": "WIB", "SGT": "SGT", "WITA": "WITA", "HNNOMX": "HNNOMX", "WEZ": "WEZ", "MEZ": "MEZ", "WARST": "WARST", "WIT": "WIT", "ART": "ART", "CLT": "CLT", "HAST": "HAST", "EDT": "EDT", "HNPMX": "HNPMX", "UYST": "UYST", "ACWDT": "ACWDT", "HEOG": "HEOG", "HEEG": "HEEG", "OESZ": "OESZ", "PST": "PST", "HAT": "HAT", "AEDT": "AEDT", "TMST": "TMST", "HEPMX": "HEPMX", "HNCU": "HNCU", "AKDT": "AKDT", "CST": "CST", "HNPM": "HNPM", "LHDT": "LHDT", "NZST": "NZST", "NZDT": "NZDT", "OEZ": "OEZ", "AKST": "AKST", "GYT": "GYT", "MYT": "MYT", "ARST": "ARST", "AWDT": "AWDT", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "SRT": "SRT", "WESZ": "WESZ", "SAST": "Ntángo ya Afríka ya Sidi", "IST": "IST", "JST": "JST", "VET": "VET", "ChST": "ChST", "BOT": "BOT", "COST": "COST", "WAST": "WAST", "HENOMX": "HENOMX", "UYT": "UYT", "BT": "BT", "HNT": "HNT", "HNOG": "HNOG", "LHST": "LHST", "WAT": "WAT", "HNEG": "HNEG"}, } } @@ -363,7 +363,12 @@ func (ln *ln_AO) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -377,7 +382,12 @@ func (ln *ln_AO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -391,7 +401,12 @@ func (ln *ln_AO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +422,12 @@ func (ln *ln_AO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ln_CD/ln_CD.go b/ln_CD/ln_CD.go index 54dcfa57c..11bdb8ce5 100644 --- a/ln_CD/ln_CD.go +++ b/ln_CD/ln_CD.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fbl", "msi", "apl", "mai", "yun", "yul", "agt", "stb", "ɔtb", "nvb", "dsb"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"libóso ya", "nsima ya Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yambo ya Yézu Krís", "Nsima ya Yézu Krís"}, - timezones: map[string]string{"MST": "MST", "HKST": "HKST", "WAT": "WAT", "TMT": "TMT", "ChST": "ChST", "CHADT": "CHADT", "VET": "VET", "ACWDT": "ACWDT", "AKDT": "AKDT", "COT": "COT", "IST": "IST", "CDT": "CDT", "WIT": "WIT", "HAT": "HAT", "OEZ": "OEZ", "MEZ": "MEZ", "AST": "AST", "MDT": "MDT", "ACDT": "ACDT", "MESZ": "MESZ", "AEST": "AEST", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "CST": "CST", "HKT": "HKT", "COST": "COST", "BOT": "BOT", "AWDT": "AWDT", "JDT": "JDT", "SRT": "SRT", "WESZ": "WESZ", "UYT": "UYT", "∅∅∅": "∅∅∅", "HADT": "HADT", "WART": "WART", "AWST": "AWST", "CLT": "CLT", "WEZ": "WEZ", "WIB": "WIB", "HAST": "HAST", "GMT": "Ntángo ya Londoni", "PDT": "PDT", "LHST": "LHST", "ADT": "ADT", "SAST": "Ntángo ya Afríka ya Sidi", "GYT": "GYT", "TMST": "TMST", "MYT": "MYT", "CAT": "Ntángo ya Lubumbashi", "SGT": "SGT", "EST": "EST", "PST": "PST", "AKST": "AKST", "NZST": "NZST", "NZDT": "NZDT", "ECT": "ECT", "WARST": "WARST", "BT": "BT", "UYST": "UYST", "ACST": "ACST", "WITA": "WITA", "ART": "ART", "EDT": "EDT", "WAST": "WAST", "LHDT": "LHDT", "JST": "JST", "GFT": "GFT", "OESZ": "OESZ", "CHAST": "CHAST", "HNT": "HNT", "CLST": "CLST", "ACWST": "ACWST", "AEDT": "AEDT", "ARST": "ARST"}, + timezones: map[string]string{"EDT": "EDT", "CDT": "CDT", "ACWDT": "ACWDT", "HEOG": "HEOG", "ACST": "ACST", "COST": "COST", "AST": "AST", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "HNOG": "HNOG", "CHAST": "CHAST", "CAT": "Ntángo ya Lubumbashi", "EST": "EST", "CST": "CST", "HADT": "HADT", "WITA": "WITA", "MDT": "MDT", "WIB": "WIB", "MEZ": "MEZ", "IST": "IST", "WAT": "WAT", "OEZ": "OEZ", "WART": "WART", "GMT": "Ntángo ya Londoni", "GYT": "GYT", "SRT": "SRT", "CLST": "CLST", "JST": "JST", "HNEG": "HNEG", "SGT": "SGT", "ART": "ART", "AEST": "AEST", "SAST": "Ntángo ya Afríka ya Sidi", "∅∅∅": "∅∅∅", "AKST": "AKST", "PDT": "PDT", "WEZ": "WEZ", "HKST": "HKST", "NZDT": "NZDT", "ChST": "ChST", "GFT": "GFT", "WAST": "WAST", "OESZ": "OESZ", "HEPMX": "HEPMX", "MYT": "MYT", "HNT": "HNT", "ARST": "ARST", "AEDT": "AEDT", "HNPM": "HNPM", "LHDT": "LHDT", "HNCU": "HNCU", "HNPMX": "HNPMX", "WIT": "WIT", "HEPM": "HEPM", "NZST": "NZST", "CLT": "CLT", "ECT": "ECT", "WARST": "WARST", "HENOMX": "HENOMX", "HECU": "HECU", "MST": "MST", "WESZ": "WESZ", "AWDT": "AWDT", "TMST": "TMST", "HAST": "HAST", "LHST": "LHST", "BOT": "BOT", "TMT": "TMT", "ACDT": "ACDT", "AKDT": "AKDT", "ADT": "ADT", "VET": "VET", "BT": "BT", "AWST": "AWST", "HKT": "HKT", "MESZ": "MESZ", "HEEG": "HEEG", "COT": "COT", "UYST": "UYST", "ACWST": "ACWST", "JDT": "JDT", "HNNOMX": "HNNOMX", "UYT": "UYT", "PST": "PST", "HAT": "HAT", "CHADT": "CHADT"}, } } @@ -363,7 +363,12 @@ func (ln *ln_CD) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -377,7 +382,12 @@ func (ln *ln_CD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -391,7 +401,12 @@ func (ln *ln_CD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +422,12 @@ func (ln *ln_CD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ln_CF/ln_CF.go b/ln_CF/ln_CF.go index 8a146aea5..7f8f5e691 100644 --- a/ln_CF/ln_CF.go +++ b/ln_CF/ln_CF.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fbl", "msi", "apl", "mai", "yun", "yul", "agt", "stb", "ɔtb", "nvb", "dsb"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"libóso ya", "nsima ya Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yambo ya Yézu Krís", "Nsima ya Yézu Krís"}, - timezones: map[string]string{"PDT": "PDT", "ACDT": "ACDT", "IST": "IST", "HNT": "HNT", "LHDT": "LHDT", "UYST": "UYST", "JST": "JST", "OESZ": "OESZ", "MESZ": "MESZ", "HAST": "HAST", "∅∅∅": "∅∅∅", "AWDT": "AWDT", "WESZ": "WESZ", "CHAST": "CHAST", "HADT": "HADT", "WART": "WART", "ADT": "ADT", "WAT": "WAT", "WAST": "WAST", "HKST": "HKST", "GYT": "GYT", "MYT": "MYT", "JDT": "JDT", "HKT": "HKT", "AST": "AST", "CST": "CST", "ChST": "ChST", "AWST": "AWST", "MST": "MST", "NZDT": "NZDT", "CHADT": "CHADT", "SRT": "SRT", "ACWST": "ACWST", "MDT": "MDT", "BOT": "BOT", "MEZ": "MEZ", "ARST": "ARST", "AKST": "AKST", "EST": "EST", "PST": "PST", "TMT": "TMT", "NZST": "NZST", "ACST": "ACST", "AEST": "AEST", "CDT": "CDT", "GMT": "Ntángo ya Londoni", "COST": "COST", "AKDT": "AKDT", "EDT": "EDT", "GFT": "GFT", "WEZ": "WEZ", "SGT": "SGT", "WIB": "WIB", "AEDT": "AEDT", "SAST": "Ntángo ya Afríka ya Sidi", "BT": "BT", "CLT": "CLT", "LHST": "LHST", "COT": "COT", "ECT": "ECT", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "CAT": "Ntángo ya Lubumbashi", "HAT": "HAT", "CLST": "CLST", "VET": "VET", "ACWDT": "ACWDT", "ART": "ART", "WITA": "WITA", "TMST": "TMST", "WIT": "WIT", "UYT": "UYT", "WARST": "WARST", "OEZ": "OEZ"}, + timezones: map[string]string{"PST": "PST", "AEST": "AEST", "AWDT": "AWDT", "HEPM": "HEPM", "LHST": "LHST", "CHAST": "CHAST", "CLST": "CLST", "MDT": "MDT", "CHADT": "CHADT", "MYT": "MYT", "ADT": "ADT", "WITA": "WITA", "HNPM": "HNPM", "CAT": "Ntángo ya Lubumbashi", "COST": "COST", "ECT": "ECT", "UYST": "UYST", "CST": "CST", "GYT": "GYT", "HAST": "HAST", "WEZ": "WEZ", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "OESZ": "OESZ", "AKST": "AKST", "AEDT": "AEDT", "HECU": "HECU", "HEPMX": "HEPMX", "ACDT": "ACDT", "WAST": "WAST", "CDT": "CDT", "HADT": "HADT", "SAST": "Ntángo ya Afríka ya Sidi", "CLT": "CLT", "ACST": "ACST", "HAT": "HAT", "TMT": "TMT", "BT": "BT", "ACWST": "ACWST", "HKT": "HKT", "GMT": "Ntángo ya Londoni", "PDT": "PDT", "AST": "AST", "HNOG": "HNOG", "AWST": "AWST", "NZDT": "NZDT", "HENOMX": "HENOMX", "EDT": "EDT", "VET": "VET", "MEZ": "MEZ", "WARST": "WARST", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "WIB": "WIB", "WIT": "WIT", "ChST": "ChST", "BOT": "BOT", "WESZ": "WESZ", "IST": "IST", "WAT": "WAT", "UYT": "UYT", "HNCU": "HNCU", "ACWDT": "ACWDT", "ART": "ART", "∅∅∅": "∅∅∅", "SGT": "SGT", "WART": "WART", "COT": "COT", "SRT": "SRT", "HNT": "HNT", "HKST": "HKST", "MESZ": "MESZ", "GFT": "GFT", "OEZ": "OEZ", "HEEG": "HEEG", "TMST": "TMST", "HEOG": "HEOG", "LHDT": "LHDT", "NZST": "NZST", "JST": "JST", "EST": "EST", "MST": "MST", "AKDT": "AKDT", "ARST": "ARST", "JDT": "JDT", "HNEG": "HNEG"}, } } @@ -363,7 +363,12 @@ func (ln *ln_CF) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -377,7 +382,12 @@ func (ln *ln_CF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -391,7 +401,12 @@ func (ln *ln_CF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +422,12 @@ func (ln *ln_CF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ln_CG/ln_CG.go b/ln_CG/ln_CG.go index f1c7517c3..20e3aeb4b 100644 --- a/ln_CG/ln_CG.go +++ b/ln_CG/ln_CG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fbl", "msi", "apl", "mai", "yun", "yul", "agt", "stb", "ɔtb", "nvb", "dsb"}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"libóso ya", "nsima ya Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Yambo ya Yézu Krís", "Nsima ya Yézu Krís"}, - timezones: map[string]string{"OEZ": "OEZ", "WEZ": "WEZ", "UYST": "UYST", "HKST": "HKST", "IST": "IST", "LHST": "LHST", "VET": "VET", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "WAST": "WAST", "HAT": "HAT", "JST": "JST", "MST": "MST", "MYT": "MYT", "BT": "BT", "WIT": "WIT", "GFT": "GFT", "SGT": "SGT", "AEST": "AEST", "EDT": "EDT", "HADT": "HADT", "WARST": "WARST", "CST": "CST", "GYT": "GYT", "GMT": "Ntángo ya Londoni", "∅∅∅": "∅∅∅", "CHAST": "CHAST", "ACST": "ACST", "COT": "COT", "WART": "WART", "TMT": "TMT", "TMST": "TMST", "JDT": "JDT", "OESZ": "OESZ", "COST": "COST", "PST": "PST", "AST": "AST", "AKST": "AKST", "WITA": "WITA", "NZDT": "NZDT", "ChST": "ChST", "BOT": "BOT", "CLT": "CLT", "LHDT": "LHDT", "UYT": "UYT", "WESZ": "WESZ", "PDT": "PDT", "ECT": "ECT", "SAST": "Ntángo ya Afríka ya Sidi", "EST": "EST", "MDT": "MDT", "MEZ": "MEZ", "ACWST": "ACWST", "AEDT": "AEDT", "AKDT": "AKDT", "MESZ": "MESZ", "HNT": "HNT", "CLST": "CLST", "HKT": "HKT", "ACWDT": "ACWDT", "AWDT": "AWDT", "ADT": "ADT", "WAT": "WAT", "CDT": "CDT", "AWST": "AWST", "SRT": "SRT", "CHADT": "CHADT", "WIB": "WIB", "ACDT": "ACDT", "HAST": "HAST", "NZST": "NZST", "CAT": "Ntángo ya Lubumbashi", "ART": "ART", "ARST": "ARST"}, + timezones: map[string]string{"HNEG": "HNEG", "COST": "COST", "BT": "BT", "HNOG": "HNOG", "CHADT": "CHADT", "AEDT": "AEDT", "CLST": "CLST", "WARST": "WARST", "SGT": "SGT", "GMT": "Ntángo ya Londoni", "HADT": "HADT", "WIT": "WIT", "NZDT": "NZDT", "OESZ": "OESZ", "HECU": "HECU", "AKST": "AKST", "AST": "AST", "HEOG": "HEOG", "LHST": "LHST", "LHDT": "LHDT", "HNCU": "HNCU", "HEPMX": "HEPMX", "WEZ": "WEZ", "GYT": "GYT", "WITA": "WITA", "ChST": "ChST", "SAST": "Ntángo ya Afríka ya Sidi", "COT": "COT", "ADT": "ADT", "WIB": "WIB", "AWDT": "AWDT", "CHAST": "CHAST", "ACDT": "ACDT", "WART": "WART", "EDT": "EDT", "HNT": "HNT", "NZST": "NZST", "CLT": "CLT", "WAT": "WAT", "OEZ": "OEZ", "∅∅∅": "∅∅∅", "HAST": "HAST", "ARST": "ARST", "ACST": "ACST", "CAT": "Ntángo ya Lubumbashi", "WESZ": "WESZ", "ART": "ART", "HKST": "HKST", "UYST": "UYST", "SRT": "SRT", "HNPM": "HNPM", "HNNOMX": "HNNOMX", "MDT": "MDT", "AKDT": "AKDT", "CDT": "CDT", "JDT": "JDT", "CST": "CST", "UYT": "UYT", "PDT": "PDT", "HKT": "HKT", "GFT": "GFT", "JST": "JST", "BOT": "BOT", "EAT": "Ntángo ya Afríka ya Ɛ́sita", "ECT": "ECT", "HAT": "HAT", "MEZ": "MEZ", "IST": "IST", "ACWST": "ACWST", "AEST": "AEST", "TMT": "TMT", "ACWDT": "ACWDT", "HEEG": "HEEG", "WAST": "WAST", "HENOMX": "HENOMX", "MST": "MST", "HNPMX": "HNPMX", "VET": "VET", "AWST": "AWST", "HEPM": "HEPM", "MESZ": "MESZ", "TMST": "TMST", "EST": "EST", "MYT": "MYT", "PST": "PST"}, } } @@ -363,7 +363,12 @@ func (ln *ln_CG) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -377,7 +382,12 @@ func (ln *ln_CG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -391,7 +401,12 @@ func (ln *ln_CG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -407,7 +422,12 @@ func (ln *ln_CG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ln.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lo/lo.go b/lo/lo.go index ccfa02976..c5c0b64c0 100644 --- a/lo/lo.go +++ b/lo/lo.go @@ -54,22 +54,22 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "₭", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "₭", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "-", monthsAbbreviated: []string{"", "ມ.ກ.", "ກ.ພ.", "ມ.ນ.", "ມ.ສ.", "ພ.ພ.", "ມິ.ຖ.", "ກ.ລ.", "ສ.ຫ.", "ກ.ຍ.", "ຕ.ລ.", "ພ.ຈ.", "ທ.ວ."}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "ມັງກອນ", "ກຸມພາ", "ມີນາ", "ເມສາ", "ພຶດສະພາ", "ມິຖຸນາ", "ກໍລະກົດ", "ສິງຫາ", "ກັນຍາ", "ຕຸລາ", "ພະຈິກ", "ທັນວາ"}, - daysAbbreviated: []string{"ວັນອາທິດ", "ວັນຈັນ", "ວັນອັງຄານ", "ວັນພຸດ", "ວັນພະຫັດ", "ວັນສຸກ", "ວັນເສົາ"}, - daysNarrow: []string{"1", "2", "3", "4", "5", "6", "7"}, + daysAbbreviated: []string{"ອາທິດ", "ຈັນ", "ອັງຄານ", "ພຸດ", "ພະຫັດ", "ສຸກ", "ເສົາ"}, + daysNarrow: []string{"ອາ", "ຈ", "ອ", "ພ", "ພຫ", "ສຸ", "ສ"}, daysShort: []string{"ອາ.", "ຈ.", "ອ.", "ພ.", "ພຫ.", "ສຸ.", "ສ."}, daysWide: []string{"ວັນອາທິດ", "ວັນຈັນ", "ວັນອັງຄານ", "ວັນພຸດ", "ວັນພະຫັດ", "ວັນສຸກ", "ວັນເສົາ"}, periodsAbbreviated: []string{"ກ່ອນທ່ຽງ", "ຫຼັງທ່ຽງ"}, - periodsNarrow: []string{"ຕອນເຊົ້າ", "ຫຼທ"}, + periodsNarrow: []string{"ກທ", "ຫຼທ"}, periodsWide: []string{"ກ່ອນທ່ຽງ", "ຫຼັງທ່ຽງ"}, erasAbbreviated: []string{"ກ່ອນ ຄ.ສ.", "ຄ.ສ."}, erasNarrow: []string{"", ""}, erasWide: []string{"ກ່ອນຄຣິດສັກກະລາດ", "ຄຣິດສັກກະລາດ"}, - timezones: map[string]string{"ACST": "ເວ\u200bລາມາດ\u200bຕະ\u200bຖານອອ\u200bສ\u200bເຕຣ\u200bເລຍ\u200bກ\u200bາງ", "SGT": "ເວ\u200bລາ\u200bສິງ\u200bກະ\u200bໂປ", "HADT": "ເວລາຕອນທ່ຽງຮາວາຍ-ເອລູທຽນ", "WAT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AKST": "ເວລາມາດຕະຖານອະແລສກາ", "BOT": "ເວ\u200bລາ\u200bໂບ\u200bລິ\u200bເວຍ", "ECT": "ເວ\u200bລາ\u200bເອ\u200bກົວ\u200bດໍ", "WAST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "TMT": "ເວລາມາດຕະຖານຕວກເມນິສຖານ", "HAT": "\u200bເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຟາວ\u200bແລນ", "JST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຍີ່\u200bປຸ່ນ", "OESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "ACDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bເລຍ\u200bກາງ", "PST": "ເວລາມາດຕະຖານຂອງປາຊີຟິກ", "CDT": "ເວລາກາງເວັນກາງ", "LHST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bລອດ\u200bເຮົາ", "NZST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນິວ\u200bຊີ\u200bແລນ", "CHAST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຊາ\u200bທາມ", "SRT": "ເວ\u200bລາ\u200bຊຸ\u200bຣິ\u200bນາມ", "ART": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອາ\u200bເຈນ\u200bທິ\u200bນາ", "EAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bອອກ", "SAST": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bໃຕ້", "CLT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຊິ\u200bລີ", "EST": "ເວລາມາດຕະຖານຕາເວັນອອກ", "CST": "ເວລາມາດຕະຖານກາງ", "GYT": "ເວລາກາຍອານາ", "MST": "ເວລາມາດຕະຖານແຖບພູເຂົາ", "AWST": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AEST": "ເວ\u200bລາ\u200bມາດຕະຖານ\u200b\u200b\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "CHADT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຊາ\u200bທາມ", "ACWST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "PDT": "ເວລາກາງເວັນຂອງປາຊີຟິກ", "CLST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຊິ\u200bລີ", "WIT": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bອອກ", "HKST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຮອງ\u200bກົງ", "GFT": "ເວ\u200bລາ\u200bເຟ\u200bຣນ\u200bຊ໌\u200bເກຍ\u200bນາ", "HKT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຮອງ\u200bກົງ", "MEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບກາງ", "WARST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "AKDT": "ເວລາກາງເວັນອະແລສກາ", "MDT": "ເວລາກາງເວັນແຖວພູເຂົາ", "BT": "ເວ\u200bລາ\u200bພູ\u200bຖານ", "OEZ": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "UYT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອູ\u200bຣູ\u200bກວຍ", "MESZ": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຢູ\u200bໂຣບ\u200bກາງ", "VET": "ເວ\u200bລາ\u200bເວ\u200bເນ\u200bຊູ\u200bເອ\u200bລາ", "WART": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "IST": "ເວລາ ອິນເດຍ", "EDT": "ເວລາຕອນທ່ຽງທາງຕາເວັນອອກ", "ChST": "ເວ\u200bລາ\u200bຈາ\u200bໂມ\u200bໂຣ", "∅∅∅": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນອາ\u200bໂຊ\u200bເຣ\u200bສ", "NZDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຊີ\u200bແລນ", "COST": "ເວລາລະດູຮ້ອນໂຄລໍາເບຍ", "HAST": "ເວລາມາດຕະຖານຮາວາຍ-ເອລູທຽນ", "ACWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "ARST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bເຈນ\u200bທິ\u200bນາ", "AST": "ເວລາມາດຕະຖານຂອງອາແລນຕິກ", "ADT": "ເວລາກາງເວັນຂອງອາແລນຕິກ", "HNT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bນິວ\u200bຟາວ\u200bແລນ", "TMST": "ເວລາລະດູຮ້ອນຕວກເມນິສຖານ", "CAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bກາງ", "LHDT": "\u200bເວ\u200bລ\u200bສາ\u200bຕອນ\u200b\u200bທ່ຽງ\u200bລອດ\u200bເຮົາ\u200b", "UYST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອູ\u200bຣູ\u200bກວຍ", "WEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "MYT": "ເວ\u200bລາ\u200bມາ\u200bເລ\u200bເຊຍ", "AWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "JDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຍີ່\u200bປຸ່ນ", "COT": "ເວລາມາດຕະຖານໂຄລຳເບຍ", "WIB": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WITA": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bກາງ", "AEDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "GMT": "ເວ\u200bລາກຣີນ\u200bວິ\u200bຊ"}, + timezones: map[string]string{"ACWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HKT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຮອງ\u200bກົງ", "ChST": "ເວ\u200bລາ\u200bຈາ\u200bໂມ\u200bໂຣ", "COST": "ເວລາລະດູຮ້ອນໂຄລໍາເບຍ", "PST": "ເວລາມາດຕະຖານແປຊິຟິກ", "ACWST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "CHADT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຊາ\u200bທາມ", "BOT": "ເວ\u200bລາ\u200bໂບ\u200bລິ\u200bເວຍ", "GFT": "ເວ\u200bລາ\u200bເຟ\u200bຣນ\u200bຊ໌\u200bເກຍ\u200bນາ", "MST": "ເວລາມາດຕະຖານມາເກົາ", "HNOG": "ເວລາມາດຕະຖານກຣີນແລນຕາເວັນຕົກ", "NZDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຊີ\u200bແລນ", "MYT": "ເວ\u200bລາ\u200bມາ\u200bເລ\u200bເຊຍ", "AKST": "ເວລາມາດຕະຖານອະແລສກາ", "SRT": "ເວ\u200bລາ\u200bຊຸ\u200bຣິ\u200bນາມ", "HAT": "ເວລາກາງເວັນນິວຟາວແລນ", "JDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຍີ່\u200bປຸ່ນ", "HEEG": "ເວລາລະດູຮ້ອນກຣີນແລນຕາເວັນອອກ", "CDT": "ເວລາກາງເວັນກາງ", "HKST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຮອງ\u200bກົງ", "CLT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຊິ\u200bລີ", "JST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຍີ່\u200bປຸ່ນ", "TMT": "ເວລາມາດຕະຖານຕວກເມນິສຖານ", "WIB": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HNPM": "\u200bເວ\u200bລາມາດ\u200bຕະ\u200bຖານເຊນ\u200bປີ\u200bແອ ແລະ\u200bມິ\u200bກົວ\u200bລອນ", "HADT": "ເວລາຕອນທ່ຽງຮາວາຍ-ເອລູທຽນ", "AEST": "ເວ\u200bລາ\u200bມາດຕະຖານ\u200b\u200b\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "MEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບກາງ", "ECT": "ເວ\u200bລາ\u200bເອ\u200bກົວ\u200bດໍ", "WARST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "HECU": "ເວລາກາງເວັນຄິວບາ", "AKDT": "ເວລາກາງເວັນອະແລສກາ", "LHDT": "\u200bເວ\u200bລ\u200bສາ\u200bຕອນ\u200b\u200bທ່ຽງ\u200bລອດ\u200bເຮົາ\u200b", "ACDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bເລຍ\u200bກາງ", "HENOMX": "ເວລາກາງເວັນເມັກຊິກັນນອດເວສ", "HAST": "ເວລາມາດຕະຖານຮາວາຍ-ເອລູທຽນ", "BT": "ເວ\u200bລາ\u200bພູ\u200bຖານ", "HNEG": "ເວລາມາດຕະຖານຕາເວັນອອກກຣີນແລນ", "OEZ": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "HNCU": "ເວລາມາດຕະຖານຂອງຄິວບາ", "EDT": "ເວລາກາງເວັນຕາເວັນອອກ", "HNT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bນິວ\u200bຟາວ\u200bແລນ", "ART": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອາ\u200bເຈນ\u200bທິ\u200bນາ", "WITA": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bກາງ", "ACST": "ເວ\u200bລາມາດ\u200bຕະ\u200bຖານອອ\u200bສ\u200bເຕຣ\u200bເລຍ\u200bກ\u200bາງ", "EST": "ເວລາມາດຕະຖານຕາເວັນອອກ", "HNPMX": "ເວລາມາດຕະຖານແປຊິຟິກເມັກຊິກັນ", "GYT": "ເວລາກາຍອານາ", "CHAST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຊາ\u200bທາມ", "UYT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອູ\u200bຣູ\u200bກວຍ", "ADT": "ເວລາກາງເວັນຂອງອາແລນຕິກ", "AWST": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "MESZ": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຢູ\u200bໂຣບ\u200bກາງ", "IST": "ເວລາ ອິນເດຍ", "CAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bກາງ", "WAST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HEOG": "ເວລາຕອນທ່ຽງກຣີນແລນຕາເວັນຕົກ", "AEDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "WESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "TMST": "ເວລາລະດູຮ້ອນຕວກເມນິສຖານ", "MDT": "ເວລາລະດູຮ້ອນມາເກົາ", "VET": "ເວ\u200bລາ\u200bເວ\u200bເນ\u200bຊູ\u200bເອ\u200bລາ", "WEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "EAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bອອກ", "COT": "ເວລາມາດຕະຖານໂຄລຳເບຍ", "PDT": "ເວລາກາງເວັນແປຊິຟິກ", "AST": "ເວລາມາດຕະຖານຂອງອາແລນຕິກ", "LHST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bລອດ\u200bເຮົາ", "∅∅∅": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bເປ\u200bຣູ", "WAT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WART": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "SGT": "ເວ\u200bລາ\u200bສິງ\u200bກະ\u200bໂປ", "ARST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bເຈນ\u200bທິ\u200bນາ", "GMT": "ເວ\u200bລາກຣີນ\u200bວິ\u200bຊ", "HEPMX": "ເວລາກາງເວັນແປຊິຟິກເມັກຊິກັນ", "UYST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອູ\u200bຣູ\u200bກວຍ", "CST": "ເວລາມາດຕະຖານກາງ", "NZST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນິວ\u200bຊີ\u200bແລນ", "SAST": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bໃຕ້", "CLST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຊິ\u200bລີ", "OESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "HNNOMX": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນອດ\u200bເວ\u200bສ\u200bເມັກ\u200bຊິ\u200bໂກ", "WIT": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bອອກ", "HEPM": "\u200bເວ\u200bລາຕອນ\u200bທ່ຽງເຊນ\u200bປີ\u200bແອ ແລະ\u200bມິ\u200bກົວ\u200bລອນ"}, } } @@ -354,7 +354,12 @@ func (lo *lo) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +373,12 @@ func (lo *lo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,7 +392,12 @@ func (lo *lo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -406,7 +421,12 @@ func (lo *lo) FmtDateFull(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lo_LA/lo_LA.go b/lo_LA/lo_LA.go index 821d0000d..4166b7771 100644 --- a/lo_LA/lo_LA.go +++ b/lo_LA/lo_LA.go @@ -54,22 +54,22 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "-", monthsAbbreviated: []string{"", "ມ.ກ.", "ກ.ພ.", "ມ.ນ.", "ມ.ສ.", "ພ.ພ.", "ມິ.ຖ.", "ກ.ລ.", "ສ.ຫ.", "ກ.ຍ.", "ຕ.ລ.", "ພ.ຈ.", "ທ.ວ."}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "ມັງກອນ", "ກຸມພາ", "ມີນາ", "ເມສາ", "ພຶດສະພາ", "ມິຖຸນາ", "ກໍລະກົດ", "ສິງຫາ", "ກັນຍາ", "ຕຸລາ", "ພະຈິກ", "ທັນວາ"}, - daysAbbreviated: []string{"ວັນອາທິດ", "ວັນຈັນ", "ວັນອັງຄານ", "ວັນພຸດ", "ວັນພະຫັດ", "ວັນສຸກ", "ວັນເສົາ"}, - daysNarrow: []string{"1", "2", "3", "4", "5", "6", "7"}, + daysAbbreviated: []string{"ອາທິດ", "ຈັນ", "ອັງຄານ", "ພຸດ", "ພະຫັດ", "ສຸກ", "ເສົາ"}, + daysNarrow: []string{"ອາ", "ຈ", "ອ", "ພ", "ພຫ", "ສຸ", "ສ"}, daysShort: []string{"ອາ.", "ຈ.", "ອ.", "ພ.", "ພຫ.", "ສຸ.", "ສ."}, daysWide: []string{"ວັນອາທິດ", "ວັນຈັນ", "ວັນອັງຄານ", "ວັນພຸດ", "ວັນພະຫັດ", "ວັນສຸກ", "ວັນເສົາ"}, periodsAbbreviated: []string{"ກ່ອນທ່ຽງ", "ຫຼັງທ່ຽງ"}, - periodsNarrow: []string{"ຕອນເຊົ້າ", "ຫຼທ"}, + periodsNarrow: []string{"ກທ", "ຫຼທ"}, periodsWide: []string{"ກ່ອນທ່ຽງ", "ຫຼັງທ່ຽງ"}, erasAbbreviated: []string{"ກ່ອນ ຄ.ສ.", "ຄ.ສ."}, erasNarrow: []string{"", ""}, erasWide: []string{"ກ່ອນຄຣິດສັກກະລາດ", "ຄຣິດສັກກະລາດ"}, - timezones: map[string]string{"CDT": "ເວລາກາງເວັນກາງ", "ARST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bເຈນ\u200bທິ\u200bນາ", "AST": "ເວລາມາດຕະຖານຂອງອາແລນຕິກ", "COST": "ເວລາລະດູຮ້ອນໂຄລໍາເບຍ", "EAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bອອກ", "WAT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WITA": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bກາງ", "GYT": "ເວລາກາຍອານາ", "CLT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຊິ\u200bລີ", "SRT": "ເວ\u200bລາ\u200bຊຸ\u200bຣິ\u200bນາມ", "ECT": "ເວ\u200bລາ\u200bເອ\u200bກົວ\u200bດໍ", "HNT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bນິວ\u200bຟາວ\u200bແລນ", "ACST": "ເວ\u200bລາມາດ\u200bຕະ\u200bຖານອອ\u200bສ\u200bເຕຣ\u200bເລຍ\u200bກ\u200bາງ", "HAST": "ເວລາມາດຕະຖານຮາວາຍ-ເອລູທຽນ", "MST": "ເວລາມາດຕະຖານແຖບພູເຂົາ", "CAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bກາງ", "LHST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bລອດ\u200bເຮົາ", "CHADT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຊາ\u200bທາມ", "AWST": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "JDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຍີ່\u200bປຸ່ນ", "EDT": "ເວລາຕອນທ່ຽງທາງຕາເວັນອອກ", "SAST": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bໃຕ້", "TMT": "ເວລາມາດຕະຖານຕວກເມນິສຖານ", "OEZ": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "ADT": "ເວລາກາງເວັນຂອງອາແລນຕິກ", "LHDT": "\u200bເວ\u200bລ\u200bສາ\u200bຕອນ\u200b\u200bທ່ຽງ\u200bລອດ\u200bເຮົາ\u200b", "MYT": "ເວ\u200bລາ\u200bມາ\u200bເລ\u200bເຊຍ", "WIT": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bອອກ", "ACWST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AKST": "ເວລາມາດຕະຖານອະແລສກາ", "ChST": "ເວ\u200bລາ\u200bຈາ\u200bໂມ\u200bໂຣ", "MEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບກາງ", "TMST": "ເວລາລະດູຮ້ອນຕວກເມນິສຖານ", "PST": "ເວລາມາດຕະຖານຂອງປາຊີຟິກ", "IST": "ເວລາ ອິນເດຍ", "HADT": "ເວລາຕອນທ່ຽງຮາວາຍ-ເອລູທຽນ", "EST": "ເວລາມາດຕະຖານຕາເວັນອອກ", "AWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HAT": "\u200bເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຟາວ\u200bແລນ", "ART": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອາ\u200bເຈນ\u200bທິ\u200bນາ", "NZST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນິວ\u200bຊີ\u200bແລນ", "CHAST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຊາ\u200bທາມ", "ACDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bເລຍ\u200bກາງ", "AEDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "CST": "ເວລາມາດຕະຖານກາງ", "WEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HKST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຮອງ\u200bກົງ", "COT": "ເວລາມາດຕະຖານໂຄລຳເບຍ", "WARST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "MDT": "ເວລາກາງເວັນແຖວພູເຂົາ", "CLST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຊິ\u200bລີ", "OESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "HKT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຮອງ\u200bກົງ", "WART": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "UYT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອູ\u200bຣູ\u200bກວຍ", "VET": "ເວ\u200bລາ\u200bເວ\u200bເນ\u200bຊູ\u200bເອ\u200bລາ", "UYST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອູ\u200bຣູ\u200bກວຍ", "GFT": "ເວ\u200bລາ\u200bເຟ\u200bຣນ\u200bຊ໌\u200bເກຍ\u200bນາ", "∅∅∅": "ເວລາຕາມເຂດລະດູຮ້ອນຕາມເຂດບຣາຊີເລຍ", "GMT": "ເວ\u200bລາກຣີນ\u200bວິ\u200bຊ", "ACWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AEST": "ເວ\u200bລາ\u200bມາດຕະຖານ\u200b\u200b\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "AKDT": "ເວລາກາງເວັນອະແລສກາ", "PDT": "ເວລາກາງເວັນຂອງປາຊີຟິກ", "WAST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "BT": "ເວ\u200bລາ\u200bພູ\u200bຖານ", "JST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຍີ່\u200bປຸ່ນ", "WESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "SGT": "ເວ\u200bລາ\u200bສິງ\u200bກະ\u200bໂປ", "NZDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຊີ\u200bແລນ", "BOT": "ເວ\u200bລາ\u200bໂບ\u200bລິ\u200bເວຍ", "WIB": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bຕົກ", "MESZ": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຢູ\u200bໂຣບ\u200bກາງ"}, + timezones: map[string]string{"IST": "ເວລາ ອິນເດຍ", "BOT": "ເວ\u200bລາ\u200bໂບ\u200bລິ\u200bເວຍ", "WAST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "MYT": "ເວ\u200bລາ\u200bມາ\u200bເລ\u200bເຊຍ", "ART": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອາ\u200bເຈນ\u200bທິ\u200bນາ", "PDT": "ເວລາກາງເວັນແປຊິຟິກ", "TMST": "ເວລາລະດູຮ້ອນຕວກເມນິສຖານ", "WAT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WARST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "HAT": "ເວລາກາງເວັນນິວຟາວແລນ", "CLT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຊິ\u200bລີ", "UYT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bອູ\u200bຣູ\u200bກວຍ", "AEDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "HKST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຮອງ\u200bກົງ", "MEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບກາງ", "COT": "ເວລາມາດຕະຖານໂຄລຳເບຍ", "AKDT": "ເວລາກາງເວັນອະແລສກາ", "UYST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອູ\u200bຣູ\u200bກວຍ", "AKST": "ເວລາມາດຕະຖານອະແລສກາ", "SRT": "ເວ\u200bລາ\u200bຊຸ\u200bຣິ\u200bນາມ", "HNT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bນິວ\u200bຟາວ\u200bແລນ", "LHST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bລອດ\u200bເຮົາ", "SGT": "ເວ\u200bລາ\u200bສິງ\u200bກະ\u200bໂປ", "HNPMX": "ເວລາມາດຕະຖານແປຊິຟິກເມັກຊິກັນ", "AWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "CHADT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຊາ\u200bທາມ", "NZST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນິວ\u200bຊີ\u200bແລນ", "OEZ": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານ\u200bຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "WART": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານເວ\u200bສ\u200bເທິນອາ\u200bເຈນ\u200bທິ\u200bນາ", "CDT": "ເວລາກາງເວັນກາງ", "HNOG": "ເວລາມາດຕະຖານກຣີນແລນຕາເວັນຕົກ", "WEZ": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "AEST": "ເວ\u200bລາ\u200bມາດຕະຖານ\u200b\u200b\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bອອກ", "HEPM": "\u200bເວ\u200bລາຕອນ\u200bທ່ຽງເຊນ\u200bປີ\u200bແອ ແລະ\u200bມິ\u200bກົວ\u200bລອນ", "JST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຍີ່\u200bປຸ່ນ", "∅∅∅": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນອາ\u200bເມ\u200bຊອນ", "COST": "ເວລາລະດູຮ້ອນໂຄລໍາເບຍ", "MST": "ເວລາມາດຕະຖານມາເກົາ", "HNCU": "ເວລາມາດຕະຖານຂອງຄິວບາ", "MESZ": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bຢູ\u200bໂຣບ\u200bກາງ", "JDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bຍີ່\u200bປຸ່ນ", "ACDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bເລຍ\u200bກາງ", "EAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bຕາ\u200bເວັນ\u200bອອກ", "GYT": "ເວລາກາຍອານາ", "EDT": "ເວລາກາງເວັນຕາເວັນອອກ", "ACWDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "ECT": "ເວ\u200bລາ\u200bເອ\u200bກົວ\u200bດໍ", "GMT": "ເວ\u200bລາກຣີນ\u200bວິ\u200bຊ", "EST": "ເວລາມາດຕະຖານຕາເວັນອອກ", "PST": "ເວລາມາດຕະຖານແປຊິຟິກ", "WESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bຕົກ", "CLST": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຊິ\u200bລີ", "HEOG": "ເວລາຕອນທ່ຽງກຣີນແລນຕາເວັນຕົກ", "AST": "ເວລາມາດຕະຖານຂອງອາແລນຕິກ", "HADT": "ເວລາຕອນທ່ຽງຮາວາຍ-ເອລູທຽນ", "SAST": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bໃຕ້", "CST": "ເວລາມາດຕະຖານກາງ", "HNEG": "ເວລາມາດຕະຖານຕາເວັນອອກກຣີນແລນ", "CAT": "ເວ\u200bລາ\u200bອາ\u200bຟຣິ\u200bກາ\u200bກາງ", "HECU": "ເວລາກາງເວັນຄິວບາ", "ACWST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bກາງ\u200bຕາ\u200bເວັນ\u200bຕົກ", "WITA": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bກາງ", "HNPM": "\u200bເວ\u200bລາມາດ\u200bຕະ\u200bຖານເຊນ\u200bປີ\u200bແອ ແລະ\u200bມິ\u200bກົວ\u200bລອນ", "ChST": "ເວ\u200bລາ\u200bຈາ\u200bໂມ\u200bໂຣ", "HNNOMX": "\u200bເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານນອດ\u200bເວ\u200bສ\u200bເມັກ\u200bຊິ\u200bໂກ", "VET": "ເວ\u200bລາ\u200bເວ\u200bເນ\u200bຊູ\u200bເອ\u200bລາ", "WIB": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bຕົກ", "HAST": "ເວລາມາດຕະຖານຮາວາຍ-ເອລູທຽນ", "HKT": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຮອງ\u200bກົງ", "HEEG": "ເວລາລະດູຮ້ອນກຣີນແລນຕາເວັນອອກ", "ACST": "ເວ\u200bລາມາດ\u200bຕະ\u200bຖານອອ\u200bສ\u200bເຕຣ\u200bເລຍ\u200bກ\u200bາງ", "ADT": "ເວລາກາງເວັນຂອງອາແລນຕິກ", "WIT": "ເວ\u200bລາ\u200bອິນ\u200bໂດ\u200bເນ\u200bເຊຍ\u200bຕາ\u200bເວັນ\u200bອອກ", "BT": "ເວ\u200bລາ\u200bພູ\u200bຖານ", "AWST": "ເວ\u200bລາ\u200bມາ\u200bດ\u200bຕະ\u200bຖານອອສ\u200bເຕຣ\u200bລຽນ\u200bຕາ\u200bເວັນ\u200bຕົກ", "NZDT": "ເວ\u200bລາ\u200bຕອນ\u200bທ່ຽງ\u200bນິວ\u200bຊີ\u200bແລນ", "TMT": "ເວລາມາດຕະຖານຕວກເມນິສຖານ", "OESZ": "ເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນຢູ\u200bໂຣບ\u200bຕາ\u200bເວັນ\u200bອອກ", "MDT": "ເວລາລະດູຮ້ອນມາເກົາ", "ARST": "\u200bເວ\u200bລາ\u200bລະ\u200bດູ\u200bຮ້ອນ\u200bອາ\u200bເຈນ\u200bທິ\u200bນາ", "CHAST": "ເວ\u200bລາ\u200bມາດ\u200bຕະ\u200bຖານ\u200bຊາ\u200bທາມ", "LHDT": "\u200bເວ\u200bລ\u200bສາ\u200bຕອນ\u200b\u200bທ່ຽງ\u200bລອດ\u200bເຮົາ\u200b", "GFT": "ເວ\u200bລາ\u200bເຟ\u200bຣນ\u200bຊ໌\u200bເກຍ\u200bນາ", "HENOMX": "ເວລາກາງເວັນເມັກຊິກັນນອດເວສ", "HEPMX": "ເວລາກາງເວັນແປຊິຟິກເມັກຊິກັນ"}, } } @@ -354,7 +354,12 @@ func (lo *lo_LA) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +373,12 @@ func (lo *lo_LA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,7 +392,12 @@ func (lo *lo_LA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -406,7 +421,12 @@ func (lo *lo_LA) FmtDateFull(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lrc/lrc.go b/lrc/lrc.go index 92a87e81d..6d89c6e17 100644 --- a/lrc/lrc.go +++ b/lrc/lrc.go @@ -53,7 +53,7 @@ func New() locales.Translator { minus: "-", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "جانڤیە", "فئڤریە", "مارس", "آڤریل", "مئی", "جوٙأن", "جوٙلا", "آگوست", "سئپتامر", "ئوکتوڤر", "نوڤامر", "دئسامر"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"MEZ": "MEZ", "ACWDT": "ACWDT", "EAT": "EAT", "EDT": "EDT", "CAT": "CAT", "CLST": "CLST", "UYT": "UYT", "WIB": "WIB", "WART": "WART", "NZST": "NZST", "BT": "BT", "GMT": "GMT", "JST": "JST", "SRT": "SRT", "VET": "VET", "WITA": "WITA", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "MDT": "MDT", "AWST": "AWST", "LHDT": "LHDT", "ACST": "ACST", "CLT": "CLT", "JDT": "JDT", "ACDT": "ACDT", "COT": "COT", "HKST": "HKST", "COST": "COST", "PST": "PST", "ADT": "ADT", "EST": "EST", "TMST": "TMST", "CDT": "روٙشنایی نئهادار روٙز", "NZDT": "NZDT", "ART": "ART", "WARST": "WARST", "WIT": "WIT", "ECT": "ECT", "ChST": "ChST", "BOT": "BOT", "SGT": "SGT", "PDT": "PDT", "HAT": "HAT", "OEZ": "OEZ", "WAT": "WAT", "IST": "IST", "CHADT": "CHADT", "GFT": "GFT", "HAST": "HAST", "HADT": "HADT", "AST": "AST", "WAST": "WAST", "AWDT": "AWDT", "HNT": "HNT", "WEZ": "WEZ", "MESZ": "MESZ", "MST": "MST", "MYT": "MYT", "UYST": "UYST", "OESZ": "OESZ", "CHAST": "CHAST", "GYT": "GYT", "WESZ": "WESZ", "AEDT": "AEDT", "SAST": "SAST", "AKST": "AKST", "HKT": "HKT", "AEST": "AEST", "ARST": "ARST", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "TMT": "TMT", "LHST": "LHST", "ACWST": "ACWST"}, + timezones: map[string]string{"HKST": "HKST", "GFT": "GFT", "HAT": "HAT", "HEOG": "HEOG", "AWDT": "AWDT", "WIB": "WIB", "WESZ": "WESZ", "AEST": "AEST", "TMST": "TMST", "ACST": "ACST", "EAT": "EAT", "SGT": "SGT", "WART": "WART", "HEPMX": "HEPMX", "HEEG": "HEEG", "CDT": "روٙشنایی نئهادار روٙز", "SAST": "SAST", "CLST": "CLST", "EST": "EST", "WEZ": "WEZ", "CHAST": "CHAST", "IST": "IST", "GYT": "GYT", "SRT": "SRT", "AWST": "AWST", "MEZ": "MEZ", "HNEG": "HNEG", "TMT": "TMT", "MST": "MST", "AKDT": "AKDT", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "HADT": "HADT", "HNT": "HNT", "NZST": "NZST", "ACDT": "ACDT", "CAT": "CAT", "COT": "COT", "UYT": "UYT", "ARST": "ARST", "AEDT": "AEDT", "NZDT": "NZDT", "BOT": "BOT", "WAST": "WAST", "OEZ": "OEZ", "ADT": "ADT", "WAT": "WAT", "ACWDT": "ACWDT", "LHDT": "LHDT", "HECU": "HECU", "UYST": "UYST", "ART": "ART", "MESZ": "MESZ", "HNPMX": "HNPMX", "HNOG": "HNOG", "JST": "JST", "JDT": "JDT", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "ECT": "ECT", "COST": "COST", "HNCU": "HNCU", "PST": "PST", "HKT": "HKT", "CHADT": "CHADT", "HEPM": "HEPM", "HENOMX": "HENOMX", "VET": "VET", "ACWST": "ACWST", "WITA": "WITA", "PDT": "PDT", "WARST": "WARST", "HNNOMX": "HNNOMX", "MDT": "MDT", "HAST": "HAST", "WIT": "WIT", "HNPM": "HNPM", "LHST": "LHST", "CLT": "CLT", "ChST": "ChST", "EDT": "EDT", "MYT": "MYT", "AKST": "AKST", "GMT": "GMT", "AST": "AST", "BT": "BT"}, } } @@ -385,7 +385,12 @@ func (lrc *lrc) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (lrc *lrc) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -424,7 +434,12 @@ func (lrc *lrc) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -438,7 +453,12 @@ func (lrc *lrc) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/lrc_IQ/lrc_IQ.go b/lrc_IQ/lrc_IQ.go index f7d12ff86..ba7469216 100644 --- a/lrc_IQ/lrc_IQ.go +++ b/lrc_IQ/lrc_IQ.go @@ -53,7 +53,7 @@ func New() locales.Translator { minus: "-", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "جانڤیە", "فئڤریە", "مارس", "آڤریل", "مئی", "جوٙأن", "جوٙلا", "آگوست", "سئپتامر", "ئوکتوڤر", "نوڤامر", "دئسامر"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"GFT": "GFT", "ECT": "ECT", "ChST": "ChST", "LHST": "LHST", "NZDT": "NZDT", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "OEZ": "OEZ", "OESZ": "OESZ", "HKT": "HKT", "EAT": "EAT", "WIT": "WIT", "WITA": "WITA", "CLT": "CLT", "UYST": "UYST", "∅∅∅": "∅∅∅", "COST": "COST", "MST": "MST", "BOT": "BOT", "CHAST": "CHAST", "HADT": "HADT", "ACWST": "ACWST", "SRT": "SRT", "ADT": "ADT", "AKDT": "AKDT", "COT": "COT", "ART": "ART", "WART": "WART", "WARST": "WARST", "AWST": "AWST", "HKST": "HKST", "VET": "VET", "ACDT": "ACDT", "CLST": "CLST", "WAT": "WAT", "CAT": "CAT", "CHADT": "CHADT", "MESZ": "MESZ", "ACST": "ACST", "TMST": "TMST", "MYT": "MYT", "AWDT": "AWDT", "GMT": "GMT", "AEST": "AEST", "PDT": "PDT", "TMT": "TMT", "NZST": "NZST", "WEZ": "WEZ", "WESZ": "WESZ", "WIB": "WIB", "ARST": "ARST", "SAST": "SAST", "WAST": "WAST", "IST": "IST", "MDT": "MDT", "LHDT": "LHDT", "UYT": "UYT", "HAST": "HAST", "BT": "BT", "AEDT": "AEDT", "AST": "AST", "CDT": "روٙشنایی نئهادار روٙز", "HNT": "HNT", "JDT": "JDT", "MEZ": "MEZ", "SGT": "SGT", "JST": "JST", "PST": "PST", "AKST": "AKST", "GYT": "GYT", "HAT": "HAT", "ACWDT": "ACWDT", "EST": "EST", "EDT": "EDT"}, + timezones: map[string]string{"TMT": "TMT", "HNCU": "HNCU", "HNT": "HNT", "PDT": "PDT", "NZST": "NZST", "HNEG": "HNEG", "VET": "VET", "HAT": "HAT", "HKT": "HKT", "ACDT": "ACDT", "COT": "COT", "GMT": "GMT", "AST": "AST", "ADT": "ADT", "AKST": "AKST", "ART": "ART", "WITA": "WITA", "AWST": "AWST", "MDT": "MDT", "HNPMX": "HNPMX", "UYST": "UYST", "AKDT": "AKDT", "HAST": "HAST", "ARST": "ARST", "AEST": "AEST", "CHADT": "CHADT", "ACST": "ACST", "COST": "COST", "EST": "EST", "BT": "BT", "SRT": "SRT", "MEZ": "MEZ", "IST": "IST", "CLT": "CLT", "GFT": "GFT", "WAST": "WAST", "WIB": "WIB", "WIT": "WIT", "HNPM": "HNPM", "HADT": "HADT", "ACWDT": "ACWDT", "LHDT": "LHDT", "JST": "JST", "∅∅∅": "∅∅∅", "BOT": "BOT", "ECT": "ECT", "WARST": "WARST", "SGT": "SGT", "HEPMX": "HEPMX", "NZDT": "NZDT", "TMST": "TMST", "ChST": "ChST", "OESZ": "OESZ", "PST": "PST", "ACWST": "ACWST", "CHAST": "CHAST", "OEZ": "OEZ", "CAT": "CAT", "HENOMX": "HENOMX", "AEDT": "AEDT", "SAST": "SAST", "EAT": "EAT", "HNNOMX": "HNNOMX", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "UYT": "UYT", "HEOG": "HEOG", "HEPM": "HEPM", "HECU": "HECU", "MYT": "MYT", "AWDT": "AWDT", "HKST": "HKST", "EDT": "EDT", "MST": "MST", "WESZ": "WESZ", "MESZ": "MESZ", "GYT": "GYT", "HNOG": "HNOG", "WEZ": "WEZ", "LHST": "LHST", "JDT": "JDT", "CLST": "CLST", "HEEG": "HEEG", "WAT": "WAT", "WART": "WART", "CDT": "روٙشنایی نئهادار روٙز"}, } } @@ -385,7 +385,12 @@ func (lrc *lrc_IQ) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (lrc *lrc_IQ) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -424,7 +434,12 @@ func (lrc *lrc_IQ) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -438,7 +453,12 @@ func (lrc *lrc_IQ) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/lrc_IR/lrc_IR.go b/lrc_IR/lrc_IR.go index fb98d6883..23175ae0d 100644 --- a/lrc_IR/lrc_IR.go +++ b/lrc_IR/lrc_IR.go @@ -53,7 +53,7 @@ func New() locales.Translator { minus: "-", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "جانڤیە", "فئڤریە", "مارس", "آڤریل", "مئی", "جوٙأن", "جوٙلا", "آگوست", "سئپتامر", "ئوکتوڤر", "نوڤامر", "دئسامر"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"PST": "PST", "WARST": "WARST", "LHST": "LHST", "GFT": "GFT", "COT": "COT", "EDT": "EDT", "WITA": "WITA", "MYT": "MYT", "NZST": "NZST", "AWDT": "AWDT", "MESZ": "MESZ", "ARST": "ARST", "ACWST": "ACWST", "EST": "EST", "TMT": "TMT", "TMST": "TMST", "LHDT": "LHDT", "UYST": "UYST", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "WART": "WART", "GYT": "GYT", "OESZ": "OESZ", "HAT": "HAT", "HKST": "HKST", "ECT": "ECT", "HAST": "HAST", "AEST": "AEST", "NZDT": "NZDT", "CAT": "CAT", "BT": "BT", "JST": "JST", "COST": "COST", "AKST": "AKST", "WAT": "WAT", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "MDT": "MDT", "AWST": "AWST", "WAST": "WAST", "VET": "VET", "PDT": "PDT", "MST": "MST", "HNT": "HNT", "MEZ": "MEZ", "ACST": "ACST", "IST": "IST", "JDT": "JDT", "CHAST": "CHAST", "ART": "ART", "AKDT": "AKDT", "SAST": "SAST", "CLT": "CLT", "ACDT": "ACDT", "HADT": "HADT", "AST": "AST", "CDT": "روٙشنایی نئهادار روٙز", "WEZ": "WEZ", "WESZ": "WESZ", "SGT": "SGT", "ADT": "ADT", "UYT": "UYT", "HKT": "HKT", "ACWDT": "ACWDT", "CLST": "CLST", "WIT": "WIT", "GMT": "GMT", "WIB": "WIB", "AEDT": "AEDT", "EAT": "EAT", "BOT": "BOT", "ChST": "ChST", "CHADT": "CHADT", "SRT": "SRT"}, + timezones: map[string]string{"CLST": "CLST", "ChST": "ChST", "OEZ": "OEZ", "SGT": "SGT", "CDT": "روٙشنایی نئهادار روٙز", "MEZ": "MEZ", "WAT": "WAT", "WARST": "WARST", "GMT": "GMT", "HNPMX": "HNPMX", "AKDT": "AKDT", "CHAST": "CHAST", "EAT": "EAT", "WAST": "WAST", "WESZ": "WESZ", "HEOG": "HEOG", "HKST": "HKST", "MESZ": "MESZ", "NZDT": "NZDT", "WART": "WART", "WEZ": "WEZ", "CLT": "CLT", "∅∅∅": "∅∅∅", "JST": "JST", "TMST": "TMST", "COT": "COT", "COST": "COST", "HNNOMX": "HNNOMX", "MDT": "MDT", "SAST": "SAST", "EST": "EST", "AWDT": "AWDT", "HNPM": "HNPM", "BOT": "BOT", "HEEG": "HEEG", "GFT": "GFT", "ACST": "ACST", "ECT": "ECT", "GYT": "GYT", "ART": "ART", "AKST": "AKST", "ACWST": "ACWST", "AWST": "AWST", "MST": "MST", "UYT": "UYT", "BT": "BT", "ACWDT": "ACWDT", "HNOG": "HNOG", "IST": "IST", "UYST": "UYST", "MYT": "MYT", "HADT": "HADT", "HKT": "HKT", "CHADT": "CHADT", "HNEG": "HNEG", "VET": "VET", "WITA": "WITA", "HENOMX": "HENOMX", "AST": "AST", "PST": "PST", "LHDT": "LHDT", "JDT": "JDT", "HECU": "HECU", "HAST": "HAST", "PDT": "PDT", "ARST": "ARST", "AEDT": "AEDT", "ACDT": "ACDT", "CAT": "CAT", "CST": "گاٛت مینجاٛیی ئستاٛنداٛرد", "WIT": "WIT", "HAT": "HAT", "AEST": "AEST", "NZST": "NZST", "TMT": "TMT", "OESZ": "OESZ", "EDT": "EDT", "HEPMX": "HEPMX", "WIB": "WIB", "SRT": "SRT", "HNT": "HNT", "LHST": "LHST", "HNCU": "HNCU", "ADT": "ADT", "HEPM": "HEPM"}, } } @@ -385,7 +385,12 @@ func (lrc *lrc_IR) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -410,7 +415,12 @@ func (lrc *lrc_IR) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -424,7 +434,12 @@ func (lrc *lrc_IR) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -438,7 +453,12 @@ func (lrc *lrc_IR) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, lrc.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/lt/lt.go b/lt/lt.go index 1b49f1af0..10864ef55 100644 --- a/lt/lt.go +++ b/lt/lt.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pr. Kr.", "po Kr."}, erasNarrow: []string{"pr. Kr.", "po Kr."}, erasWide: []string{"prieš Kristų", "po Kristaus"}, - timezones: map[string]string{"ARST": "Argentinos vasaros laikas", "PST": "Šiaurės Amerikos Ramiojo vandenyno žiemos laikas", "WITA": "Centrinės Indonezijos laikas", "GYT": "Gajanos laikas", "∅∅∅": "Azorų Salų vasaros laikas", "NZDT": "Naujosios Zelandijos vasaros laikas", "MEZ": "Vidurio Europos žiemos laikas", "CST": "Šiaurės Amerikos centro žiemos laikas", "HNT": "Niufaundlendo žiemos laikas", "CLT": "Čilės žiemos laikas", "OEZ": "Rytų Europos žiemos laikas", "OESZ": "Rytų Europos vasaros laikas", "SRT": "Surinamo laikas", "LHST": "Lordo Hau žiemos laikas", "CHAST": "Čatamo žiemos laikas", "PDT": "Šiaurės Amerikos Ramiojo vandenyno vasaros laikas", "ADT": "Atlanto vasaros laikas", "ChST": "Čamoro laikas", "BOT": "Bolivijos laikas", "BT": "Butano laikas", "WIT": "Rytų Indonezijos laikas", "TMST": "Turkmėnistano vasaros laikas", "CDT": "Šiaurės Amerikos centro vasaros laikas", "HAST": "Havajų–Aleutų žiemos laikas", "ART": "Argentinos žiemos laikas", "JDT": "Japonijos vasaros laikas", "HKT": "Honkongo žiemos laikas", "COT": "Kolumbijos žiemos laikas", "MYT": "Malaizijos laikas", "NZST": "Naujosios Zelandijos žiemos laikas", "HKST": "Honkongo vasaros laikas", "WIB": "Vakarų Indonezijos laikas", "EST": "Šiaurės Amerikos rytų žiemos laikas", "ACST": "Centrinės Australijos žiemos laikas", "VET": "Venesuelos laikas", "SAST": "Pietų Afrikos laikas", "MDT": "Šiaurės Amerikos kalnų vasaros laikas", "GFT": "Prancūzijos Gvianos laikas", "WART": "Vakarų Argentinos žiemos laikas", "JST": "Japonijos žiemos laikas", "ACWST": "Centrinės vakarų Australijos žiemos laikas", "AEDT": "Rytų Australijos vasaros laikas", "AST": "Atlanto žiemos laikas", "UYST": "Urugvajaus vasaros laikas", "HADT": "Havajų–Aleutų vasaros laikas", "AKST": "Aliaskos žiemos laikas", "EDT": "Šiaurės Amerikos rytų vasaros laikas", "TMT": "Turkmėnistano žiemos laikas", "CLST": "Čilės vasaros laikas", "UYT": "Urugvajaus žiemos laikas", "AEST": "Rytų Australijos žiemos laikas", "CAT": "Centrinės Afrikos laikas", "CHADT": "Čatamo vasaros laikas", "MESZ": "Vidurio Europos vasaros laikas", "ACDT": "Centrinės Australijos vasaros laikas", "SGT": "Singapūro laikas", "WARST": "Vakarų Argentinos vasaros laikas", "WAT": "Vakarų Afrikos žiemos laikas", "WAST": "Vakarų Afrikos vasaros laikas", "IST": "Indijos laikas", "HAT": "Niufaundlendo vasaros laikas", "LHDT": "Lordo Hau vasaros laikas", "AKDT": "Aliaskos vasaros laikas", "MST": "Šiaurės Amerikos kalnų žiemos laikas", "GMT": "Grinvičo laikas", "WEZ": "Vakarų Europos žiemos laikas", "WESZ": "Vakarų Europos vasaros laikas", "ACWDT": "Centrinės vakarų Australijos vasaros laikas", "EAT": "Rytų Afrikos laikas", "AWST": "Vakarų Australijos žiemos laikas", "AWDT": "Vakarų Australijos vasaros laikas", "COST": "Kolumbijos vasaros laikas", "ECT": "Ekvadoro laikas"}, + timezones: map[string]string{"MDT": "Makau vasaros laikas", "NZDT": "Naujosios Zelandijos vasaros laikas", "JST": "Japonijos žiemos laikas", "CAT": "Centrinės Afrikos laikas", "MYT": "Malaizijos laikas", "UYST": "Urugvajaus vasaros laikas", "HAST": "Havajų–Aleutų žiemos laikas", "WEZ": "Vakarų Europos žiemos laikas", "ACDT": "Centrinės Australijos vasaros laikas", "BT": "Butano laikas", "ACST": "Centrinės Australijos žiemos laikas", "GMT": "Grinvičo laikas", "EST": "Šiaurės Amerikos rytų žiemos laikas", "HEPMX": "Meksikos Ramiojo vandenyno vasaros laikas", "ADT": "Atlanto vasaros laikas", "WIB": "Vakarų Indonezijos laikas", "ACWST": "Centrinės vakarų Australijos žiemos laikas", "SAST": "Pietų Afrikos laikas", "OESZ": "Rytų Europos vasaros laikas", "HNCU": "Kubos žiemos laikas", "SRT": "Surinamo laikas", "CHADT": "Čatamo vasaros laikas", "ECT": "Ekvadoro laikas", "COT": "Kolumbijos žiemos laikas", "HENOMX": "Šiaurės Vakarų Meksikos vasaros laikas", "HNT": "Niufaundlendo žiemos laikas", "HKST": "Honkongo vasaros laikas", "CLT": "Čilės žiemos laikas", "TMST": "Turkmėnistano vasaros laikas", "ChST": "Čamoro laikas", "WART": "Vakarų Argentinos žiemos laikas", "WARST": "Vakarų Argentinos vasaros laikas", "EAT": "Rytų Afrikos laikas", "EDT": "Šiaurės Amerikos rytų vasaros laikas", "AST": "Atlanto žiemos laikas", "GYT": "Gajanos laikas", "WIT": "Rytų Indonezijos laikas", "ACWDT": "Centrinės vakarų Australijos vasaros laikas", "AEDT": "Rytų Australijos vasaros laikas", "HNPM": "Sen Pjero ir Mikelono žiemos laikas", "AKDT": "Aliaskos vasaros laikas", "HADT": "Havajų–Aleutų vasaros laikas", "ART": "Argentinos žiemos laikas", "PST": "Šiaurės Amerikos Ramiojo vandenyno žiemos laikas", "WITA": "Centrinės Indonezijos laikas", "MESZ": "Vidurio Europos vasaros laikas", "LHDT": "Lordo Hau vasaros laikas", "HKT": "Honkongo žiemos laikas", "WAST": "Vakarų Afrikos vasaros laikas", "HECU": "Kubos vasaros laikas", "VET": "Venesuelos laikas", "NZST": "Naujosios Zelandijos žiemos laikas", "∅∅∅": "Amazonės vasaros laikas", "BOT": "Bolivijos laikas", "HNEG": "Grenlandijos rytų žiemos laikas", "WAT": "Vakarų Afrikos žiemos laikas", "HNNOMX": "Šiaurės Vakarų Meksikos žiemos laikas", "GFT": "Prancūzijos Gvianos laikas", "UYT": "Urugvajaus žiemos laikas", "HEOG": "Grenlandijos vakarų vasaros laikas", "WESZ": "Vakarų Europos vasaros laikas", "AWDT": "Vakarų Australijos vasaros laikas", "HEPM": "Sen Pjero ir Mikelono vasaros laikas", "IST": "Indijos laikas", "TMT": "Turkmėnistano žiemos laikas", "MEZ": "Vidurio Europos žiemos laikas", "MST": "Makau žiemos laikas", "AKST": "Aliaskos žiemos laikas", "CST": "Šiaurės Amerikos centro žiemos laikas", "CDT": "Šiaurės Amerikos centro vasaros laikas", "HNOG": "Grenlandijos vakarų žiemos laikas", "PDT": "Šiaurės Amerikos Ramiojo vandenyno vasaros laikas", "AWST": "Vakarų Australijos žiemos laikas", "CLST": "Čilės vasaros laikas", "COST": "Kolumbijos vasaros laikas", "HNPMX": "Meksikos Ramiojo vandenyno žiemos laikas", "ARST": "Argentinos vasaros laikas", "HEEG": "Grenlandijos rytų vasaros laikas", "CHAST": "Čatamo žiemos laikas", "SGT": "Singapūro laikas", "HAT": "Niufaundlendo vasaros laikas", "AEST": "Rytų Australijos žiemos laikas", "JDT": "Japonijos vasaros laikas", "OEZ": "Rytų Europos žiemos laikas", "LHST": "Lordo Hau žiemos laikas"}, } } @@ -448,7 +448,12 @@ func (lt *lt) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -473,7 +478,12 @@ func (lt *lt) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -498,7 +508,12 @@ func (lt *lt) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d}...) b = append(b, []byte{0x2e, 0x20}...) b = append(b, lt.monthsWide[t.Month()]...) @@ -515,7 +530,12 @@ func (lt *lt) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d}...) b = append(b, []byte{0x2e, 0x20}...) b = append(b, lt.monthsWide[t.Month()]...) diff --git a/lt_LT/lt_LT.go b/lt_LT/lt_LT.go index 8c9a80997..725efb552 100644 --- a/lt_LT/lt_LT.go +++ b/lt_LT/lt_LT.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pr. Kr.", "po Kr."}, erasNarrow: []string{"pr. Kr.", "po Kr."}, erasWide: []string{"prieš Kristų", "po Kristaus"}, - timezones: map[string]string{"MST": "Šiaurės Amerikos kalnų žiemos laikas", "NZDT": "Naujosios Zelandijos vasaros laikas", "LHDT": "Lordo Hau vasaros laikas", "IST": "Indijos laikas", "HNT": "Niufaundlendo žiemos laikas", "HKT": "Honkongo žiemos laikas", "WART": "Vakarų Argentinos žiemos laikas", "AKDT": "Aliaskos vasaros laikas", "TMST": "Turkmėnistano vasaros laikas", "CAT": "Centrinės Afrikos laikas", "CLST": "Čilės vasaros laikas", "NZST": "Naujosios Zelandijos žiemos laikas", "BOT": "Bolivijos laikas", "GMT": "Grinvičo laikas", "AKST": "Aliaskos žiemos laikas", "TMT": "Turkmėnistano žiemos laikas", "AWST": "Vakarų Australijos žiemos laikas", "UYST": "Urugvajaus vasaros laikas", "HKST": "Honkongo vasaros laikas", "SGT": "Singapūro laikas", "WIB": "Vakarų Indonezijos laikas", "WAST": "Vakarų Afrikos vasaros laikas", "CST": "Šiaurės Amerikos centro žiemos laikas", "MYT": "Malaizijos laikas", "∅∅∅": "Ako vasaros laikas", "ACDT": "Centrinės Australijos vasaros laikas", "VET": "Venesuelos laikas", "GYT": "Gajanos laikas", "AWDT": "Vakarų Australijos vasaros laikas", "HAT": "Niufaundlendo vasaros laikas", "OEZ": "Rytų Europos žiemos laikas", "GFT": "Prancūzijos Gvianos laikas", "MEZ": "Vidurio Europos žiemos laikas", "MESZ": "Vidurio Europos vasaros laikas", "AEST": "Rytų Australijos žiemos laikas", "LHST": "Lordo Hau žiemos laikas", "HAST": "Havajų–Aleutų žiemos laikas", "ARST": "Argentinos vasaros laikas", "CHADT": "Čatamo vasaros laikas", "WARST": "Vakarų Argentinos vasaros laikas", "EDT": "Šiaurės Amerikos rytų vasaros laikas", "ECT": "Ekvadoro laikas", "ACWDT": "Centrinės vakarų Australijos vasaros laikas", "SAST": "Pietų Afrikos laikas", "CDT": "Šiaurės Amerikos centro vasaros laikas", "UYT": "Urugvajaus žiemos laikas", "CHAST": "Čatamo žiemos laikas", "ACST": "Centrinės Australijos žiemos laikas", "PDT": "Šiaurės Amerikos Ramiojo vandenyno vasaros laikas", "ChST": "Čamoro laikas", "JDT": "Japonijos vasaros laikas", "WEZ": "Vakarų Europos žiemos laikas", "COT": "Kolumbijos žiemos laikas", "AEDT": "Rytų Australijos vasaros laikas", "ADT": "Atlanto vasaros laikas", "BT": "Butano laikas", "WIT": "Rytų Indonezijos laikas", "SRT": "Surinamo laikas", "ACWST": "Centrinės vakarų Australijos žiemos laikas", "WAT": "Vakarų Afrikos žiemos laikas", "EST": "Šiaurės Amerikos rytų žiemos laikas", "PST": "Šiaurės Amerikos Ramiojo vandenyno žiemos laikas", "OESZ": "Rytų Europos vasaros laikas", "WESZ": "Vakarų Europos vasaros laikas", "COST": "Kolumbijos vasaros laikas", "ART": "Argentinos žiemos laikas", "MDT": "Šiaurės Amerikos kalnų vasaros laikas", "JST": "Japonijos žiemos laikas", "HADT": "Havajų–Aleutų vasaros laikas", "EAT": "Rytų Afrikos laikas", "AST": "Atlanto žiemos laikas", "WITA": "Centrinės Indonezijos laikas", "CLT": "Čilės žiemos laikas"}, + timezones: map[string]string{"LHDT": "Lordo Hau vasaros laikas", "JST": "Japonijos žiemos laikas", "JDT": "Japonijos vasaros laikas", "TMT": "Turkmėnistano žiemos laikas", "∅∅∅": "Peru vasaros laikas", "EDT": "Šiaurės Amerikos rytų vasaros laikas", "CHADT": "Čatamo vasaros laikas", "CHAST": "Čatamo žiemos laikas", "WIB": "Vakarų Indonezijos laikas", "ACWDT": "Centrinės vakarų Australijos vasaros laikas", "ART": "Argentinos žiemos laikas", "AEST": "Rytų Australijos žiemos laikas", "AEDT": "Rytų Australijos vasaros laikas", "MESZ": "Vidurio Europos vasaros laikas", "LHST": "Lordo Hau žiemos laikas", "ECT": "Ekvadoro laikas", "PDT": "Šiaurės Amerikos Ramiojo vandenyno vasaros laikas", "WEZ": "Vakarų Europos žiemos laikas", "HNCU": "Kubos žiemos laikas", "WESZ": "Vakarų Europos vasaros laikas", "HEPMX": "Meksikos Ramiojo vandenyno vasaros laikas", "HNPM": "Sen Pjero ir Mikelono žiemos laikas", "GFT": "Prancūzijos Gvianos laikas", "EST": "Šiaurės Amerikos rytų žiemos laikas", "AST": "Atlanto žiemos laikas", "HEOG": "Grenlandijos vakarų vasaros laikas", "HKT": "Honkongo žiemos laikas", "AWST": "Vakarų Australijos žiemos laikas", "EAT": "Rytų Afrikos laikas", "WARST": "Vakarų Argentinos vasaros laikas", "COT": "Kolumbijos žiemos laikas", "MEZ": "Vidurio Europos žiemos laikas", "TMST": "Turkmėnistano vasaros laikas", "ACDT": "Centrinės Australijos vasaros laikas", "MDT": "Makau vasaros laikas", "HADT": "Havajų–Aleutų vasaros laikas", "BT": "Butano laikas", "AKDT": "Aliaskos vasaros laikas", "HAT": "Niufaundlendo vasaros laikas", "CLT": "Čilės žiemos laikas", "OEZ": "Rytų Europos žiemos laikas", "WART": "Vakarų Argentinos žiemos laikas", "SGT": "Singapūro laikas", "WAT": "Vakarų Afrikos žiemos laikas", "PST": "Šiaurės Amerikos Ramiojo vandenyno žiemos laikas", "NZDT": "Naujosios Zelandijos vasaros laikas", "HAST": "Havajų–Aleutų žiemos laikas", "AWDT": "Vakarų Australijos vasaros laikas", "HEEG": "Grenlandijos rytų vasaros laikas", "HECU": "Kubos vasaros laikas", "ADT": "Atlanto vasaros laikas", "UYST": "Urugvajaus vasaros laikas", "SRT": "Surinamo laikas", "ChST": "Čamoro laikas", "ACST": "Centrinės Australijos žiemos laikas", "OESZ": "Rytų Europos vasaros laikas", "COST": "Kolumbijos vasaros laikas", "WIT": "Rytų Indonezijos laikas", "WITA": "Centrinės Indonezijos laikas", "SAST": "Pietų Afrikos laikas", "HNEG": "Grenlandijos rytų žiemos laikas", "CAT": "Centrinės Afrikos laikas", "AKST": "Aliaskos žiemos laikas", "MYT": "Malaizijos laikas", "HEPM": "Sen Pjero ir Mikelono vasaros laikas", "CST": "Šiaurės Amerikos centro žiemos laikas", "CDT": "Šiaurės Amerikos centro vasaros laikas", "ACWST": "Centrinės vakarų Australijos žiemos laikas", "HNOG": "Grenlandijos vakarų žiemos laikas", "HKST": "Honkongo vasaros laikas", "CLST": "Čilės vasaros laikas", "BOT": "Bolivijos laikas", "GMT": "Grinvičo laikas", "HNPMX": "Meksikos Ramiojo vandenyno žiemos laikas", "VET": "Venesuelos laikas", "MST": "Makau žiemos laikas", "GYT": "Gajanos laikas", "UYT": "Urugvajaus žiemos laikas", "HNT": "Niufaundlendo žiemos laikas", "ARST": "Argentinos vasaros laikas", "WAST": "Vakarų Afrikos vasaros laikas", "HNNOMX": "Šiaurės Vakarų Meksikos žiemos laikas", "HENOMX": "Šiaurės Vakarų Meksikos vasaros laikas", "NZST": "Naujosios Zelandijos žiemos laikas", "IST": "Indijos laikas"}, } } @@ -448,7 +448,12 @@ func (lt *lt_LT) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -473,7 +478,12 @@ func (lt *lt_LT) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -498,7 +508,12 @@ func (lt *lt_LT) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d}...) b = append(b, []byte{0x2e, 0x20}...) b = append(b, lt.monthsWide[t.Month()]...) @@ -515,7 +530,12 @@ func (lt *lt_LT) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d}...) b = append(b, []byte{0x2e, 0x20}...) b = append(b, lt.monthsWide[t.Month()]...) diff --git a/lu/lu.go b/lu/lu.go index 68f220f12..cb9c4a20e 100644 --- a/lu/lu.go +++ b/lu/lu.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Cio", "Lui", "Lus", "Muu", "Lum", "Luf", "Kab", "Lush", "Lut", "Lun", "Kas", "Cis"}, monthsNarrow: []string{"", "C", "L", "L", "M", "L", "L", "K", "L", "L", "L", "K", "C"}, monthsWide: []string{"", "Ciongo", "Lùishi", "Lusòlo", "Mùuyà", "Lumùngùlù", "Lufuimi", "Kabàlàshìpù", "Lùshìkà", "Lutongolo", "Lungùdi", "Kaswèkèsè", "Ciswà"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"kmp. Y.K.", "kny. Y. K."}, erasNarrow: []string{"", ""}, erasWide: []string{"Kumpala kwa Yezu Kli", "Kunyima kwa Yezu Kli"}, - timezones: map[string]string{"WESZ": "WESZ", "HADT": "HADT", "ADT": "ADT", "WAST": "WAST", "TMT": "TMT", "WIT": "WIT", "SRT": "SRT", "WART": "WART", "GYT": "GYT", "HKST": "HKST", "ACST": "ACST", "CDT": "CDT", "HAT": "HAT", "ECT": "ECT", "WAT": "WAT", "IST": "IST", "MYT": "MYT", "BOT": "BOT", "LHST": "LHST", "MEZ": "MEZ", "EDT": "EDT", "WITA": "WITA", "NZDT": "NZDT", "BT": "BT", "EST": "EST", "NZST": "NZST", "EAT": "EAT", "AWST": "AWST", "UYST": "UYST", "GFT": "GFT", "HAST": "HAST", "CAT": "CAT", "AEST": "AEST", "AKST": "AKST", "WEZ": "WEZ", "CLT": "CLT", "WIB": "WIB", "ART": "ART", "AST": "AST", "PST": "PST", "HNT": "HNT", "CHAST": "CHAST", "TMST": "TMST", "MDT": "MDT", "∅∅∅": "∅∅∅", "JST": "JST", "ACDT": "ACDT", "SGT": "SGT", "AEDT": "AEDT", "CST": "CST", "CLST": "CLST", "OEZ": "OEZ", "LHDT": "LHDT", "JDT": "JDT", "HKT": "HKT", "ACWDT": "ACWDT", "AWDT": "AWDT", "UYT": "UYT", "OESZ": "OESZ", "COT": "COT", "VET": "VET", "ARST": "ARST", "SAST": "SAST", "PDT": "PDT", "GMT": "GMT", "ChST": "ChST", "COST": "COST", "AKDT": "AKDT", "MST": "MST", "CHADT": "CHADT", "ACWST": "ACWST", "WARST": "WARST", "MESZ": "MESZ"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "EST": "EST", "ACWDT": "ACWDT", "CLST": "CLST", "SGT": "SGT", "CDT": "CDT", "HNEG": "HNEG", "COST": "COST", "WESZ": "WESZ", "HNT": "HNT", "AWDT": "AWDT", "TMT": "TMT", "WAST": "WAST", "HNNOMX": "HNNOMX", "HAST": "HAST", "ARST": "ARST", "MEZ": "MEZ", "IST": "IST", "EDT": "EDT", "MDT": "MDT", "HEOG": "HEOG", "LHDT": "LHDT", "JDT": "JDT", "HEEG": "HEEG", "ACST": "ACST", "WAT": "WAT", "HADT": "HADT", "PST": "PST", "AEDT": "AEDT", "HKT": "HKT", "HNPM": "HNPM", "VET": "VET", "ACWST": "ACWST", "SAST": "SAST", "JST": "JST", "TMST": "TMST", "CAT": "CAT", "COT": "COT", "UYT": "UYT", "WIB": "WIB", "OEZ": "OEZ", "WART": "WART", "ADT": "ADT", "AKDT": "AKDT", "SRT": "SRT", "HNOG": "HNOG", "MESZ": "MESZ", "CHADT": "CHADT", "GFT": "GFT", "HNCU": "HNCU", "AST": "AST", "AEST": "AEST", "EAT": "EAT", "WARST": "WARST", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "CST": "CST", "BT": "BT", "HEPM": "HEPM", "ChST": "ChST", "ACDT": "ACDT", "PDT": "PDT", "HAT": "HAT", "AWST": "AWST", "HKST": "HKST", "CHAST": "CHAST", "BOT": "BOT", "OESZ": "OESZ", "HECU": "HECU", "HEPMX": "HEPMX", "MYT": "MYT", "AKST": "AKST", "ART": "ART", "CLT": "CLT", "MST": "MST", "NZDT": "NZDT", "ECT": "ECT", "GYT": "GYT", "UYST": "UYST", "WITA": "WITA", "NZST": "NZST", "GMT": "GMT", "WIT": "WIT", "WEZ": "WEZ", "LHST": "LHST"}, } } @@ -344,7 +344,12 @@ func (lu *lu) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +363,12 @@ func (lu *lu) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +382,12 @@ func (lu *lu) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -388,7 +403,12 @@ func (lu *lu) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lu_CD/lu_CD.go b/lu_CD/lu_CD.go index 18fda07bd..2bdf1b83d 100644 --- a/lu_CD/lu_CD.go +++ b/lu_CD/lu_CD.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Cio", "Lui", "Lus", "Muu", "Lum", "Luf", "Kab", "Lush", "Lut", "Lun", "Kas", "Cis"}, monthsNarrow: []string{"", "C", "L", "L", "M", "L", "L", "K", "L", "L", "L", "K", "C"}, monthsWide: []string{"", "Ciongo", "Lùishi", "Lusòlo", "Mùuyà", "Lumùngùlù", "Lufuimi", "Kabàlàshìpù", "Lùshìkà", "Lutongolo", "Lungùdi", "Kaswèkèsè", "Ciswà"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"kmp. Y.K.", "kny. Y. K."}, erasNarrow: []string{"", ""}, erasWide: []string{"Kumpala kwa Yezu Kli", "Kunyima kwa Yezu Kli"}, - timezones: map[string]string{"AEST": "AEST", "ACWST": "ACWST", "EDT": "EDT", "JST": "JST", "VET": "VET", "CLST": "CLST", "CAT": "CAT", "SRT": "SRT", "IST": "IST", "MYT": "MYT", "AWDT": "AWDT", "CLT": "CLT", "LHDT": "LHDT", "HKT": "HKT", "ECT": "ECT", "HAST": "HAST", "ACWDT": "ACWDT", "GYT": "GYT", "NZST": "NZST", "UYT": "UYT", "WARST": "WARST", "AKST": "AKST", "AKDT": "AKDT", "TMST": "TMST", "∅∅∅": "∅∅∅", "ACST": "ACST", "CDT": "CDT", "WIT": "WIT", "CHADT": "CHADT", "AST": "AST", "SAST": "SAST", "HAT": "HAT", "MEZ": "MEZ", "ARST": "ARST", "TMT": "TMT", "ChST": "ChST", "MST": "MST", "WART": "WART", "WAT": "WAT", "EST": "EST", "OEZ": "OEZ", "MESZ": "MESZ", "ACDT": "ACDT", "ADT": "ADT", "JDT": "JDT", "SGT": "SGT", "PST": "PST", "CST": "CST", "LHST": "LHST", "ART": "ART", "HKST": "HKST", "NZDT": "NZDT", "AWST": "AWST", "WEZ": "WEZ", "WESZ": "WESZ", "HNT": "HNT", "GMT": "GMT", "WIB": "WIB", "PDT": "PDT", "CHAST": "CHAST", "GFT": "GFT", "UYST": "UYST", "COT": "COT", "AEDT": "AEDT", "WAST": "WAST", "EAT": "EAT", "WITA": "WITA", "MDT": "MDT", "BT": "BT", "COST": "COST", "HADT": "HADT", "BOT": "BOT", "OESZ": "OESZ"}, + timezones: map[string]string{"CAT": "CAT", "WAT": "WAT", "WIB": "WIB", "HAST": "HAST", "HKT": "HKT", "JDT": "JDT", "TMST": "TMST", "OESZ": "OESZ", "VET": "VET", "HNOG": "HNOG", "MEZ": "MEZ", "MESZ": "MESZ", "HEEG": "HEEG", "ACST": "ACST", "COST": "COST", "ADT": "ADT", "HKST": "HKST", "GYT": "GYT", "ART": "ART", "ARST": "ARST", "CLST": "CLST", "WESZ": "WESZ", "HNT": "HNT", "TMT": "TMT", "ECT": "ECT", "∅∅∅": "∅∅∅", "COT": "COT", "HEPMX": "HEPMX", "PDT": "PDT", "AWDT": "AWDT", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "MYT": "MYT", "HAT": "HAT", "WART": "WART", "MDT": "MDT", "AWST": "AWST", "EAT": "EAT", "WAST": "WAST", "OEZ": "OEZ", "HENOMX": "HENOMX", "AKST": "AKST", "AKDT": "AKDT", "PST": "PST", "NZDT": "NZDT", "EDT": "EDT", "CST": "CST", "HEOG": "HEOG", "WEZ": "WEZ", "HECU": "HECU", "UYT": "UYT", "AEST": "AEST", "HEPM": "HEPM", "LHST": "LHST", "CHAST": "CHAST", "BOT": "BOT", "AST": "AST", "ACWDT": "ACWDT", "WITA": "WITA", "IST": "IST", "ACDT": "ACDT", "WARST": "WARST", "HNCU": "HNCU", "EST": "EST", "MST": "MST", "CDT": "CDT", "JST": "JST", "GMT": "GMT", "HADT": "HADT", "BT": "BT", "SRT": "SRT", "CHADT": "CHADT", "AEDT": "AEDT", "NZST": "NZST", "ChST": "ChST", "GFT": "GFT", "SGT": "SGT", "UYST": "UYST", "WIT": "WIT", "ACWST": "ACWST", "CLT": "CLT", "HNEG": "HNEG", "HNPM": "HNPM", "LHDT": "LHDT", "SAST": "SAST"}, } } @@ -344,7 +344,12 @@ func (lu *lu_CD) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +363,12 @@ func (lu *lu_CD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +382,12 @@ func (lu *lu_CD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -388,7 +403,12 @@ func (lu *lu_CD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, lu.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/luo/luo.go b/luo/luo.go index 799ab665c..78ed7ca1e 100644 --- a/luo/luo.go +++ b/luo/luo.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "DAC", "DAR", "DAD", "DAN", "DAH", "DAU", "DAO", "DAB", "DOC", "DAP", "DGI", "DAG"}, monthsNarrow: []string{"", "C", "R", "D", "N", "B", "U", "B", "B", "C", "P", "C", "P"}, monthsWide: []string{"", "Dwe mar Achiel", "Dwe mar Ariyo", "Dwe mar Adek", "Dwe mar Ang’wen", "Dwe mar Abich", "Dwe mar Auchiel", "Dwe mar Abiriyo", "Dwe mar Aboro", "Dwe mar Ochiko", "Dwe mar Apar", "Dwe mar gi achiel", "Dwe mar Apar gi ariyo"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kapok Kristo obiro", "Ka Kristo osebiro"}, - timezones: map[string]string{"VET": "VET", "WAT": "WAT", "HAT": "HAT", "OEZ": "OEZ", "SGT": "SGT", "COST": "COST", "ECT": "ECT", "AEST": "AEST", "CDT": "CDT", "WEZ": "WEZ", "BOT": "BOT", "CLST": "CLST", "HKST": "HKST", "ARST": "ARST", "WITA": "WITA", "∅∅∅": "∅∅∅", "UYST": "UYST", "AST": "AST", "MYT": "MYT", "CAT": "CAT", "ACWDT": "ACWDT", "CLT": "CLT", "WIB": "WIB", "COT": "COT", "TMST": "TMST", "LHST": "LHST", "LHDT": "LHDT", "WAST": "WAST", "WESZ": "WESZ", "AEDT": "AEDT", "AKST": "AKST", "UYT": "UYT", "PDT": "PDT", "WIT": "WIT", "CHAST": "CHAST", "EST": "EST", "MST": "MST", "BT": "BT", "JST": "JST", "MESZ": "MESZ", "HAST": "HAST", "WART": "WART", "WARST": "WARST", "IST": "IST", "NZST": "NZST", "ACDT": "ACDT", "HNT": "HNT", "GMT": "GMT", "OESZ": "OESZ", "CHADT": "CHADT", "ACST": "ACST", "ADT": "ADT", "MDT": "MDT", "AWDT": "AWDT", "JDT": "JDT", "SRT": "SRT", "EDT": "EDT", "PST": "PST", "SAST": "SAST", "ChST": "ChST", "HKT": "HKT", "GFT": "GFT", "MEZ": "MEZ", "HADT": "HADT", "TMT": "TMT", "AWST": "AWST", "AKDT": "AKDT", "CST": "CST", "GYT": "GYT", "NZDT": "NZDT", "ACWST": "ACWST", "ART": "ART", "EAT": "EAT"}, + timezones: map[string]string{"CST": "CST", "PDT": "PDT", "ACDT": "ACDT", "EAT": "EAT", "HENOMX": "HENOMX", "AKST": "AKST", "PST": "PST", "HEPM": "HEPM", "TMT": "TMT", "CAT": "CAT", "HAT": "HAT", "AEDT": "AEDT", "ACWST": "ACWST", "WAST": "WAST", "CDT": "CDT", "WIT": "WIT", "WESZ": "WESZ", "HKT": "HKT", "AWDT": "AWDT", "GFT": "GFT", "WAT": "WAT", "CHAST": "CHAST", "CHADT": "CHADT", "EDT": "EDT", "SRT": "SRT", "ACWDT": "ACWDT", "CLT": "CLT", "HNNOMX": "HNNOMX", "GMT": "GMT", "∅∅∅": "∅∅∅", "SGT": "SGT", "ACST": "ACST", "ECT": "ECT", "ART": "ART", "CLST": "CLST", "HEEG": "HEEG", "MST": "MST", "HNOG": "HNOG", "AEST": "AEST", "LHST": "LHST", "TMST": "TMST", "UYT": "UYT", "LHDT": "LHDT", "HECU": "HECU", "WITA": "WITA", "AST": "AST", "ADT": "ADT", "HNPM": "HNPM", "IST": "IST", "JST": "JST", "OEZ": "OEZ", "COT": "COT", "HADT": "HADT", "VET": "VET", "BT": "BT", "HEOG": "HEOG", "WEZ": "WEZ", "NZDT": "NZDT", "EST": "EST", "MYT": "MYT", "MEZ": "MEZ", "JDT": "JDT", "HNT": "HNT", "AWST": "AWST", "HNEG": "HNEG", "OESZ": "OESZ", "AKDT": "AKDT", "WIB": "WIB", "HAST": "HAST", "ARST": "ARST", "NZST": "NZST", "HNCU": "HNCU", "HEPMX": "HEPMX", "WART": "WART", "WARST": "WARST", "COST": "COST", "HNPMX": "HNPMX", "MDT": "MDT", "GYT": "GYT", "ChST": "ChST", "BOT": "BOT", "MESZ": "MESZ", "SAST": "SAST", "UYST": "UYST", "HKST": "HKST"}, } } @@ -317,7 +317,12 @@ func (luo *luo) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -331,7 +336,12 @@ func (luo *luo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +355,12 @@ func (luo *luo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +376,12 @@ func (luo *luo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/luo_KE/luo_KE.go b/luo_KE/luo_KE.go index 43959a1c2..bee347658 100644 --- a/luo_KE/luo_KE.go +++ b/luo_KE/luo_KE.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "DAC", "DAR", "DAD", "DAN", "DAH", "DAU", "DAO", "DAB", "DOC", "DAP", "DGI", "DAG"}, monthsNarrow: []string{"", "C", "R", "D", "N", "B", "U", "B", "B", "C", "P", "C", "P"}, monthsWide: []string{"", "Dwe mar Achiel", "Dwe mar Ariyo", "Dwe mar Adek", "Dwe mar Ang’wen", "Dwe mar Abich", "Dwe mar Auchiel", "Dwe mar Abiriyo", "Dwe mar Aboro", "Dwe mar Ochiko", "Dwe mar Apar", "Dwe mar gi achiel", "Dwe mar Apar gi ariyo"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kapok Kristo obiro", "Ka Kristo osebiro"}, - timezones: map[string]string{"UYT": "UYT", "OESZ": "OESZ", "WAT": "WAT", "PST": "PST", "ChST": "ChST", "WIT": "WIT", "MESZ": "MESZ", "GYT": "GYT", "AWST": "AWST", "HKT": "HKT", "SRT": "SRT", "AEST": "AEST", "VET": "VET", "WAST": "WAST", "EST": "EST", "GMT": "GMT", "WART": "WART", "NZDT": "NZDT", "ACST": "ACST", "SGT": "SGT", "ART": "ART", "ACDT": "ACDT", "COST": "COST", "ARST": "ARST", "ADT": "ADT", "MYT": "MYT", "JDT": "JDT", "GFT": "GFT", "ACWDT": "ACWDT", "AWDT": "AWDT", "UYST": "UYST", "OEZ": "OEZ", "COT": "COT", "WARST": "WARST", "PDT": "PDT", "WEZ": "WEZ", "IST": "IST", "AKDT": "AKDT", "EDT": "EDT", "BT": "BT", "HAT": "HAT", "CLT": "CLT", "JST": "JST", "HKST": "HKST", "CHAST": "CHAST", "MEZ": "MEZ", "WIB": "WIB", "HAST": "HAST", "EAT": "EAT", "TMT": "TMT", "CDT": "CDT", "MST": "MST", "CAT": "CAT", "LHST": "LHST", "ECT": "ECT", "ACWST": "ACWST", "AEDT": "AEDT", "MDT": "MDT", "HNT": "HNT", "CLST": "CLST", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "CHADT": "CHADT", "AKST": "AKST", "AST": "AST", "TMST": "TMST", "LHDT": "LHDT", "HADT": "HADT", "SAST": "SAST", "WITA": "WITA", "CST": "CST", "NZST": "NZST", "BOT": "BOT"}, + timezones: map[string]string{"LHST": "LHST", "NZDT": "NZDT", "TMST": "TMST", "MST": "MST", "UYST": "UYST", "PDT": "PDT", "HAT": "HAT", "AWDT": "AWDT", "IST": "IST", "TMT": "TMT", "WAST": "WAST", "SGT": "SGT", "MYT": "MYT", "ACWST": "ACWST", "HKT": "HKT", "HEPM": "HEPM", "WART": "WART", "AST": "AST", "GYT": "GYT", "VET": "VET", "WIT": "WIT", "BT": "BT", "WEZ": "WEZ", "MEZ": "MEZ", "SAST": "SAST", "JST": "JST", "WAT": "WAT", "AKST": "AKST", "HNOG": "HNOG", "HEOG": "HEOG", "ChST": "ChST", "EAT": "EAT", "EST": "EST", "WIB": "WIB", "SRT": "SRT", "MESZ": "MESZ", "NZST": "NZST", "CAT": "CAT", "OEZ": "OEZ", "ART": "ART", "HNPM": "HNPM", "AEDT": "AEDT", "WITA": "WITA", "GFT": "GFT", "WARST": "WARST", "HKST": "HKST", "CHADT": "CHADT", "JDT": "JDT", "ACDT": "ACDT", "HNPMX": "HNPMX", "CST": "CST", "PST": "PST", "LHDT": "LHDT", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HAST": "HAST", "AWST": "AWST", "ACST": "ACST", "MDT": "MDT", "ECT": "ECT", "CDT": "CDT", "CLST": "CLST", "BOT": "BOT", "HEEG": "HEEG", "GMT": "GMT", "HECU": "HECU", "AKDT": "AKDT", "HADT": "HADT", "ACWDT": "ACWDT", "AEST": "AEST", "CLT": "CLT", "OESZ": "OESZ", "HEPMX": "HEPMX", "ADT": "ADT", "WESZ": "WESZ", "HNT": "HNT", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "COT": "COT", "HENOMX": "HENOMX", "COST": "COST", "EDT": "EDT", "UYT": "UYT", "ARST": "ARST"}, } } @@ -317,7 +317,12 @@ func (luo *luo_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -331,7 +336,12 @@ func (luo *luo_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +355,12 @@ func (luo *luo_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +376,12 @@ func (luo *luo_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/luy/luy.go b/luy/luy.go index 8d5ff6926..c6dc6f059 100644 --- a/luy/luy.go +++ b/luy/luy.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Imberi ya Kuuza Kwa", "Muhiga Kuvita Kuuza"}, - timezones: map[string]string{"ACST": "ACST", "ARST": "ARST", "UYT": "UYT", "JST": "JST", "CHADT": "CHADT", "WESZ": "WESZ", "WART": "WART", "HADT": "HADT", "LHDT": "LHDT", "CHAST": "CHAST", "JDT": "JDT", "COT": "COT", "ART": "ART", "MDT": "MDT", "AWST": "AWST", "PST": "PST", "SAST": "SAST", "EST": "EST", "EDT": "EDT", "BOT": "BOT", "MEZ": "MEZ", "AST": "AST", "MST": "MST", "GFT": "GFT", "WIT": "WIT", "UYST": "UYST", "ACDT": "ACDT", "AEST": "AEST", "AKST": "AKST", "TMT": "TMT", "ChST": "ChST", "CLST": "CLST", "∅∅∅": "∅∅∅", "SGT": "SGT", "VET": "VET", "WARST": "WARST", "EAT": "EAT", "AWDT": "AWDT", "CLT": "CLT", "HKT": "HKT", "WIB": "WIB", "AEDT": "AEDT", "WAT": "WAT", "WAST": "WAST", "MYT": "MYT", "HAT": "HAT", "BT": "BT", "ADT": "ADT", "CDT": "CDT", "ECT": "ECT", "PDT": "PDT", "WEZ": "WEZ", "MESZ": "MESZ", "TMST": "TMST", "CAT": "CAT", "OESZ": "OESZ", "AKDT": "AKDT", "SRT": "SRT", "ACWDT": "ACWDT", "ACWST": "ACWST", "IST": "IST", "CST": "CST", "NZST": "NZST", "GMT": "GMT", "COST": "COST", "HAST": "HAST", "GYT": "GYT", "LHST": "LHST", "HKST": "HKST", "OEZ": "OEZ", "WITA": "WITA", "NZDT": "NZDT", "HNT": "HNT"}, + timezones: map[string]string{"SRT": "SRT", "IST": "IST", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "EST": "EST", "AKST": "AKST", "AST": "AST", "HNOG": "HNOG", "AWDT": "AWDT", "HKT": "HKT", "∅∅∅": "∅∅∅", "WARST": "WARST", "GMT": "GMT", "HECU": "HECU", "UYT": "UYT", "HAST": "HAST", "PST": "PST", "ACWDT": "ACWDT", "ARST": "ARST", "AEDT": "AEDT", "ADT": "ADT", "WIB": "WIB", "WITA": "WITA", "LHDT": "LHDT", "ChST": "ChST", "MYT": "MYT", "ACWST": "ACWST", "HNT": "HNT", "HEOG": "HEOG", "CAT": "CAT", "HENOMX": "HENOMX", "HEPM": "HEPM", "WAT": "WAT", "EDT": "EDT", "HADT": "HADT", "BT": "BT", "WESZ": "WESZ", "AEST": "AEST", "AWST": "AWST", "CDT": "CDT", "HNPMX": "HNPMX", "PDT": "PDT", "HNPM": "HNPM", "CHADT": "CHADT", "JST": "JST", "JDT": "JDT", "OEZ": "OEZ", "ART": "ART", "NZST": "NZST", "SAST": "SAST", "HEEG": "HEEG", "WAST": "WAST", "WIT": "WIT", "GFT": "GFT", "EAT": "EAT", "COT": "COT", "MDT": "MDT", "MESZ": "MESZ", "CLST": "CLST", "TMT": "TMT", "ACDT": "ACDT", "MST": "MST", "ACST": "ACST", "WART": "WART", "SGT": "SGT", "CLT": "CLT", "TMST": "TMST", "COST": "COST", "CST": "CST", "GYT": "GYT", "AKDT": "AKDT", "VET": "VET", "HAT": "HAT", "HKST": "HKST", "CHAST": "CHAST", "BOT": "BOT", "UYST": "UYST", "WEZ": "WEZ", "MEZ": "MEZ", "NZDT": "NZDT", "OESZ": "OESZ", "HEPMX": "HEPMX", "LHST": "LHST", "ECT": "ECT", "HNCU": "HNCU"}, } } @@ -322,7 +322,12 @@ func (luy *luy) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (luy *luy) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (luy *luy) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (luy *luy) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/luy_KE/luy_KE.go b/luy_KE/luy_KE.go index 687a60a90..a509ae613 100644 --- a/luy_KE/luy_KE.go +++ b/luy_KE/luy_KE.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Imberi ya Kuuza Kwa", "Muhiga Kuvita Kuuza"}, - timezones: map[string]string{"MST": "MST", "MEZ": "MEZ", "UYST": "UYST", "HKT": "HKT", "SRT": "SRT", "OEZ": "OEZ", "LHDT": "LHDT", "CHAST": "CHAST", "SGT": "SGT", "ACST": "ACST", "COST": "COST", "AEST": "AEST", "IST": "IST", "AKST": "AKST", "GYT": "GYT", "WIT": "WIT", "WEZ": "WEZ", "WAST": "WAST", "MDT": "MDT", "MYT": "MYT", "∅∅∅": "∅∅∅", "CST": "CST", "PDT": "PDT", "HKST": "HKST", "OESZ": "OESZ", "HADT": "HADT", "EAT": "EAT", "TMT": "TMT", "CDT": "CDT", "GMT": "GMT", "AEDT": "AEDT", "ART": "ART", "EST": "EST", "NZDT": "NZDT", "AWDT": "AWDT", "HAT": "HAT", "CLST": "CLST", "EDT": "EDT", "SAST": "SAST", "CHADT": "CHADT", "ECT": "ECT", "HAST": "HAST", "ACWDT": "ACWDT", "ACDT": "ACDT", "AKDT": "AKDT", "WITA": "WITA", "ChST": "ChST", "CLT": "CLT", "COT": "COT", "MESZ": "MESZ", "JST": "JST", "WARST": "WARST", "ACWST": "ACWST", "ADT": "ADT", "BOT": "BOT", "UYT": "UYT", "WESZ": "WESZ", "JDT": "JDT", "WART": "WART", "HNT": "HNT", "CAT": "CAT", "TMST": "TMST", "GFT": "GFT", "WAT": "WAT", "PST": "PST", "AST": "AST", "VET": "VET", "WIB": "WIB", "ARST": "ARST", "NZST": "NZST", "AWST": "AWST", "BT": "BT", "LHST": "LHST"}, + timezones: map[string]string{"JST": "JST", "HEEG": "HEEG", "WARST": "WARST", "COT": "COT", "SGT": "SGT", "AST": "AST", "COST": "COST", "HNOG": "HNOG", "AEST": "AEST", "MESZ": "MESZ", "LHST": "LHST", "HENOMX": "HENOMX", "MYT": "MYT", "PST": "PST", "AEDT": "AEDT", "CHADT": "CHADT", "CLT": "CLT", "BOT": "BOT", "HEPMX": "HEPMX", "UYT": "UYT", "∅∅∅": "∅∅∅", "ACST": "ACST", "EAT": "EAT", "WAT": "WAT", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "WESZ": "WESZ", "HNPM": "HNPM", "WART": "WART", "HECU": "HECU", "AKST": "AKST", "HADT": "HADT", "CAT": "CAT", "EST": "EST", "CDT": "CDT", "UYST": "UYST", "SRT": "SRT", "ARST": "ARST", "AWDT": "AWDT", "CHAST": "CHAST", "HNCU": "HNCU", "ADT": "ADT", "HAST": "HAST", "WEZ": "WEZ", "ACWST": "ACWST", "WITA": "WITA", "HKST": "HKST", "CLST": "CLST", "MDT": "MDT", "HEPM": "HEPM", "MEZ": "MEZ", "ACDT": "ACDT", "VET": "VET", "PDT": "PDT", "IST": "IST", "TMST": "TMST", "GMT": "GMT", "GYT": "GYT", "ACWDT": "ACWDT", "HKT": "HKT", "LHDT": "LHDT", "NZST": "NZST", "SAST": "SAST", "CST": "CST", "ECT": "ECT", "WIT": "WIT", "ART": "ART", "HEOG": "HEOG", "GFT": "GFT", "ChST": "ChST", "OESZ": "OESZ", "BT": "BT", "EDT": "EDT", "MST": "MST", "AWST": "AWST", "NZDT": "NZDT", "TMT": "TMT", "HNEG": "HNEG", "OEZ": "OEZ", "WAST": "WAST", "WIB": "WIB", "HNT": "HNT", "HAT": "HAT", "JDT": "JDT", "AKDT": "AKDT"}, } } @@ -322,7 +322,12 @@ func (luy *luy_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (luy *luy_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (luy *luy_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (luy *luy_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, luy.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/lv/lv.go b/lv/lv.go index 10681d02d..37d204b42 100644 --- a/lv/lv.go +++ b/lv/lv.go @@ -55,13 +55,13 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "Ls", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "Ls", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "janv.", "febr.", "marts", "apr.", "maijs", "jūn.", "jūl.", "aug.", "sept.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris"}, - daysAbbreviated: []string{"Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"}, + daysAbbreviated: []string{"svētd.", "pirmd.", "otrd.", "trešd.", "ceturtd.", "piektd.", "sestd."}, daysNarrow: []string{"S", "P", "O", "T", "C", "P", "S"}, daysShort: []string{"Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"}, daysWide: []string{"svētdiena", "pirmdiena", "otrdiena", "trešdiena", "ceturtdiena", "piektdiena", "sestdiena"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"p.m.ē.", "m.ē."}, erasNarrow: []string{"p.m.ē.", "m.ē."}, erasWide: []string{"pirms mūsu ēras", "mūsu ērā"}, - timezones: map[string]string{"ART": "Argentīnas ziemas laiks", "LHDT": "Lorda Hava salas vasaras laiks", "SRT": "Surinamas laiks", "WART": "Rietumargentīnas ziemas laiks", "AKST": "Aļaskas ziemas laiks", "WITA": "Centrālindonēzijas laiks", "PDT": "Klusā okeāna vasaras laiks", "BOT": "Bolīvijas laiks", "HNT": "Ņūfaundlendas ziemas laiks", "CLT": "Čīles ziemas laiks", "AEDT": "Austrālijas austrumu vasaras laiks", "EAT": "Austrumāfrikas laiks", "PST": "Klusā okeāna ziemas laiks", "GMT": "Griničas laiks", "JST": "Japānas ziemas laiks", "MEZ": "Centrāleiropas ziemas laiks", "MDT": "MDT", "HAT": "Ņūfaundlendas vasaras laiks", "WAT": "Rietumāfrikas ziemas laiks", "MYT": "Malaizijas laiks", "CHADT": "Četemas vasaras laiks", "AEST": "Austrālijas austrumu ziemas laiks", "WARST": "Rietumargentīnas vasaras laiks", "ADT": "Atlantijas vasaras laiks", "NZST": "Jaunzēlandes ziemas laiks", "NZDT": "Jaunzēlandes vasaras laiks", "GFT": "Franču Gviānas laiks", "ACWST": "Austrālijas centrālais rietumu ziemas laiks", "GYT": "Gajānas laiks", "WEZ": "Rietumeiropas ziemas laiks", "HKT": "Honkongas ziemas laiks", "HKST": "Honkongas vasaras laiks", "ACST": "Austrālijas centrālais ziemas laiks", "COT": "Kolumbijas ziemas laiks", "AST": "Atlantijas ziemas laiks", "CDT": "Centrālais vasaras laiks", "AWST": "Austrālijas rietumu ziemas laiks", "CLST": "Čīles vasaras laiks", "WIT": "Austrumindonēzijas laiks", "∅∅∅": "Brazīlijas vasaras laiks", "WESZ": "Rietumeiropas vasaras laiks", "ECT": "Ekvadoras laiks", "ChST": "Čamoro standarta laiks", "BT": "Butānas laiks", "AWDT": "Austrālijas rietumu vasaras laiks", "AKDT": "Aļaskas vasaras laiks", "CST": "Centrālais ziemas laiks", "JDT": "Japānas vasaras laiks", "HADT": "Havaju–Aleutu vasaras laiks", "TMT": "Turkmenistānas ziemas laiks", "EDT": "Austrumu vasaras laiks", "UYT": "Urugvajas ziemas laiks", "MESZ": "Centrāleiropas vasaras laiks", "SGT": "Singapūras laiks", "COST": "Kolumbijas vasaras laiks", "WAST": "Rietumāfrikas vasaras laiks", "IST": "Indijas ziemas laiks", "TMST": "Turkmenistānas vasaras laiks", "CAT": "Centrālāfrikas laiks", "UYST": "Urugvajas vasaras laiks", "OEZ": "Austrumeiropas ziemas laiks", "OESZ": "Austrumeiropas vasaras laiks", "ACDT": "Austrālijas centrālais vasaras laiks", "SAST": "Dienvidāfrikas ziemas laiks", "MST": "MST", "LHST": "Lorda Hava salas ziemas laiks", "WIB": "Rietumindonēzijas laiks", "ACWDT": "Austrālijas centrālais rietumu vasaras laiks", "CHAST": "Četemas ziemas laiks", "VET": "Venecuēlas laiks", "HAST": "Havaju–Aleutu ziemas laiks", "ARST": "Argentīnas vasaras laiks", "EST": "Austrumu ziemas laiks"}, + timezones: map[string]string{"CLST": "Čīles vasaras laiks", "EAT": "Austrumāfrikas laiks", "BT": "Butānas laiks", "WITA": "Centrālindonēzijas laiks", "JST": "Japānas ziemas laiks", "JDT": "Japānas vasaras laiks", "WAT": "Rietumāfrikas ziemas laiks", "LHDT": "Lorda Hava salas vasaras laiks", "SAST": "Dienvidāfrikas ziemas laiks", "MST": "MST", "HNOG": "Rietumgrenlandes ziemas laiks", "HEOG": "Rietumgrenlandes vasaras laiks", "HEPM": "Senpjēras un Mikelonas vasaras laiks", "COST": "Kolumbijas vasaras laiks", "AKDT": "Aļaskas vasaras laiks", "ADT": "Atlantijas vasaras laiks", "HADT": "Havaju–Aleutu vasaras laiks", "ARST": "Argentīnas vasaras laiks", "PST": "Klusā okeāna ziemas laiks", "BOT": "Bolīvijas laiks", "OESZ": "Austrumeiropas vasaras laiks", "ECT": "Ekvadoras laiks", "GYT": "Gajānas laiks", "EDT": "Austrumu vasaras laiks", "MDT": "MDT", "UYT": "Urugvajas ziemas laiks", "UYST": "Urugvajas vasaras laiks", "ChST": "Čamorra ziemas laiks", "HNNOMX": "Ziemeļrietumu Meksikas ziemas laiks", "WART": "Rietumargentīnas ziemas laiks", "SGT": "Singapūras laiks", "SRT": "Surinamas laiks", "HEPMX": "Meksikas Klusā okeāna piekrastes vasaras laiks", "TMT": "Turkmenistānas ziemas laiks", "TMST": "Turkmenistānas vasaras laiks", "CST": "Centrālais ziemas laiks", "WESZ": "Rietumeiropas vasaras laiks", "AEST": "Austrālijas austrumu ziemas laiks", "HNPM": "Senpjēras un Mikelonas ziemas laiks", "NZST": "Jaunzēlandes ziemas laiks", "HNEG": "Austrumgrenlandes ziemas laiks", "WEZ": "Rietumeiropas ziemas laiks", "EST": "Austrumu ziemas laiks", "AST": "Atlantijas ziemas laiks", "MYT": "Malaizijas laiks", "HAST": "Havaju–Aleutu ziemas laiks", "PDT": "Klusā okeāna vasaras laiks", "CHAST": "Četemas ziemas laiks", "IST": "Indijas ziemas laiks", "WAST": "Rietumāfrikas vasaras laiks", "ART": "Argentīnas ziemas laiks", "WIT": "Austrumindonēzijas laiks", "ACWDT": "Austrālijas centrālais rietumu vasaras laiks", "CHADT": "Četemas vasaras laiks", "MEZ": "Centrāleiropas ziemas laiks", "HENOMX": "Ziemeļrietumu Meksikas vasaras laiks", "GMT": "Griničas laiks", "HNT": "Ņūfaundlendas ziemas laiks", "HAT": "Ņūfaundlendas vasaras laiks", "NZDT": "Jaunzēlandes vasaras laiks", "∅∅∅": "Amazones vasaras laiks", "HNCU": "Kubas ziemas laiks", "AKST": "Aļaskas ziemas laiks", "CAT": "Centrālāfrikas laiks", "HECU": "Kubas vasaras laiks", "HNPMX": "Meksikas Klusā okeāna piekrastes ziemas laiks", "CDT": "Centrālais vasaras laiks", "HKST": "Honkongas vasaras laiks", "MESZ": "Centrāleiropas vasaras laiks", "HEEG": "Austrumgrenlandes vasaras laiks", "ACST": "Austrālijas centrālais ziemas laiks", "HKT": "Honkongas ziemas laiks", "OEZ": "Austrumeiropas ziemas laiks", "COT": "Kolumbijas ziemas laiks", "ACWST": "Austrālijas centrālais rietumu ziemas laiks", "AEDT": "Austrālijas austrumu vasaras laiks", "GFT": "Franču Gviānas laiks", "WARST": "Rietumargentīnas vasaras laiks", "VET": "Venecuēlas laiks", "ACDT": "Austrālijas centrālais vasaras laiks", "WIB": "Rietumindonēzijas laiks", "AWST": "Austrālijas rietumu ziemas laiks", "AWDT": "Austrālijas rietumu vasaras laiks", "LHST": "Lorda Hava salas ziemas laiks", "CLT": "Čīles ziemas laiks"}, } } @@ -102,8 +102,8 @@ func (lv *lv) CardinalPluralRule(num float64, v uint64) locales.PluralRule { f := locales.F(n, v) nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) - fMod100 := f % 100 fMod10 := f % 10 + fMod100 := f % 100 if (nMod10 == 0) || (nMod100 >= 11 && nMod100 <= 19) || (v == 2 && fMod100 >= 11 && fMod100 <= 19) { return locales.PluralRuleZero @@ -296,17 +296,30 @@ func (lv *lv) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := lv.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, lv.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(lv.group) - 1; j >= 0; j-- { + b = append(b, lv.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -343,17 +356,30 @@ func (lv *lv) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := lv.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, lv.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(lv.group) - 1; j >= 0; j-- { + b = append(b, lv.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -425,7 +451,12 @@ func (lv *lv) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -440,7 +471,12 @@ func (lv *lv) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -457,7 +493,13 @@ func (lv *lv) FmtDateFull(t time.Time) string { b = append(b, lv.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/lv_LV/lv_LV.go b/lv_LV/lv_LV.go index 5aa11a3ab..e650379b6 100644 --- a/lv_LV/lv_LV.go +++ b/lv_LV/lv_LV.go @@ -55,13 +55,13 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "janv.", "febr.", "marts", "apr.", "maijs", "jūn.", "jūl.", "aug.", "sept.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris"}, - daysAbbreviated: []string{"Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"}, + daysAbbreviated: []string{"svētd.", "pirmd.", "otrd.", "trešd.", "ceturtd.", "piektd.", "sestd."}, daysNarrow: []string{"S", "P", "O", "T", "C", "P", "S"}, daysShort: []string{"Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"}, daysWide: []string{"svētdiena", "pirmdiena", "otrdiena", "trešdiena", "ceturtdiena", "piektdiena", "sestdiena"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"p.m.ē.", "m.ē."}, erasNarrow: []string{"p.m.ē.", "m.ē."}, erasWide: []string{"pirms mūsu ēras", "mūsu ērā"}, - timezones: map[string]string{"WITA": "Centrālindonēzijas laiks", "AWDT": "Austrālijas rietumu vasaras laiks", "LHST": "Lorda Hava salas ziemas laiks", "ECT": "Ekvadoras laiks", "ACWDT": "Austrālijas centrālais rietumu vasaras laiks", "AEDT": "Austrālijas austrumu vasaras laiks", "WART": "Rietumargentīnas ziemas laiks", "ADT": "Atlantijas vasaras laiks", "MDT": "Kalnu vasaras laiks", "HNT": "Ņūfaundlendas ziemas laiks", "HAT": "Ņūfaundlendas vasaras laiks", "MESZ": "Centrāleiropas vasaras laiks", "ACDT": "Austrālijas centrālais vasaras laiks", "COT": "Kolumbijas ziemas laiks", "JST": "Japānas ziemas laiks", "GFT": "Franču Gviānas laiks", "LHDT": "Lorda Hava salas vasaras laiks", "UYST": "Urugvajas vasaras laiks", "HKST": "Honkongas vasaras laiks", "CHADT": "Četemas vasaras laiks", "AKDT": "Aļaskas vasaras laiks", "CAT": "Centrālāfrikas laiks", "CLST": "Čīles vasaras laiks", "HAST": "Havaju–Aleutu ziemas laiks", "AST": "Atlantijas ziemas laiks", "IST": "Indijas ziemas laiks", "WESZ": "Rietumeiropas vasaras laiks", "ACST": "Austrālijas centrālais ziemas laiks", "WAT": "Rietumāfrikas ziemas laiks", "GMT": "Griničas laiks", "AEST": "Austrālijas austrumu ziemas laiks", "ARST": "Argentīnas vasaras laiks", "JDT": "Japānas vasaras laiks", "BT": "Butānas laiks", "AWST": "Austrālijas rietumu ziemas laiks", "SGT": "Singapūras laiks", "AKST": "Aļaskas ziemas laiks", "EAT": "Austrumāfrikas laiks", "∅∅∅": "Peru vasaras laiks", "CLT": "Čīles ziemas laiks", "MEZ": "Centrāleiropas ziemas laiks", "HADT": "Havaju–Aleutu vasaras laiks", "EST": "Austrumu ziemas laiks", "CDT": "Centrālais vasaras laiks", "NZDT": "Jaunzēlandes vasaras laiks", "ChST": "Čamoro standarta laiks", "CHAST": "Četemas ziemas laiks", "WIB": "Rietumindonēzijas laiks", "TMST": "Turkmenistānas vasaras laiks", "CST": "Centrālais ziemas laiks", "ART": "Argentīnas ziemas laiks", "HKT": "Honkongas ziemas laiks", "EDT": "Austrumu vasaras laiks", "VET": "Venecuēlas laiks", "COST": "Kolumbijas vasaras laiks", "WARST": "Rietumargentīnas vasaras laiks", "SRT": "Surinamas laiks", "OESZ": "Austrumeiropas vasaras laiks", "TMT": "Turkmenistānas ziemas laiks", "MYT": "Malaizijas laiks", "NZST": "Jaunzēlandes ziemas laiks", "PST": "Klusā okeāna ziemas laiks", "SAST": "Dienvidāfrikas ziemas laiks", "UYT": "Urugvajas ziemas laiks", "MST": "Kalnu ziemas laiks", "BOT": "Bolīvijas laiks", "ACWST": "Austrālijas centrālais rietumu ziemas laiks", "WAST": "Rietumāfrikas vasaras laiks", "GYT": "Gajānas laiks", "WEZ": "Rietumeiropas ziemas laiks", "PDT": "Klusā okeāna vasaras laiks", "WIT": "Austrumindonēzijas laiks", "OEZ": "Austrumeiropas ziemas laiks"}, + timezones: map[string]string{"HEOG": "Rietumgrenlandes vasaras laiks", "PST": "Klusā okeāna ziemas laiks", "WART": "Rietumargentīnas ziemas laiks", "ADT": "Atlantijas vasaras laiks", "HNT": "Ņūfaundlendas ziemas laiks", "JST": "Japānas ziemas laiks", "WAST": "Rietumāfrikas vasaras laiks", "OEZ": "Austrumeiropas ziemas laiks", "SGT": "Singapūras laiks", "AEDT": "Austrālijas austrumu vasaras laiks", "CHADT": "Četemas vasaras laiks", "BOT": "Bolīvijas laiks", "WARST": "Rietumargentīnas vasaras laiks", "AKST": "Aļaskas ziemas laiks", "GYT": "Gajānas laiks", "MYT": "Malaizijas laiks", "ART": "Argentīnas ziemas laiks", "HKT": "Honkongas ziemas laiks", "IST": "Indijas ziemas laiks", "TMT": "Turkmenistānas ziemas laiks", "AST": "Atlantijas ziemas laiks", "HNEG": "Austrumgrenlandes ziemas laiks", "TMST": "Turkmenistānas vasaras laiks", "EAT": "Austrumāfrikas laiks", "HADT": "Havaju–Aleutu vasaras laiks", "AWDT": "Austrālijas rietumu vasaras laiks", "CHAST": "Četemas ziemas laiks", "CLT": "Čīles ziemas laiks", "∅∅∅": "Amazones vasaras laiks", "OESZ": "Austrumeiropas vasaras laiks", "HENOMX": "Ziemeļrietumu Meksikas vasaras laiks", "HNPMX": "Meksikas Klusā okeāna piekrastes ziemas laiks", "WIB": "Rietumindonēzijas laiks", "PDT": "Klusā okeāna vasaras laiks", "WITA": "Centrālindonēzijas laiks", "NZDT": "Jaunzēlandes vasaras laiks", "MESZ": "Centrāleiropas vasaras laiks", "CAT": "Centrālāfrikas laiks", "EDT": "Austrumu vasaras laiks", "ACWDT": "Austrālijas centrālais rietumu vasaras laiks", "HKST": "Honkongas vasaras laiks", "MEZ": "Centrāleiropas ziemas laiks", "ACDT": "Austrālijas centrālais vasaras laiks", "COST": "Kolumbijas vasaras laiks", "HNOG": "Rietumgrenlandes ziemas laiks", "AEST": "Austrālijas austrumu ziemas laiks", "LHST": "Lorda Hava salas ziemas laiks", "HNNOMX": "Ziemeļrietumu Meksikas ziemas laiks", "HECU": "Kubas vasaras laiks", "WEZ": "Rietumeiropas ziemas laiks", "HNPM": "Senpjēras un Mikelonas ziemas laiks", "NZST": "Jaunzēlandes ziemas laiks", "HEPMX": "Meksikas Klusā okeāna piekrastes vasaras laiks", "UYST": "Urugvajas vasaras laiks", "AKDT": "Aļaskas vasaras laiks", "WIT": "Austrumindonēzijas laiks", "BT": "Butānas laiks", "HEPM": "Senpjēras un Mikelonas vasaras laiks", "ECT": "Ekvadoras laiks", "HNCU": "Kubas ziemas laiks", "ARST": "Argentīnas vasaras laiks", "CLST": "Čīles vasaras laiks", "CDT": "Centrālais vasaras laiks", "EST": "Austrumu ziemas laiks", "HAST": "Havaju–Aleutu ziemas laiks", "SRT": "Surinamas laiks", "JDT": "Japānas vasaras laiks", "GMT": "Griničas laiks", "MST": "MST", "SAST": "Dienvidāfrikas ziemas laiks", "ChST": "Čamorra ziemas laiks", "ACST": "Austrālijas centrālais ziemas laiks", "COT": "Kolumbijas ziemas laiks", "MDT": "MDT", "GFT": "Franču Gviānas laiks", "CST": "Centrālais ziemas laiks", "UYT": "Urugvajas ziemas laiks", "VET": "Venecuēlas laiks", "WESZ": "Rietumeiropas vasaras laiks", "AWST": "Austrālijas rietumu ziemas laiks", "LHDT": "Lorda Hava salas vasaras laiks", "HEEG": "Austrumgrenlandes vasaras laiks", "HAT": "Ņūfaundlendas vasaras laiks", "WAT": "Rietumāfrikas ziemas laiks", "ACWST": "Austrālijas centrālais rietumu ziemas laiks"}, } } @@ -296,17 +296,30 @@ func (lv *lv_LV) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := lv.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, lv.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(lv.group) - 1; j >= 0; j-- { + b = append(b, lv.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -343,17 +356,30 @@ func (lv *lv_LV) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := lv.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, lv.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(lv.group) - 1; j >= 0; j-- { + b = append(b, lv.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -425,7 +451,12 @@ func (lv *lv_LV) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -440,7 +471,12 @@ func (lv *lv_LV) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -457,7 +493,13 @@ func (lv *lv_LV) FmtDateFull(t time.Time) string { b = append(b, lv.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e, 0x20, 0x67, 0x61, 0x64, 0x61}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/mas/mas.go b/mas/mas.go index 8eab04cbe..99de2b88b 100644 --- a/mas/mas.go +++ b/mas/mas.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Dal", "Ará", "Ɔɛn", "Doy", "Lép", "Rok", "Sás", "Bɔ́r", "Kús", "Gís", "Shʉ́", "Ntʉ́"}, @@ -62,7 +62,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MY", "EY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Meínō Yɛ́sʉ", "Eínō Yɛ́sʉ"}, - timezones: map[string]string{"AKDT": "AKDT", "NZDT": "NZDT", "AWST": "AWST", "WIT": "WIT", "COST": "COST", "EDT": "EDT", "HAT": "HAT", "WARST": "WARST", "ACWST": "ACWST", "ARST": "ARST", "PDT": "PDT", "TMST": "TMST", "NZST": "NZST", "LHST": "LHST", "WESZ": "WESZ", "SRT": "SRT", "MDT": "MDT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "OESZ": "OESZ", "ACWDT": "ACWDT", "AEDT": "AEDT", "IST": "IST", "ADT": "ADT", "MYT": "MYT", "CST": "CST", "CAT": "CAT", "UYST": "UYST", "COT": "COT", "JST": "JST", "CHADT": "CHADT", "ACST": "ACST", "SGT": "SGT", "MESZ": "MESZ", "AKST": "AKST", "PST": "PST", "EAT": "EAT", "MST": "MST", "UYT": "UYT", "GMT": "GMT", "CDT": "CDT", "JDT": "JDT", "HKT": "HKT", "ECT": "ECT", "WAT": "WAT", "WAST": "WAST", "AST": "AST", "BOT": "BOT", "LHDT": "LHDT", "HKST": "HKST", "GFT": "GFT", "WART": "WART", "SAST": "SAST", "WITA": "WITA", "HNT": "HNT", "CLT": "CLT", "CHAST": "CHAST", "MEZ": "MEZ", "AEST": "AEST", "TMT": "TMT", "GYT": "GYT", "BT": "BT", "AWDT": "AWDT", "CLST": "CLST", "WIB": "WIB", "ChST": "ChST", "OEZ": "OEZ", "ACDT": "ACDT", "ART": "ART", "HAST": "HAST", "EST": "EST", "VET": "VET", "HADT": "HADT"}, + timezones: map[string]string{"LHST": "LHST", "HEEG": "HEEG", "CAT": "CAT", "ADT": "ADT", "MYT": "MYT", "ACWDT": "ACWDT", "MEZ": "MEZ", "IST": "IST", "OEZ": "OEZ", "HKT": "HKT", "HEPM": "HEPM", "HNEG": "HNEG", "TMST": "TMST", "WIB": "WIB", "MESZ": "MESZ", "HNCU": "HNCU", "WARST": "WARST", "PST": "PST", "AEDT": "AEDT", "SAST": "SAST", "ChST": "ChST", "COT": "COT", "AKDT": "AKDT", "CDT": "CDT", "WIT": "WIT", "HNOG": "HNOG", "CLT": "CLT", "WAST": "WAST", "COST": "COST", "NZST": "NZST", "ECT": "ECT", "WAT": "WAT", "HENOMX": "HENOMX", "WART": "WART", "MDT": "MDT", "SRT": "SRT", "ARST": "ARST", "LHDT": "LHDT", "CLST": "CLST", "EAT": "EAT", "GMT": "GMT", "MST": "MST", "EDT": "EDT", "UYST": "UYST", "HEOG": "HEOG", "TMT": "TMT", "ACDT": "ACDT", "AWST": "AWST", "PDT": "PDT", "AWDT": "AWDT", "WITA": "WITA", "AEST": "AEST", "GFT": "GFT", "HECU": "HECU", "HNNOMX": "HNNOMX", "UYT": "UYT", "WEZ": "WEZ", "ACWST": "ACWST", "HAT": "HAT", "BOT": "BOT", "ACST": "ACST", "JDT": "JDT", "OESZ": "OESZ", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "CHADT": "CHADT", "∅∅∅": "∅∅∅", "GYT": "GYT", "ART": "ART", "EST": "EST", "AKST": "AKST", "JST": "JST", "HNPM": "HNPM", "BT": "BT", "WESZ": "WESZ", "HNT": "HNT", "HKST": "HKST", "SGT": "SGT", "HAST": "HAST", "CST": "CST", "AST": "AST", "VET": "VET", "HADT": "HADT", "NZDT": "NZDT", "CHAST": "CHAST"}, } } @@ -336,7 +336,12 @@ func (mas *mas) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +355,12 @@ func (mas *mas) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +374,12 @@ func (mas *mas) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -380,7 +395,12 @@ func (mas *mas) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mas_KE/mas_KE.go b/mas_KE/mas_KE.go index 5821039ef..ea074a0d2 100644 --- a/mas_KE/mas_KE.go +++ b/mas_KE/mas_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Dal", "Ará", "Ɔɛn", "Doy", "Lép", "Rok", "Sás", "Bɔ́r", "Kús", "Gís", "Shʉ́", "Ntʉ́"}, @@ -62,7 +62,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MY", "EY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Meínō Yɛ́sʉ", "Eínō Yɛ́sʉ"}, - timezones: map[string]string{"MEZ": "MEZ", "IST": "IST", "AKST": "AKST", "BT": "BT", "COT": "COT", "ACDT": "ACDT", "ACWDT": "ACWDT", "ARST": "ARST", "HAST": "HAST", "EDT": "EDT", "WIT": "WIT", "CHADT": "CHADT", "VET": "VET", "MESZ": "MESZ", "AST": "AST", "OEZ": "OEZ", "WITA": "WITA", "WAT": "WAT", "TMT": "TMT", "NZST": "NZST", "NZDT": "NZDT", "ChST": "ChST", "AWST": "AWST", "JDT": "JDT", "WART": "WART", "WEZ": "WEZ", "AEDT": "AEDT", "HADT": "HADT", "CST": "CST", "CLT": "CLT", "COST": "COST", "ADT": "ADT", "ACWST": "ACWST", "EST": "EST", "ART": "ART", "SAST": "SAST", "GYT": "GYT", "JST": "JST", "∅∅∅": "∅∅∅", "WIB": "WIB", "HAT": "HAT", "LHST": "LHST", "LHDT": "LHDT", "GFT": "GFT", "CDT": "CDT", "BOT": "BOT", "UYT": "UYT", "UYST": "UYST", "HKST": "HKST", "ECT": "ECT", "AEST": "AEST", "PST": "PST", "MDT": "MDT", "HNT": "HNT", "SGT": "SGT", "MST": "MST", "MYT": "MYT", "CLST": "CLST", "CAT": "CAT", "HKT": "HKT", "ACST": "ACST", "AKDT": "AKDT", "EAT": "EAT", "AWDT": "AWDT", "GMT": "GMT", "CHAST": "CHAST", "SRT": "SRT", "OESZ": "OESZ", "WARST": "WARST", "WAST": "WAST", "PDT": "PDT", "TMST": "TMST", "WESZ": "WESZ"}, + timezones: map[string]string{"AWDT": "AWDT", "NZST": "NZST", "HNEG": "HNEG", "LHDT": "LHDT", "ChST": "ChST", "CAT": "CAT", "ECT": "ECT", "SGT": "SGT", "HNCU": "HNCU", "HECU": "HECU", "ADT": "ADT", "HAST": "HAST", "ACWST": "ACWST", "COST": "COST", "ACST": "ACST", "GMT": "GMT", "MST": "MST", "MDT": "MDT", "ART": "ART", "NZDT": "NZDT", "HEEG": "HEEG", "TMST": "TMST", "EAT": "EAT", "WAT": "WAT", "WAST": "WAST", "HNPMX": "HNPMX", "PDT": "PDT", "ACWDT": "ACWDT", "HAT": "HAT", "AST": "AST", "HNT": "HNT", "ARST": "ARST", "JDT": "JDT", "ACDT": "ACDT", "OEZ": "OEZ", "OESZ": "OESZ", "HENOMX": "HENOMX", "CHADT": "CHADT", "VET": "VET", "SRT": "SRT", "WEZ": "WEZ", "WESZ": "WESZ", "AWST": "AWST", "HEPM": "HEPM", "LHST": "LHST", "PST": "PST", "MESZ": "MESZ", "EST": "EST", "AKST": "AKST", "WIT": "WIT", "HEOG": "HEOG", "BOT": "BOT", "COT": "COT", "WARST": "WARST", "UYST": "UYST", "WIB": "WIB", "HNOG": "HNOG", "AEDT": "AEDT", "IST": "IST", "JST": "JST", "WART": "WART", "EDT": "EDT", "AKDT": "AKDT", "HADT": "HADT", "BT": "BT", "TMT": "TMT", "HEPMX": "HEPMX", "CDT": "CDT", "HKST": "HKST", "MEZ": "MEZ", "GFT": "GFT", "UYT": "UYT", "CST": "CST", "GYT": "GYT", "AEST": "AEST", "HKT": "HKT", "HNPM": "HNPM", "SAST": "SAST", "∅∅∅": "∅∅∅", "WITA": "WITA", "CHAST": "CHAST", "CLT": "CLT", "CLST": "CLST", "MYT": "MYT", "HNNOMX": "HNNOMX"}, } } @@ -336,7 +336,12 @@ func (mas *mas_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +355,12 @@ func (mas *mas_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +374,12 @@ func (mas *mas_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -380,7 +395,12 @@ func (mas *mas_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mas_TZ/mas_TZ.go b/mas_TZ/mas_TZ.go index 0580ea093..c91af3adb 100644 --- a/mas_TZ/mas_TZ.go +++ b/mas_TZ/mas_TZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Dal", "Ará", "Ɔɛn", "Doy", "Lép", "Rok", "Sás", "Bɔ́r", "Kús", "Gís", "Shʉ́", "Ntʉ́"}, @@ -62,7 +62,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MY", "EY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Meínō Yɛ́sʉ", "Eínō Yɛ́sʉ"}, - timezones: map[string]string{"CHAST": "CHAST", "SAST": "SAST", "EST": "EST", "TMT": "TMT", "CLST": "CLST", "OEZ": "OEZ", "GFT": "GFT", "AEST": "AEST", "CST": "CST", "HAT": "HAT", "EAT": "EAT", "JDT": "JDT", "WESZ": "WESZ", "∅∅∅": "∅∅∅", "AEDT": "AEDT", "TMST": "TMST", "WIT": "WIT", "UYT": "UYT", "HNT": "HNT", "JST": "JST", "HKT": "HKT", "HKST": "HKST", "ACST": "ACST", "SGT": "SGT", "WIB": "WIB", "HAST": "HAST", "CAT": "CAT", "BT": "BT", "AWDT": "AWDT", "AST": "AST", "WEZ": "WEZ", "MEZ": "MEZ", "MESZ": "MESZ", "ACDT": "ACDT", "COT": "COT", "ECT": "ECT", "ChST": "ChST", "CLT": "CLT", "GMT": "GMT", "CDT": "CDT", "BOT": "BOT", "MYT": "MYT", "LHDT": "LHDT", "COST": "COST", "HADT": "HADT", "ARST": "ARST", "WAST": "WAST", "AKDT": "AKDT", "PDT": "PDT", "LHST": "LHST", "CHADT": "CHADT", "SRT": "SRT", "WART": "WART", "WARST": "WARST", "EDT": "EDT", "PST": "PST", "NZST": "NZST", "OESZ": "OESZ", "VET": "VET", "ACWDT": "ACWDT", "WITA": "WITA", "MST": "MST", "MDT": "MDT", "WAT": "WAT", "IST": "IST", "AWST": "AWST", "AKST": "AKST", "ADT": "ADT", "GYT": "GYT", "ACWST": "ACWST", "ART": "ART", "NZDT": "NZDT", "UYST": "UYST"}, + timezones: map[string]string{"UYST": "UYST", "HEOG": "HEOG", "PST": "PST", "LHDT": "LHDT", "EAT": "EAT", "COST": "COST", "CST": "CST", "SRT": "SRT", "AWST": "AWST", "CLST": "CLST", "EST": "EST", "CDT": "CDT", "ADT": "ADT", "WEZ": "WEZ", "MEZ": "MEZ", "JDT": "JDT", "COT": "COT", "MDT": "MDT", "HNT": "HNT", "ACWDT": "ACWDT", "HEPM": "HEPM", "∅∅∅": "∅∅∅", "TMT": "TMT", "CAT": "CAT", "AKST": "AKST", "AKDT": "AKDT", "ARST": "ARST", "HKST": "HKST", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "AEDT": "AEDT", "CLT": "CLT", "TMST": "TMST", "WAT": "WAT", "WART": "WART", "HECU": "HECU", "CHADT": "CHADT", "SAST": "SAST", "GFT": "GFT", "ChST": "ChST", "HENOMX": "HENOMX", "GMT": "GMT", "HNPMX": "HNPMX", "MYT": "MYT", "VET": "VET", "BT": "BT", "HNOG": "HNOG", "LHST": "LHST", "OEZ": "OEZ", "WAST": "WAST", "GYT": "GYT", "HNPM": "HNPM", "BOT": "BOT", "ACST": "ACST", "MST": "MST", "MESZ": "MESZ", "IST": "IST", "ART": "ART", "NZST": "NZST", "ACDT": "ACDT", "WIB": "WIB", "WIT": "WIT", "HAT": "HAT", "CHAST": "CHAST", "NZDT": "NZDT", "WARST": "WARST", "EDT": "EDT", "HADT": "HADT", "WESZ": "WESZ", "ACWST": "ACWST", "HEEG": "HEEG", "SGT": "SGT", "AST": "AST", "AEST": "AEST", "HKT": "HKT", "OESZ": "OESZ", "ECT": "ECT", "HAST": "HAST", "JST": "JST", "HNEG": "HNEG", "UYT": "UYT", "PDT": "PDT", "WITA": "WITA", "AWDT": "AWDT", "HNCU": "HNCU"}, } } @@ -336,7 +336,12 @@ func (mas *mas_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +355,12 @@ func (mas *mas_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +374,12 @@ func (mas *mas_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -380,7 +395,12 @@ func (mas *mas_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mas.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mer/mer.go b/mer/mer.go index 7f6482edf..3e4f8b3fb 100644 --- a/mer/mer.go +++ b/mer/mer.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "JAN", "FEB", "MAC", "ĨPU", "MĨĨ", "NJU", "NJR", "AGA", "SPT", "OKT", "NOV", "DEC"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "NK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristũ", "Nyuma ya Kristũ"}, - timezones: map[string]string{"CDT": "CDT", "MST": "MST", "BT": "BT", "CLST": "CLST", "OEZ": "OEZ", "AWST": "AWST", "HAT": "HAT", "COST": "COST", "PST": "PST", "TMT": "TMT", "MDT": "MDT", "WIT": "WIT", "CHADT": "CHADT", "ECT": "ECT", "IST": "IST", "CST": "CST", "UYST": "UYST", "GFT": "GFT", "COT": "COT", "MYT": "MYT", "WEZ": "WEZ", "WIB": "WIB", "PDT": "PDT", "AST": "AST", "HKST": "HKST", "MEZ": "MEZ", "ADT": "ADT", "NZST": "NZST", "GMT": "GMT", "∅∅∅": "∅∅∅", "ChST": "ChST", "CAT": "CAT", "WARST": "WARST", "EST": "EST", "SAST": "SAST", "WAT": "WAT", "TMST": "TMST", "JST": "JST", "ACWST": "ACWST", "BOT": "BOT", "CLT": "CLT", "ACWDT": "ACWDT", "AEDT": "AEDT", "WITA": "WITA", "HAST": "HAST", "WAST": "WAST", "GYT": "GYT", "ARST": "ARST", "NZDT": "NZDT", "LHDT": "LHDT", "SRT": "SRT", "CHAST": "CHAST", "ACDT": "ACDT", "HADT": "HADT", "LHST": "LHST", "WESZ": "WESZ", "VET": "VET", "ACST": "ACST", "EDT": "EDT", "ART": "ART", "JDT": "JDT", "OESZ": "OESZ", "UYT": "UYT", "HKT": "HKT", "MESZ": "MESZ", "AEST": "AEST", "AKST": "AKST", "AKDT": "AKDT", "AWDT": "AWDT", "SGT": "SGT", "WART": "WART", "EAT": "EAT", "HNT": "HNT"}, + timezones: map[string]string{"HEPM": "HEPM", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "HEPMX": "HEPMX", "CDT": "CDT", "WIT": "WIT", "LHST": "LHST", "COT": "COT", "HAST": "HAST", "HAT": "HAT", "PST": "PST", "TMST": "TMST", "HNEG": "HNEG", "HEEG": "HEEG", "EST": "EST", "AKST": "AKST", "HNOG": "HNOG", "PDT": "PDT", "WEZ": "WEZ", "ACWDT": "ACWDT", "WITA": "WITA", "AWDT": "AWDT", "NZDT": "NZDT", "HNNOMX": "HNNOMX", "HECU": "HECU", "ARST": "ARST", "ACWST": "ACWST", "WART": "WART", "HADT": "HADT", "BT": "BT", "ART": "ART", "JST": "JST", "ChST": "ChST", "ACDT": "ACDT", "UYT": "UYT", "VET": "VET", "HEOG": "HEOG", "AEST": "AEST", "AEDT": "AEDT", "HNPM": "HNPM", "ACST": "ACST", "CAT": "CAT", "MDT": "MDT", "ADT": "ADT", "MEZ": "MEZ", "CLT": "CLT", "BOT": "BOT", "EAT": "EAT", "WARST": "WARST", "GMT": "GMT", "SRT": "SRT", "MESZ": "MESZ", "LHDT": "LHDT", "TMT": "TMT", "EDT": "EDT", "MYT": "MYT", "HKST": "HKST", "NZST": "NZST", "WAST": "WAST", "HNCU": "HNCU", "GYT": "GYT", "UYST": "UYST", "WESZ": "WESZ", "HKT": "HKT", "CHADT": "CHADT", "WAT": "WAT", "CLST": "CLST", "OEZ": "OEZ", "OESZ": "OESZ", "AWST": "AWST", "JDT": "JDT", "COST": "COST", "CST": "CST", "GFT": "GFT", "HNPMX": "HNPMX", "AKDT": "AKDT", "WIB": "WIB", "HNT": "HNT", "SAST": "SAST", "ECT": "ECT", "HENOMX": "HENOMX", "AST": "AST", "IST": "IST", "SGT": "SGT", "MST": "MST"}, } } @@ -330,7 +330,12 @@ func (mer *mer) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (mer *mer) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (mer *mer) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (mer *mer) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mer_KE/mer_KE.go b/mer_KE/mer_KE.go index 586a15c10..4a398fefd 100644 --- a/mer_KE/mer_KE.go +++ b/mer_KE/mer_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "JAN", "FEB", "MAC", "ĨPU", "MĨĨ", "NJU", "NJR", "AGA", "SPT", "OKT", "NOV", "DEC"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MK", "NK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Kristũ", "Nyuma ya Kristũ"}, - timezones: map[string]string{"WITA": "WITA", "GYT": "GYT", "LHST": "LHST", "WIT": "WIT", "MESZ": "MESZ", "ECT": "ECT", "AEST": "AEST", "WAT": "WAT", "PDT": "PDT", "BT": "BT", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "WART": "WART", "EAT": "EAT", "CAT": "CAT", "GMT": "GMT", "AKDT": "AKDT", "MYT": "MYT", "MST": "MST", "ADT": "ADT", "HAT": "HAT", "NZDT": "NZDT", "CHADT": "CHADT", "ACDT": "ACDT", "WARST": "WARST", "SAST": "SAST", "WAST": "WAST", "IST": "IST", "MDT": "MDT", "EST": "EST", "ChST": "ChST", "UYST": "UYST", "WEZ": "WEZ", "CHAST": "CHAST", "AKST": "AKST", "TMST": "TMST", "CST": "CST", "NZST": "NZST", "ACWST": "ACWST", "ACWDT": "ACWDT", "ACST": "ACST", "SRT": "SRT", "AEDT": "AEDT", "CLT": "CLT", "CLST": "CLST", "UYT": "UYT", "JDT": "JDT", "WIB": "WIB", "AST": "AST", "BOT": "BOT", "JST": "JST", "AWDT": "AWDT", "SGT": "SGT", "COT": "COT", "ART": "ART", "ARST": "ARST", "EDT": "EDT", "CDT": "CDT", "LHDT": "LHDT", "OEZ": "OEZ", "HKT": "HKT", "GFT": "GFT", "TMT": "TMT", "AWST": "AWST", "VET": "VET", "HAST": "HAST", "PST": "PST", "HNT": "HNT", "HKST": "HKST", "MEZ": "MEZ", "COST": "COST", "HADT": "HADT", "WESZ": "WESZ"}, + timezones: map[string]string{"CDT": "CDT", "PDT": "PDT", "WEZ": "WEZ", "MESZ": "MESZ", "ACDT": "ACDT", "HENOMX": "HENOMX", "MYT": "MYT", "WITA": "WITA", "HEEG": "HEEG", "WARST": "WARST", "HNNOMX": "HNNOMX", "UYST": "UYST", "AKDT": "AKDT", "WIB": "WIB", "WART": "WART", "GMT": "GMT", "HADT": "HADT", "CLST": "CLST", "EAT": "EAT", "ART": "ART", "WAT": "WAT", "OESZ": "OESZ", "ECT": "ECT", "HEPMX": "HEPMX", "ADT": "ADT", "BT": "BT", "WESZ": "WESZ", "ACWDT": "ACWDT", "WAST": "WAST", "CHADT": "CHADT", "TMST": "TMST", "HNT": "HNT", "OEZ": "OEZ", "EDT": "EDT", "HNPMX": "HNPMX", "VET": "VET", "HKST": "HKST", "IST": "IST", "TMT": "TMT", "CAT": "CAT", "HAT": "HAT", "CHAST": "CHAST", "WIT": "WIT", "PST": "PST", "CLT": "CLT", "MST": "MST", "MDT": "MDT", "ACWST": "ACWST", "JDT": "JDT", "GFT": "GFT", "COST": "COST", "AKST": "AKST", "CST": "CST", "AST": "AST", "HKT": "HKT", "HNEG": "HNEG", "HECU": "HECU", "EST": "EST", "UYT": "UYT", "GYT": "GYT", "HEOG": "HEOG", "AWST": "AWST", "HNPM": "HNPM", "HEPM": "HEPM", "SGT": "SGT", "NZDT": "NZDT", "HNCU": "HNCU", "ARST": "ARST", "AEST": "AEST", "AWDT": "AWDT", "ACST": "ACST", "∅∅∅": "∅∅∅", "AEDT": "AEDT", "SAST": "SAST", "BOT": "BOT", "HNOG": "HNOG", "SRT": "SRT", "NZST": "NZST", "ChST": "ChST", "HAST": "HAST", "MEZ": "MEZ", "LHST": "LHST", "LHDT": "LHDT", "JST": "JST", "COT": "COT"}, } } @@ -330,7 +330,12 @@ func (mer *mer_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -344,7 +349,12 @@ func (mer *mer_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +368,12 @@ func (mer *mer_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -374,7 +389,12 @@ func (mer *mer_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mer.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mfe/mfe.go b/mfe/mfe.go index 8cb86030d..493cbf1ac 100644 --- a/mfe/mfe.go +++ b/mfe/mfe.go @@ -52,7 +52,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. Z-K", "ap. Z-K"}, erasNarrow: []string{"", ""}, erasWide: []string{"avan Zezi-Krist", "apre Zezi-Krist"}, - timezones: map[string]string{"OESZ": "OESZ", "NZST": "NZST", "CLT": "CLT", "AWST": "AWST", "HKST": "HKST", "ACST": "ACST", "ACDT": "ACDT", "ECT": "ECT", "TMST": "TMST", "UYST": "UYST", "JST": "JST", "EST": "EST", "EAT": "EAT", "WIT": "WIT", "CLST": "CLST", "GMT": "GMT", "ART": "ART", "BOT": "BOT", "BT": "BT", "∅∅∅": "∅∅∅", "HKT": "HKT", "CHAST": "CHAST", "HADT": "HADT", "JDT": "JDT", "CHADT": "CHADT", "MEZ": "MEZ", "COT": "COT", "COST": "COST", "ADT": "ADT", "SAST": "SAST", "CDT": "CDT", "GFT": "GFT", "PST": "PST", "TMT": "TMT", "WAST": "WAST", "IST": "IST", "AWDT": "AWDT", "HAT": "HAT", "VET": "VET", "AEST": "AEST", "EDT": "EDT", "WAT": "WAT", "AKST": "AKST", "WEZ": "WEZ", "WARST": "WARST", "ChST": "ChST", "LHST": "LHST", "SGT": "SGT", "ACWST": "ACWST", "PDT": "PDT", "AKDT": "AKDT", "MST": "MST", "WESZ": "WESZ", "MYT": "MYT", "MDT": "MDT", "CAT": "CAT", "UYT": "UYT", "SRT": "SRT", "MESZ": "MESZ", "ACWDT": "ACWDT", "AST": "AST", "WITA": "WITA", "NZDT": "NZDT", "WART": "WART", "CST": "CST", "GYT": "GYT", "OEZ": "OEZ", "WIB": "WIB", "HAST": "HAST", "AEDT": "AEDT", "ARST": "ARST", "HNT": "HNT", "LHDT": "LHDT"}, + timezones: map[string]string{"TMT": "TMT", "ACST": "ACST", "ADT": "ADT", "WIT": "WIT", "SRT": "SRT", "HNPM": "HNPM", "MEZ": "MEZ", "LHDT": "LHDT", "WAT": "WAT", "GMT": "GMT", "ACWDT": "ACWDT", "GFT": "GFT", "PDT": "PDT", "BOT": "BOT", "SGT": "SGT", "ARST": "ARST", "LHST": "LHST", "CAT": "CAT", "ECT": "ECT", "AKDT": "AKDT", "CDT": "CDT", "WESZ": "WESZ", "HEOG": "HEOG", "WAST": "WAST", "HENOMX": "HENOMX", "AST": "AST", "HKT": "HKT", "SAST": "SAST", "EAT": "EAT", "MST": "MST", "HEPMX": "HEPMX", "MYT": "MYT", "HADT": "HADT", "∅∅∅": "∅∅∅", "WART": "WART", "COST": "COST", "CST": "CST", "WIB": "WIB", "CHAST": "CHAST", "CHADT": "CHADT", "HAT": "HAT", "CLT": "CLT", "TMST": "TMST", "WARST": "WARST", "MDT": "MDT", "UYST": "UYST", "HAST": "HAST", "ACWST": "ACWST", "ART": "ART", "AEST": "AEST", "JDT": "JDT", "HNCU": "HNCU", "HNPMX": "HNPMX", "VET": "VET", "BT": "BT", "IST": "IST", "HNEG": "HNEG", "HEEG": "HEEG", "HNOG": "HNOG", "ChST": "ChST", "ACDT": "ACDT", "OEZ": "OEZ", "OESZ": "OESZ", "COT": "COT", "HKST": "HKST", "NZST": "NZST", "HNNOMX": "HNNOMX", "EST": "EST", "AKST": "AKST", "PST": "PST", "WITA": "WITA", "HEPM": "HEPM", "JST": "JST", "EDT": "EDT", "UYT": "UYT", "GYT": "GYT", "WEZ": "WEZ", "HNT": "HNT", "AEDT": "AEDT", "AWST": "AWST", "AWDT": "AWDT", "MESZ": "MESZ", "NZDT": "NZDT", "CLST": "CLST", "HECU": "HECU"}, } } @@ -296,7 +296,12 @@ func (mfe *mfe) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -310,7 +315,12 @@ func (mfe *mfe) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -324,7 +334,12 @@ func (mfe *mfe) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +355,12 @@ func (mfe *mfe) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mfe_MU/mfe_MU.go b/mfe_MU/mfe_MU.go index b55482b4c..25440e57e 100644 --- a/mfe_MU/mfe_MU.go +++ b/mfe_MU/mfe_MU.go @@ -52,7 +52,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"av. Z-K", "ap. Z-K"}, erasNarrow: []string{"", ""}, erasWide: []string{"avan Zezi-Krist", "apre Zezi-Krist"}, - timezones: map[string]string{"HKST": "HKST", "MESZ": "MESZ", "ACST": "ACST", "CST": "CST", "HAT": "HAT", "WESZ": "WESZ", "ARST": "ARST", "WARST": "WARST", "JST": "JST", "CHADT": "CHADT", "PDT": "PDT", "AST": "AST", "CDT": "CDT", "VET": "VET", "COST": "COST", "AEDT": "AEDT", "ART": "ART", "WART": "WART", "GYT": "GYT", "MYT": "MYT", "HNT": "HNT", "WEZ": "WEZ", "WIB": "WIB", "∅∅∅": "∅∅∅", "CAT": "CAT", "GMT": "GMT", "GFT": "GFT", "COT": "COT", "ACWDT": "ACWDT", "ADT": "ADT", "LHDT": "LHDT", "SRT": "SRT", "EST": "EST", "TMT": "TMT", "JDT": "JDT", "OESZ": "OESZ", "ECT": "ECT", "ACWST": "ACWST", "NZDT": "NZDT", "LHST": "LHST", "AKDT": "AKDT", "AWDT": "AWDT", "TMST": "TMST", "UYT": "UYT", "UYST": "UYST", "HADT": "HADT", "ChST": "ChST", "HKT": "HKT", "WAT": "WAT", "AKST": "AKST", "MST": "MST", "BOT": "BOT", "CHAST": "CHAST", "NZST": "NZST", "AWST": "AWST", "OEZ": "OEZ", "MEZ": "MEZ", "AEST": "AEST", "EDT": "EDT", "EAT": "EAT", "WITA": "WITA", "IST": "IST", "BT": "BT", "CLST": "CLST", "WAST": "WAST", "MDT": "MDT", "WIT": "WIT", "CLT": "CLT", "ACDT": "ACDT", "SGT": "SGT", "HAST": "HAST", "PST": "PST", "SAST": "SAST"}, + timezones: map[string]string{"AEDT": "AEDT", "CHAST": "CHAST", "CLT": "CLT", "HEEG": "HEEG", "ACDT": "ACDT", "OESZ": "OESZ", "HEOG": "HEOG", "HKT": "HKT", "VET": "VET", "AKDT": "AKDT", "HADT": "HADT", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "ADT": "ADT", "MEZ": "MEZ", "WAST": "WAST", "JST": "JST", "ChST": "ChST", "ACST": "ACST", "ECT": "ECT", "EAT": "EAT", "WART": "WART", "ACWDT": "ACWDT", "IST": "IST", "WARST": "WARST", "SGT": "SGT", "MST": "MST", "∅∅∅": "∅∅∅", "BOT": "BOT", "GMT": "GMT", "WIT": "WIT", "BT": "BT", "SRT": "SRT", "HNT": "HNT", "AWST": "AWST", "COST": "COST", "HECU": "HECU", "CDT": "CDT", "AST": "AST", "MYT": "MYT", "HEPM": "HEPM", "HNEG": "HNEG", "WITA": "WITA", "SAST": "SAST", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "EDT": "EDT", "ARST": "ARST", "HKST": "HKST", "WAT": "WAT", "CAT": "CAT", "AKST": "AKST", "WIB": "WIB", "HAST": "HAST", "WEZ": "WEZ", "LHST": "LHST", "MESZ": "MESZ", "UYT": "UYT", "LHDT": "LHDT", "GYT": "GYT", "HAT": "HAT", "HNPM": "HNPM", "WESZ": "WESZ", "AWDT": "AWDT", "NZDT": "NZDT", "CLST": "CLST", "UYST": "UYST", "ART": "ART", "PST": "PST", "HNOG": "HNOG", "TMT": "TMT", "GFT": "GFT", "OEZ": "OEZ", "COT": "COT", "MDT": "MDT", "CST": "CST", "PDT": "PDT", "CHADT": "CHADT", "TMST": "TMST", "EST": "EST", "AEST": "AEST", "JDT": "JDT", "HENOMX": "HENOMX", "ACWST": "ACWST", "NZST": "NZST"}, } } @@ -296,7 +296,12 @@ func (mfe *mfe_MU) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -310,7 +315,12 @@ func (mfe *mfe_MU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -324,7 +334,12 @@ func (mfe *mfe_MU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +355,12 @@ func (mfe *mfe_MU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mfe.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mg/mg.go b/mg/mg.go index 79237cd9a..107076b26 100644 --- a/mg/mg.go +++ b/mg/mg.go @@ -42,22 +42,32 @@ type mg struct { // New returns a new instance of translator for the 'mg' locale func New() locales.Translator { return &mg{ - locale: "mg", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: nil, - pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mey", "Jon", "Jol", "Aog", "Sep", "Okt", "Nov", "Des"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Janoary", "Febroary", "Martsa", "Aprily", "Mey", "Jona", "Jolay", "Aogositra", "Septambra", "Oktobra", "Novambra", "Desambra"}, - daysAbbreviated: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, - daysNarrow: []string{"A", "A", "T", "A", "A", "Z", "A"}, - daysWide: []string{"Alahady", "Alatsinainy", "Talata", "Alarobia", "Alakamisy", "Zoma", "Asabotsy"}, - erasAbbreviated: []string{"BC", "AD"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"Alohan’i JK", "Aorian’i JK"}, - timezones: map[string]string{"BT": "BT", "MEZ": "MEZ", "AEDT": "AEDT", "CST": "CST", "JST": "JST", "CHADT": "CHADT", "WIB": "WIB", "WARST": "WARST", "ADT": "ADT", "CLST": "CLST", "WIT": "WIT", "HKST": "HKST", "SRT": "SRT", "WEZ": "WEZ", "ACWDT": "ACWDT", "AST": "AST", "VET": "VET", "HAST": "HAST", "MST": "MST", "BOT": "BOT", "UYT": "UYT", "JDT": "JDT", "OESZ": "OESZ", "COT": "COT", "HADT": "HADT", "WAST": "WAST", "AEST": "AEST", "AKST": "AKST", "ARST": "ARST", "CDT": "CDT", "MDT": "MDT", "NZDT": "NZDT", "OEZ": "OEZ", "ECT": "ECT", "ACWST": "ACWST", "ART": "ART", "MYT": "MYT", "LHST": "LHST", "EAT": "EAT", "EDT": "EDT", "TMT": "TMT", "GYT": "GYT", "GMT": "GMT", "HKT": "HKT", "WART": "WART", "PST": "PST", "PDT": "PDT", "NZST": "NZST", "GFT": "GFT", "AKDT": "AKDT", "WITA": "WITA", "CAT": "CAT", "AWDT": "AWDT", "HAT": "HAT", "MESZ": "MESZ", "SAST": "SAST", "WAT": "WAT", "CLT": "CLT", "WESZ": "WESZ", "UYST": "UYST", "EST": "EST", "IST": "IST", "ChST": "ChST", "AWST": "AWST", "HNT": "HNT", "CHAST": "CHAST", "ACST": "ACST", "COST": "COST", "LHDT": "LHDT", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "SGT": "SGT", "TMST": "TMST"}, + locale: "mg", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mey", "Jon", "Jol", "Aog", "Sep", "Okt", "Nov", "Des"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Janoary", "Febroary", "Martsa", "Aprily", "Mey", "Jona", "Jolay", "Aogositra", "Septambra", "Oktobra", "Novambra", "Desambra"}, + daysAbbreviated: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, + daysNarrow: []string{"A", "A", "T", "A", "A", "Z", "A"}, + daysShort: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, + daysWide: []string{"Alahady", "Alatsinainy", "Talata", "Alarobia", "Alakamisy", "Zoma", "Asabotsy"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BC", "AD"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"Alohan’i JK", "Aorian’i JK"}, + timezones: map[string]string{"ChST": "ChST", "CAT": "CAT", "VET": "VET", "ART": "ART", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "UYST": "UYST", "HKT": "HKT", "CDT": "CDT", "MYT": "MYT", "WIT": "WIT", "SRT": "SRT", "ACWDT": "ACWDT", "HNT": "HNT", "HAT": "HAT", "HNOG": "HNOG", "CLST": "CLST", "COT": "COT", "HKST": "HKST", "ARST": "ARST", "NZST": "NZST", "WIB": "WIB", "HADT": "HADT", "OESZ": "OESZ", "WART": "WART", "GMT": "GMT", "EST": "EST", "EDT": "EDT", "HAST": "HAST", "LHST": "LHST", "SAST": "SAST", "ACDT": "ACDT", "WAST": "WAST", "MDT": "MDT", "AKDT": "AKDT", "GYT": "GYT", "BT": "BT", "JDT": "JDT", "ACST": "ACST", "ECT": "ECT", "AWST": "AWST", "MST": "MST", "HEPM": "HEPM", "CLT": "CLT", "TMT": "TMT", "ADT": "ADT", "UYT": "UYT", "WAT": "WAT", "CST": "CST", "EAT": "EAT", "HNCU": "HNCU", "AKST": "AKST", "AEDT": "AEDT", "HNPM": "HNPM", "CHAST": "CHAST", "MEZ": "MEZ", "BOT": "BOT", "HEEG": "HEEG", "COST": "COST", "HEPMX": "HEPMX", "HEOG": "HEOG", "PST": "PST", "PDT": "PDT", "NZDT": "NZDT", "MESZ": "MESZ", "WITA": "WITA", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "AST": "AST", "AEST": "AEST", "LHDT": "LHDT", "IST": "IST", "WARST": "WARST", "HECU": "HECU", "SGT": "SGT", "WEZ": "WEZ", "WESZ": "WESZ", "CHADT": "CHADT", "GFT": "GFT", "HNPMX": "HNPMX", "ACWST": "ACWST", "JST": "JST", "TMST": "TMST"}, } } @@ -176,13 +186,73 @@ func (mg *mg) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'mg' and handles both Whole and Real numbers based on 'v' func (mg *mg) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, mg.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, mg.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, mg.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'mg' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (mg *mg) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, mg.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, mg.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, mg.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'mg' @@ -190,7 +260,7 @@ func (mg *mg) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := mg.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -248,7 +318,7 @@ func (mg *mg) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := mg.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -313,11 +383,27 @@ func (mg *mg) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -327,11 +413,16 @@ func (mg *mg) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mg.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -345,7 +436,12 @@ func (mg *mg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +457,12 @@ func (mg *mg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mg_MG/mg_MG.go b/mg_MG/mg_MG.go index 582d3e14c..c8378bf6c 100644 --- a/mg_MG/mg_MG.go +++ b/mg_MG/mg_MG.go @@ -42,22 +42,32 @@ type mg_MG struct { // New returns a new instance of translator for the 'mg_MG' locale func New() locales.Translator { return &mg_MG{ - locale: "mg_MG", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: nil, - pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mey", "Jon", "Jol", "Aog", "Sep", "Okt", "Nov", "Des"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Janoary", "Febroary", "Martsa", "Aprily", "Mey", "Jona", "Jolay", "Aogositra", "Septambra", "Oktobra", "Novambra", "Desambra"}, - daysAbbreviated: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, - daysNarrow: []string{"A", "A", "T", "A", "A", "Z", "A"}, - daysWide: []string{"Alahady", "Alatsinainy", "Talata", "Alarobia", "Alakamisy", "Zoma", "Asabotsy"}, - erasAbbreviated: []string{"BC", "AD"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"Alohan’i JK", "Aorian’i JK"}, - timezones: map[string]string{"TMT": "TMT", "WESZ": "WESZ", "HAST": "HAST", "AST": "AST", "PST": "PST", "WIT": "WIT", "CHADT": "CHADT", "OESZ": "OESZ", "EAT": "EAT", "WAST": "WAST", "CAT": "CAT", "HKT": "HKT", "ART": "ART", "WART": "WART", "BOT": "BOT", "MST": "MST", "UYST": "UYST", "AWST": "AWST", "SGT": "SGT", "CDT": "CDT", "ChST": "ChST", "GFT": "GFT", "OEZ": "OEZ", "COT": "COT", "ADT": "ADT", "MDT": "MDT", "CLST": "CLST", "AWDT": "AWDT", "HKST": "HKST", "EDT": "EDT", "PDT": "PDT", "HAT": "HAT", "∅∅∅": "∅∅∅", "GMT": "GMT", "AKST": "AKST", "CST": "CST", "SRT": "SRT", "VET": "VET", "MESZ": "MESZ", "AEST": "AEST", "AEDT": "AEDT", "AKDT": "AKDT", "TMST": "TMST", "BT": "BT", "CHAST": "CHAST", "HADT": "HADT", "SAST": "SAST", "NZST": "NZST", "NZDT": "NZDT", "WEZ": "WEZ", "IST": "IST", "WAT": "WAT", "MYT": "MYT", "GYT": "GYT", "UYT": "UYT", "ECT": "ECT", "ACDT": "ACDT", "EST": "EST", "JST": "JST", "LHDT": "LHDT", "WARST": "WARST", "LHST": "LHST", "COST": "COST", "ACWDT": "ACWDT", "WITA": "WITA", "CLT": "CLT", "MEZ": "MEZ", "ACST": "ACST", "ARST": "ARST", "ACWST": "ACWST", "HNT": "HNT", "JDT": "JDT", "WIB": "WIB"}, + locale: "mg_MG", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "Mey", "Jon", "Jol", "Aog", "Sep", "Okt", "Nov", "Des"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Janoary", "Febroary", "Martsa", "Aprily", "Mey", "Jona", "Jolay", "Aogositra", "Septambra", "Oktobra", "Novambra", "Desambra"}, + daysAbbreviated: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, + daysNarrow: []string{"A", "A", "T", "A", "A", "Z", "A"}, + daysShort: []string{"Alah", "Alats", "Tal", "Alar", "Alak", "Zom", "Asab"}, + daysWide: []string{"Alahady", "Alatsinainy", "Talata", "Alarobia", "Alakamisy", "Zoma", "Asabotsy"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BC", "AD"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"Alohan’i JK", "Aorian’i JK"}, + timezones: map[string]string{"HEOG": "HEOG", "LHDT": "LHDT", "HAST": "HAST", "HADT": "HADT", "HEPM": "HEPM", "EST": "EST", "HNPMX": "HNPMX", "MDT": "MDT", "ACWST": "ACWST", "AEST": "AEST", "SAST": "SAST", "HEEG": "HEEG", "NZST": "NZST", "NZDT": "NZDT", "SGT": "SGT", "UYT": "UYT", "JDT": "JDT", "WIT": "WIT", "HNOG": "HNOG", "PST": "PST", "AEDT": "AEDT", "MEZ": "MEZ", "CST": "CST", "AKDT": "AKDT", "WITA": "WITA", "MESZ": "MESZ", "JST": "JST", "CAT": "CAT", "EAT": "EAT", "HAT": "HAT", "PDT": "PDT", "AWDT": "AWDT", "CLT": "CLT", "HNEG": "HNEG", "HENOMX": "HENOMX", "EDT": "EDT", "ADT": "ADT", "WIB": "WIB", "MST": "MST", "SRT": "SRT", "CHADT": "CHADT", "OEZ": "OEZ", "MYT": "MYT", "UYST": "UYST", "AST": "AST", "BT": "BT", "IST": "IST", "BOT": "BOT", "ACST": "ACST", "WART": "WART", "ECT": "ECT", "HNNOMX": "HNNOMX", "WARST": "WARST", "HNT": "HNT", "ART": "ART", "ARST": "ARST", "HKST": "HKST", "TMST": "TMST", "WESZ": "WESZ", "AWST": "AWST", "∅∅∅": "∅∅∅", "AKST": "AKST", "GYT": "GYT", "VET": "VET", "WEZ": "WEZ", "COST": "COST", "HNCU": "HNCU", "HECU": "HECU", "CDT": "CDT", "ACWDT": "ACWDT", "HKT": "HKT", "CHAST": "CHAST", "LHST": "LHST", "OESZ": "OESZ", "ChST": "ChST", "ACDT": "ACDT", "GMT": "GMT", "WAST": "WAST", "COT": "COT", "HEPMX": "HEPMX", "HNPM": "HNPM", "CLST": "CLST", "GFT": "GFT", "TMT": "TMT", "WAT": "WAT"}, } } @@ -176,13 +186,73 @@ func (mg *mg_MG) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'mg_MG' and handles both Whole and Real numbers based on 'v' func (mg *mg_MG) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, mg.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, mg.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, mg.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'mg_MG' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (mg *mg_MG) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, mg.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, mg.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, mg.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'mg_MG' @@ -190,7 +260,7 @@ func (mg *mg_MG) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := mg.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -248,7 +318,7 @@ func (mg *mg_MG) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := mg.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -313,11 +383,27 @@ func (mg *mg_MG) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -327,11 +413,16 @@ func (mg *mg_MG) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mg.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -345,7 +436,12 @@ func (mg *mg_MG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -361,7 +457,12 @@ func (mg *mg_MG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mgh/mgh.go b/mgh/mgh.go index 8ff17acec..0df8e75c5 100644 --- a/mgh/mgh.go +++ b/mgh/mgh.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"HY", "YY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hinapiya yesu", "Yopia yesu"}, - timezones: map[string]string{"EAT": "EAT", "MDT": "MDT", "WESZ": "WESZ", "MEZ": "MEZ", "AKDT": "AKDT", "NZST": "NZST", "JST": "JST", "SAST": "SAST", "AKST": "AKST", "WITA": "WITA", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "ACWDT": "ACWDT", "WIB": "WIB", "HAST": "HAST", "ACWST": "ACWST", "ART": "ART", "MST": "MST", "MYT": "MYT", "OEZ": "OEZ", "VET": "VET", "HKST": "HKST", "ADT": "ADT", "CLST": "CLST", "ARST": "ARST", "IST": "IST", "PST": "PST", "HNT": "HNT", "WAST": "WAST", "CDT": "CDT", "UYT": "UYT", "ACST": "ACST", "COT": "COT", "COST": "COST", "AST": "AST", "EST": "EST", "TMST": "TMST", "LHST": "LHST", "SRT": "SRT", "MESZ": "MESZ", "PDT": "PDT", "TMT": "TMT", "ChST": "ChST", "CAT": "CAT", "WARST": "WARST", "AEDT": "AEDT", "WAT": "WAT", "HAT": "HAT", "SGT": "SGT", "EDT": "EDT", "GYT": "GYT", "CLT": "CLT", "LHDT": "LHDT", "HKT": "HKT", "WART": "WART", "HADT": "HADT", "ACDT": "ACDT", "CST": "CST", "AWST": "AWST", "AWDT": "AWDT", "GMT": "GMT", "UYST": "UYST", "WEZ": "WEZ", "CHAST": "CHAST", "AEST": "AEST", "BOT": "BOT", "BT": "BT", "WIT": "WIT", "CHADT": "CHADT", "GFT": "GFT", "ECT": "ECT", "JDT": "JDT", "NZDT": "NZDT"}, + timezones: map[string]string{"TMT": "TMT", "MDT": "MDT", "ACWDT": "ACWDT", "AWST": "AWST", "HKT": "HKT", "CHADT": "CHADT", "CLT": "CLT", "WAT": "WAT", "OESZ": "OESZ", "WARST": "WARST", "HEPMX": "HEPMX", "∅∅∅": "∅∅∅", "EDT": "EDT", "MST": "MST", "HAST": "HAST", "LHST": "LHST", "NZST": "NZST", "HNPM": "HNPM", "HEPM": "HEPM", "ARST": "ARST", "IST": "IST", "JDT": "JDT", "ACDT": "ACDT", "AKST": "AKST", "CDT": "CDT", "MYT": "MYT", "HADT": "HADT", "ART": "ART", "MESZ": "MESZ", "ACST": "ACST", "EST": "EST", "AST": "AST", "COST": "COST", "BT": "BT", "AWDT": "AWDT", "JST": "JST", "TMST": "TMST", "EAT": "EAT", "GMT": "GMT", "HECU": "HECU", "PST": "PST", "GFT": "GFT", "COT": "COT", "HENOMX": "HENOMX", "HNT": "HNT", "HAT": "HAT", "AEST": "AEST", "OEZ": "OEZ", "HNCU": "HNCU", "AEDT": "AEDT", "HKST": "HKST", "WESZ": "WESZ", "ACWST": "ACWST", "SGT": "SGT", "HNPMX": "HNPMX", "AKDT": "AKDT", "GYT": "GYT", "WIB": "WIB", "PDT": "PDT", "HEOG": "HEOG", "HNOG": "HNOG", "CLST": "CLST", "HEEG": "HEEG", "UYST": "UYST", "CST": "CST", "ADT": "ADT", "SRT": "SRT", "SAST": "SAST", "HNEG": "HNEG", "WART": "WART", "VET": "VET", "WIT": "WIT", "HNNOMX": "HNNOMX", "WEZ": "WEZ", "MEZ": "MEZ", "CHAST": "CHAST", "ChST": "ChST", "BOT": "BOT", "WAST": "WAST", "ECT": "ECT", "LHDT": "LHDT", "NZDT": "NZDT", "CAT": "CAT", "UYT": "UYT", "WITA": "WITA"}, } } @@ -309,7 +309,12 @@ func (mgh *mgh) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -323,7 +328,12 @@ func (mgh *mgh) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -337,7 +347,12 @@ func (mgh *mgh) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -353,7 +368,12 @@ func (mgh *mgh) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mgh_MZ/mgh_MZ.go b/mgh_MZ/mgh_MZ.go index 95f8348a3..3e23de3fe 100644 --- a/mgh_MZ/mgh_MZ.go +++ b/mgh_MZ/mgh_MZ.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"HY", "YY"}, erasNarrow: []string{"", ""}, erasWide: []string{"Hinapiya yesu", "Yopia yesu"}, - timezones: map[string]string{"JDT": "JDT", "ACDT": "ACDT", "SGT": "SGT", "EST": "EST", "CDT": "CDT", "MDT": "MDT", "AKDT": "AKDT", "WIT": "WIT", "PST": "PST", "GYT": "GYT", "GMT": "GMT", "OESZ": "OESZ", "WITA": "WITA", "∅∅∅": "∅∅∅", "HKT": "HKT", "HKST": "HKST", "ECT": "ECT", "ADT": "ADT", "TMT": "TMT", "AWDT": "AWDT", "SRT": "SRT", "WEZ": "WEZ", "WIB": "WIB", "MESZ": "MESZ", "AST": "AST", "CAT": "CAT", "CLST": "CLST", "UYST": "UYST", "HAST": "HAST", "PDT": "PDT", "ChST": "ChST", "WART": "WART", "SAST": "SAST", "IST": "IST", "EDT": "EDT", "HAT": "HAT", "WESZ": "WESZ", "ACST": "ACST", "COT": "COT", "VET": "VET", "WAST": "WAST", "AWST": "AWST", "HNT": "HNT", "JST": "JST", "AEST": "AEST", "TMST": "TMST", "MYT": "MYT", "LHST": "LHST", "OEZ": "OEZ", "AKST": "AKST", "COST": "COST", "AEDT": "AEDT", "EAT": "EAT", "CST": "CST", "NZST": "NZST", "NZDT": "NZDT", "GFT": "GFT", "BOT": "BOT", "UYT": "UYT", "ACWDT": "ACWDT", "ART": "ART", "ARST": "ARST", "WAT": "WAT", "LHDT": "LHDT", "CHAST": "CHAST", "CHADT": "CHADT", "MEZ": "MEZ", "HADT": "HADT", "ACWST": "ACWST", "BT": "BT", "CLT": "CLT", "WARST": "WARST", "MST": "MST"}, + timezones: map[string]string{"WITA": "WITA", "HEPM": "HEPM", "GFT": "GFT", "WARST": "WARST", "ADT": "ADT", "HADT": "HADT", "HNOG": "HNOG", "OESZ": "OESZ", "CDT": "CDT", "HAST": "HAST", "HEPMX": "HEPMX", "EDT": "EDT", "GYT": "GYT", "ACWST": "ACWST", "LHDT": "LHDT", "HEEG": "HEEG", "SGT": "SGT", "BT": "BT", "HKST": "HKST", "HKT": "HKT", "EAT": "EAT", "WAST": "WAST", "HEOG": "HEOG", "NZDT": "NZDT", "CAT": "CAT", "AKST": "AKST", "ACWDT": "ACWDT", "AEST": "AEST", "OEZ": "OEZ", "HNPMX": "HNPMX", "AST": "AST", "LHST": "LHST", "WAT": "WAT", "WESZ": "WESZ", "MESZ": "MESZ", "WIT": "WIT", "AWDT": "AWDT", "IST": "IST", "CLT": "CLT", "JST": "JST", "MST": "MST", "UYT": "UYT", "VET": "VET", "JDT": "JDT", "HNT": "HNT", "AEDT": "AEDT", "ChST": "ChST", "MDT": "MDT", "CST": "CST", "PST": "PST", "EST": "EST", "MYT": "MYT", "SRT": "SRT", "ARST": "ARST", "MEZ": "MEZ", "ECT": "ECT", "COT": "COT", "HECU": "HECU", "CHAST": "CHAST", "SAST": "SAST", "HNEG": "HNEG", "WIB": "WIB", "HAT": "HAT", "BOT": "BOT", "TMT": "TMT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "HNCU": "HNCU", "HNPM": "HNPM", "NZST": "NZST", "CHADT": "CHADT", "CLST": "CLST", "TMST": "TMST", "ACDT": "ACDT", "GMT": "GMT", "PDT": "PDT", "WEZ": "WEZ", "AWST": "AWST", "WART": "WART", "UYST": "UYST", "AKDT": "AKDT", "ART": "ART", "ACST": "ACST", "∅∅∅": "∅∅∅", "COST": "COST"}, } } @@ -309,7 +309,12 @@ func (mgh *mgh_MZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -323,7 +328,12 @@ func (mgh *mgh_MZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -337,7 +347,12 @@ func (mgh *mgh_MZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -353,7 +368,12 @@ func (mgh *mgh_MZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mgo/mgo.go b/mgo/mgo.go index 9e831417a..672c7c05d 100644 --- a/mgo/mgo.go +++ b/mgo/mgo.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "mbegtug", "imeg àbùbì", "imeg mbəŋchubi", "iməg ngwə̀t", "iməg fog", "iməg ichiibɔd", "iməg àdùmbə̀ŋ", "iməg ichika", "iməg kud", "iməg tèsiʼe", "iməg zò", "iməg krizmed"}, @@ -70,7 +70,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AEST": "AEST", "EAT": "EAT", "OEZ": "OEZ", "COT": "COT", "WITA": "WITA", "HAT": "HAT", "JST": "JST", "CHADT": "CHADT", "WIB": "WIB", "ADT": "ADT", "MESZ": "MESZ", "CDT": "CDT", "HNT": "HNT", "GMT": "GMT", "LHST": "LHST", "HKST": "HKST", "HAST": "HAST", "CST": "CST", "CLST": "CLST", "WESZ": "WESZ", "WART": "WART", "PDT": "PDT", "AST": "AST", "GFT": "GFT", "EDT": "EDT", "MST": "MST", "NZST": "NZST", "CAT": "CAT", "UYT": "UYT", "UYST": "UYST", "CHAST": "CHAST", "SRT": "SRT", "MEZ": "MEZ", "MDT": "MDT", "AWST": "AWST", "ARST": "ARST", "WARST": "WARST", "WAT": "WAT", "EST": "EST", "AWDT": "AWDT", "WEZ": "WEZ", "HKT": "HKT", "∅∅∅": "∅∅∅", "ECT": "ECT", "WAST": "WAST", "GYT": "GYT", "ACWDT": "ACWDT", "NZDT": "NZDT", "BT": "BT", "CLT": "CLT", "WIT": "WIT", "HADT": "HADT", "IST": "IST", "BOT": "BOT", "JDT": "JDT", "OESZ": "OESZ", "ACDT": "ACDT", "SGT": "SGT", "COST": "COST", "ACWST": "ACWST", "TMST": "TMST", "LHDT": "LHDT", "ACST": "ACST", "AKDT": "AKDT", "TMT": "TMT", "AKST": "AKST", "MYT": "MYT", "ChST": "ChST", "VET": "VET", "AEDT": "AEDT", "ART": "ART", "SAST": "SAST", "PST": "PST"}, + timezones: map[string]string{"WART": "WART", "CDT": "CDT", "GYT": "GYT", "AEDT": "AEDT", "HNPM": "HNPM", "EAT": "EAT", "EST": "EST", "HNPMX": "HNPMX", "HNT": "HNT", "HAT": "HAT", "AWDT": "AWDT", "HEEG": "HEEG", "ACST": "ACST", "CHADT": "CHADT", "CST": "CST", "ADT": "ADT", "AEST": "AEST", "OESZ": "OESZ", "EDT": "EDT", "AST": "AST", "WEZ": "WEZ", "AWST": "AWST", "LHDT": "LHDT", "CLST": "CLST", "∅∅∅": "∅∅∅", "WAT": "WAT", "HNCU": "HNCU", "HNOG": "HNOG", "ChST": "ChST", "ACDT": "ACDT", "MST": "MST", "WIT": "WIT", "ACWST": "ACWST", "HKST": "HKST", "COT": "COT", "GMT": "GMT", "MYT": "MYT", "HAST": "HAST", "JDT": "JDT", "GFT": "GFT", "HNEG": "HNEG", "IST": "IST", "BOT": "BOT", "HNNOMX": "HNNOMX", "AKST": "AKST", "VET": "VET", "PDT": "PDT", "WESZ": "WESZ", "MEZ": "MEZ", "MESZ": "MESZ", "HENOMX": "HENOMX", "ACWDT": "ACWDT", "HEPM": "HEPM", "NZST": "NZST", "CLT": "CLT", "CHAST": "CHAST", "OEZ": "OEZ", "CAT": "CAT", "WARST": "WARST", "SGT": "SGT", "ARST": "ARST", "WITA": "WITA", "HKT": "HKT", "JST": "JST", "TMT": "TMT", "COST": "COST", "MDT": "MDT", "HADT": "HADT", "HEOG": "HEOG", "PST": "PST", "SAST": "SAST", "WAST": "WAST", "HECU": "HECU", "UYST": "UYST", "AKDT": "AKDT", "ART": "ART", "LHST": "LHST", "NZDT": "NZDT", "ECT": "ECT", "HEPMX": "HEPMX", "WIB": "WIB", "TMST": "TMST", "UYT": "UYT", "BT": "BT", "SRT": "SRT"}, } } @@ -398,7 +398,12 @@ func (mgo *mgo) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -423,7 +428,12 @@ func (mgo *mgo) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -437,7 +447,12 @@ func (mgo *mgo) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -453,7 +468,13 @@ func (mgo *mgo) FmtDateFull(t time.Time) string { b = append(b, mgo.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/mgo_CM/mgo_CM.go b/mgo_CM/mgo_CM.go index 9fcd8e26b..9f82821b6 100644 --- a/mgo_CM/mgo_CM.go +++ b/mgo_CM/mgo_CM.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "mbegtug", "imeg àbùbì", "imeg mbəŋchubi", "iməg ngwə̀t", "iməg fog", "iməg ichiibɔd", "iməg àdùmbə̀ŋ", "iməg ichika", "iməg kud", "iməg tèsiʼe", "iməg zò", "iməg krizmed"}, @@ -70,7 +70,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HADT": "HADT", "AEDT": "AEDT", "BT": "BT", "AWDT": "AWDT", "UYT": "UYT", "UYST": "UYST", "CHADT": "CHADT", "MEZ": "MEZ", "SGT": "SGT", "ARST": "ARST", "AWST": "AWST", "WAST": "WAST", "CST": "CST", "AST": "AST", "GMT": "GMT", "MDT": "MDT", "OEZ": "OEZ", "HKST": "HKST", "HAST": "HAST", "AKDT": "AKDT", "CAT": "CAT", "COST": "COST", "EDT": "EDT", "OESZ": "OESZ", "WESZ": "WESZ", "AKST": "AKST", "WIT": "WIT", "∅∅∅": "∅∅∅", "ACWDT": "ACWDT", "SAST": "SAST", "CLST": "CLST", "WART": "WART", "WEZ": "WEZ", "SRT": "SRT", "LHDT": "LHDT", "HAT": "HAT", "CLT": "CLT", "JDT": "JDT", "HKT": "HKT", "ART": "ART", "WARST": "WARST", "EAT": "EAT", "BOT": "BOT", "PDT": "PDT", "PST": "PST", "ACDT": "ACDT", "AEST": "AEST", "WITA": "WITA", "MYT": "MYT", "NZST": "NZST", "IST": "IST", "TMT": "TMT", "GYT": "GYT", "NZDT": "NZDT", "JST": "JST", "ACST": "ACST", "WIB": "WIB", "WAT": "WAT", "LHST": "LHST", "ECT": "ECT", "VET": "VET", "ACWST": "ACWST", "ADT": "ADT", "TMST": "TMST", "CHAST": "CHAST", "ChST": "ChST", "COT": "COT", "MST": "MST", "GFT": "GFT", "MESZ": "MESZ", "EST": "EST", "CDT": "CDT", "HNT": "HNT"}, + timezones: map[string]string{"OEZ": "OEZ", "ACWST": "ACWST", "HAT": "HAT", "ARST": "ARST", "HKST": "HKST", "WITA": "WITA", "TMST": "TMST", "WAT": "WAT", "WART": "WART", "AWST": "AWST", "AST": "AST", "JST": "JST", "ChST": "ChST", "HEPMX": "HEPMX", "SGT": "SGT", "BT": "BT", "SRT": "SRT", "PDT": "PDT", "HNOG": "HNOG", "ACDT": "ACDT", "ECT": "ECT", "HENOMX": "HENOMX", "CST": "CST", "BOT": "BOT", "VET": "VET", "WIT": "WIT", "PST": "PST", "LHDT": "LHDT", "CHAST": "CHAST", "CHADT": "CHADT", "CLT": "CLT", "GFT": "GFT", "TMT": "TMT", "GMT": "GMT", "UYT": "UYT", "MYT": "MYT", "EAT": "EAT", "GYT": "GYT", "AKDT": "AKDT", "HADT": "HADT", "AEST": "AEST", "HKT": "HKT", "HEPM": "HEPM", "SAST": "SAST", "IST": "IST", "HNCU": "HNCU", "CDT": "CDT", "ACWDT": "ACWDT", "JDT": "JDT", "WAST": "WAST", "∅∅∅": "∅∅∅", "CAT": "CAT", "WARST": "WARST", "UYST": "UYST", "AEDT": "AEDT", "MEZ": "MEZ", "COST": "COST", "AWDT": "AWDT", "MESZ": "MESZ", "ACST": "ACST", "ADT": "ADT", "MDT": "MDT", "HAST": "HAST", "HNT": "HNT", "LHST": "LHST", "HECU": "HECU", "MST": "MST", "NZDT": "NZDT", "EDT": "EDT", "WEZ": "WEZ", "HNPM": "HNPM", "CLST": "CLST", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "WIB": "WIB", "WESZ": "WESZ", "HEOG": "HEOG", "HNEG": "HNEG", "EST": "EST", "AKST": "AKST", "ART": "ART", "NZST": "NZST", "OESZ": "OESZ", "COT": "COT"}, } } @@ -398,7 +398,12 @@ func (mgo *mgo_CM) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -423,7 +428,12 @@ func (mgo *mgo_CM) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -437,7 +447,12 @@ func (mgo *mgo_CM) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -453,7 +468,13 @@ func (mgo *mgo_CM) FmtDateFull(t time.Time) string { b = append(b, mgo.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mgo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/mk/mk.go b/mk/mk.go index e96ca0ac1..7d2efd360 100644 --- a/mk/mk.go +++ b/mk/mk.go @@ -22,8 +22,8 @@ type mk struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "ден", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "ден", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "јан.", "фев.", "мар.", "апр.", "мај", "јун.", "јул.", "авг.", "септ.", "окт.", "ноем.", "дек."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"}, daysAbbreviated: []string{"нед.", "пон.", "вт.", "сре.", "чет.", "пет.", "саб."}, daysNarrow: []string{"н", "п", "в", "с", "ч", "п", "с"}, - daysShort: []string{"нед.", "пон.", "вт.", "сре.", "чет.", "пет.", "саб."}, + daysShort: []string{"нед.", "пон.", "вто.", "сре.", "чет.", "пет.", "саб."}, daysWide: []string{"недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"}, - periodsAbbreviated: []string{"претпладне", "попладне"}, - periodsNarrow: []string{"прет.", "попл."}, + periodsAbbreviated: []string{"претпл.", "попл."}, + periodsNarrow: []string{"претпл.", "попл."}, periodsWide: []string{"претпладне", "попладне"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"пр.н.е.", "н.е."}, erasWide: []string{"пред нашата ера", "од нашата ера"}, - timezones: map[string]string{"HAST": "Стандардно време во Хаваи - Алеутски острови", "VET": "Време во Венецуела", "MESZ": "Средноевропско летно време", "TMT": "Стандардно време во Туркменистан", "HAT": "Летно сметање на времето на Њуфаундленд", "ACST": "Стандардно време во Централна Австралија", "ARST": "Летно сметање на времето во Аргентина", "ACWDT": "Летно сметање на времето во Централна и Западна Австралија", "JST": "Стандардно време во Јапонија", "AEDT": "Летно сметање на времето во Источна Австралија", "PST": "Пацифичко стандардно време", "AST": "Атлантско стандардно време", "HNT": "Стандардно време на Њуфаундленд", "AEST": "Стандардно време во Источна Австралија", "WAST": "Западноафриканско летно сметање на времето", "CHAST": "Стандардно време во Четем", "ART": "Стандардно време во Аргентина", "MEZ": "Средноевропско стандардно време", "CHADT": "Летно сметање на времето во Четем", "ECT": "Време во Еквадор", "SAST": "Време во Јужноафриканска Република", "BOT": "Време во Боливија", "ACDT": "Летно сметање на времето во Централна Австралија", "WARST": "Летно сметање на времето во западна Аргентина", "HKT": "Стандардно време во Хонг Конг", "SRT": "Време во Суринам", "WART": "Стандардно време во западна Аргентина", "ADT": "Атлантско летно сметање на времето", "MYT": "Време во Малезија", "AWST": "Стандардно време во Западна Австралија", "UYT": "Стандардно време во Уругвај", "WIB": "Време во Западна Индонезија", "CLST": "Летно сметање на времето во Чиле", "OESZ": "Источноевропско летно време", "EAT": "Источноафриканско време", "WITA": "Време во Централна Индонезија", "NZDT": "Летно сметање на времето во Нов Зеланд", "WIT": "Време во Источна Индонезија", "LHDT": "Летно сметање на времето во Лорд Хау", "GMT": "Средно време по Гринич", "OEZ": "Источноевропско стандардно време", "HADT": "Летно сметање на времето во Хаваи - Алеутски острови", "WAT": "Западноафриканско стандардно време", "PDT": "Пацифичко летно сметање на времето", "NZST": "Стандардно време во Нов Зеланд", "AWDT": "Летно сметање на времето во Западна Австралија", "CLT": "Стандардно време во Чиле", "WESZ": "Западноевропско летно време", "SGT": "Време во Сингапур", "EST": "Источно стандардно време", "MST": "Планинско стандардно време", "MDT": "Планинско летно сметање на времето", "∅∅∅": "Летно сметање на времето во Бразилија", "WEZ": "Западноевропско стандардно време", "TMST": "Летно време во Туркменистан", "GYT": "Време во Гвајана", "CAT": "Средноафриканско време", "COT": "Стандардно време во Колумбија", "LHST": "Стандардно време во Лорд Хау", "HKST": "Летно време во Хонг Конг", "IST": "Време во Индија", "AKST": "Стандардно време во Аљаска", "AKDT": "Летно сметање на времето во Аљаска", "UYST": "Летно сметање на времето во Уругвај", "JDT": "Летно сметање на времето во Јапонија", "CDT": "Централно летно сметање на времето", "ChST": "Време во Чаморо", "COST": "Летно сметање на времето во Колумбија", "EDT": "Источно летно сметање на времето", "ACWST": "Стандардно време во Централна и Западна Австралија", "CST": "Централно стандардно време во Северна Америка", "BT": "Време во Бутан", "GFT": "Време во Француска Гвајана"}, + timezones: map[string]string{"AST": "Атлантско стандардно време", "WIB": "Време во Западна Индонезија", "ART": "Стандардно време во Аргентина", "AWST": "Стандардно време во Западна Австралија", "WART": "Стандардно време во западна Аргентина", "GYT": "Време во Гвајана", "MDT": "MDT", "UYST": "Летно сметање на времето во Уругвај", "HAST": "Стандардно време во Хаваи - Алеутски острови", "HADT": "Летно сметање на времето во Хаваи - Алеутски острови", "WIT": "Време во Источна Индонезија", "HKT": "Стандардно време во Хонг Конг", "BOT": "Време во Боливија", "ACST": "Стандардно време во Централна Австралија", "JST": "Стандардно време во Јапонија", "ACDT": "Летно сметање на времето во Централна Австралија", "ECT": "Време во Еквадор", "AKDT": "Летно сметање на времето во Аљаска", "ACWST": "Стандардно време во Централна и Западна Австралија", "ACWDT": "Летно сметање на времето во Централна и Западна Австралија", "ARST": "Летно сметање на времето во Аргентина", "ChST": "Време во Чаморо", "HEEG": "Летно сметање на времето во Источен Гренланд", "CHADT": "Летно сметање на времето во Четем", "MESZ": "Средноевропско летно време", "LHDT": "Летно сметање на времето во Лорд Хау", "JDT": "Летно сметање на времето во Јапонија", "EST": "Источно стандардно време", "MYT": "Време во Малезија", "NZST": "Стандардно време во Нов Зеланд", "GFT": "Време во Француска Гвајана", "HNCU": "Стандардно време во Куба", "EAT": "Источноафриканско време", "COT": "Стандардно време во Колумбија", "EDT": "Источно летно сметање на времето", "SAST": "Време во Јужноафриканска Република", "CLT": "Стандардно време во Чиле", "HNEG": "Стандардно време во Источен Гренланд", "TMST": "Летно време во Туркменистан", "AEST": "Стандардно време во Источна Австралија", "AWDT": "Летно сметање на времето во Западна Австралија", "CAT": "Средноафриканско време", "HNPMX": "Стандардно тихоокеанско време во Мексико", "HNNOMX": "Стандардно време во северозападно Мексико", "HEPMX": "Летно тихоокеанско време во Мексико", "NZDT": "Летно сметање на времето во Нов Зеланд", "∅∅∅": "Летно сметање на времето во Перу", "OEZ": "Источноевропско стандардно време", "ADT": "Атлантско летно сметање на времето", "VET": "Време во Венецуела", "HEOG": "Летно сметање на времето во Западен Гренланд", "WAT": "Западноафриканско стандардно време", "AKST": "Стандардно време во Аљаска", "HNT": "Стандардно време на Њуфаундленд", "LHST": "Стандардно време во Лорд Хау", "IST": "Време во Индија", "TMT": "Стандардно време во Туркменистан", "SGT": "Време во Сингапур", "PDT": "Пацифичко летно сметање на времето", "WEZ": "Западноевропско стандардно време", "WESZ": "Западноевропско летно време", "CHAST": "Стандардно време во Четем", "SRT": "Време во Суринам", "HNOG": "Стандардно време во Западен Гренланд", "CST": "Централно стандардно време во Северна Америка", "CDT": "Централно летно сметање на времето", "WITA": "Време во Централна Индонезија", "WARST": "Летно сметање на времето во западна Аргентина", "COST": "Летно сметање на времето во Колумбија", "GMT": "Средно време по Гринич", "UYT": "Стандардно време во Уругвај", "HAT": "Летно сметање на времето на Њуфаундленд", "HNPM": "Стандардно време на Сент Пјер и Микелан", "CLST": "Летно сметање на времето во Чиле", "OESZ": "Источноевропско летно време", "HENOMX": "Летно сметање на времето во северозападно Мексико", "PST": "Пацифичко стандардно време", "AEDT": "Летно сметање на времето во Источна Австралија", "HECU": "Летно сметање на времето во Куба", "BT": "Време во Бутан", "HKST": "Летно време во Хонг Конг", "HEPM": "Летно сметање на времето на Сент Пјер и Микелан", "MEZ": "Средноевропско стандардно време", "WAST": "Западноафриканско летно сметање на времето", "MST": "MST"}, } } @@ -116,8 +116,8 @@ func (mk *mk) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod100 := i % 100 iMod10 := i % 10 + iMod100 := i % 100 if iMod10 == 1 && iMod100 != 11 { return locales.PluralRuleOne @@ -307,14 +307,6 @@ func (mk *mk) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, mk.minus[0]) } @@ -335,6 +327,10 @@ func (mk *mk) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, mk.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -371,26 +367,8 @@ func (mk *mk) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyNegativePrefix[j]) - } - b = append(b, mk.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyPositivePrefix[j]) - } - } // reverse @@ -409,6 +387,15 @@ func (mk *mk) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } + if num < 0 { + b = append(b, mk.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, mk.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -448,7 +435,12 @@ func (mk *mk) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +458,12 @@ func (mk *mk) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -487,7 +484,12 @@ func (mk *mk) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mk_MK/mk_MK.go b/mk_MK/mk_MK.go index ab9bfc649..1f3cefc0d 100644 --- a/mk_MK/mk_MK.go +++ b/mk_MK/mk_MK.go @@ -22,8 +22,8 @@ type mk_MK struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "јан.", "фев.", "мар.", "апр.", "мај", "јун.", "јул.", "авг.", "септ.", "окт.", "ноем.", "дек."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"}, daysAbbreviated: []string{"нед.", "пон.", "вт.", "сре.", "чет.", "пет.", "саб."}, daysNarrow: []string{"н", "п", "в", "с", "ч", "п", "с"}, - daysShort: []string{"нед.", "пон.", "вт.", "сре.", "чет.", "пет.", "саб."}, + daysShort: []string{"нед.", "пон.", "вто.", "сре.", "чет.", "пет.", "саб."}, daysWide: []string{"недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"}, - periodsAbbreviated: []string{"претпладне", "попладне"}, - periodsNarrow: []string{"прет.", "попл."}, + periodsAbbreviated: []string{"претпл.", "попл."}, + periodsNarrow: []string{"претпл.", "попл."}, periodsWide: []string{"претпладне", "попладне"}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"пр.н.е.", "н.е."}, erasWide: []string{"пред нашата ера", "од нашата ера"}, - timezones: map[string]string{"SAST": "Време во Јужноафриканска Република", "IST": "Време во Индија", "WITA": "Време во Централна Индонезија", "WIB": "Време во Западна Индонезија", "WARST": "Летно сметање на времето во западна Аргентина", "AKST": "Стандардно време во Аљаска", "SRT": "Време во Суринам", "ECT": "Време во Еквадор", "ART": "Стандардно време во Аргентина", "COT": "Стандардно време во Колумбија", "VET": "Време во Венецуела", "PDT": "Пацифичко летно сметање на времето", "WAST": "Западноафриканско летно сметање на времето", "GYT": "Време во Гвајана", "CAT": "Средноафриканско време", "ACWST": "Стандардно време во Централна и Западна Австралија", "EDT": "Источно летно сметање на времето", "TMT": "Стандардно време во Туркменистан", "MDT": "Планинско летно сметање на времето", "LHDT": "Летно сметање на времето во Лорд Хау", "JDT": "Летно сметање на времето во Јапонија", "UYT": "Стандардно време во Уругвај", "JST": "Стандардно време во Јапонија", "AEDT": "Летно сметање на времето во Источна Австралија", "WART": "Стандардно време во западна Аргентина", "ADT": "Атлантско летно сметање на времето", "NZDT": "Летно сметање на времето во Нов Зеланд", "BT": "Време во Бутан", "WIT": "Време во Источна Индонезија", "SGT": "Време во Сингапур", "COST": "Летно сметање на времето во Колумбија", "ACDT": "Летно сметање на времето во Централна Австралија", "CDT": "Централно летно сметање на времето", "AWDT": "Летно сметање на времето во Западна Австралија", "HNT": "Стандардно време на Њуфаундленд", "HAT": "Летно сметање на времето на Њуфаундленд", "HKST": "Летно време во Хонг Конг", "MEZ": "Средноевропско стандардно време", "AEST": "Стандардно време во Источна Австралија", "PST": "Пацифичко стандардно време", "NZST": "Стандардно време во Нов Зеланд", "AST": "Атлантско стандардно време", "MYT": "Време во Малезија", "CLT": "Стандардно време во Чиле", "GFT": "Време во Француска Гвајана", "ARST": "Летно сметање на времето во Аргентина", "EAT": "Источноафриканско време", "GMT": "Средно време по Гринич", "CHADT": "Летно сметање на времето во Четем", "WESZ": "Западноевропско летно време", "ACWDT": "Летно сметање на времето во Централна и Западна Австралија", "AWST": "Стандардно време во Западна Австралија", "LHST": "Стандардно време во Лорд Хау", "MESZ": "Средноевропско летно време", "HAST": "Стандардно време во Хаваи - Алеутски острови", "AKDT": "Летно сметање на времето во Аљаска", "MST": "Планинско стандардно време", "OESZ": "Источноевропско летно време", "HKT": "Стандардно време во Хонг Конг", "WAT": "Западноафриканско стандардно време", "∅∅∅": "Летно сметање на времето во Перу", "ChST": "Време во Чаморо", "BOT": "Време во Боливија", "WEZ": "Западноевропско стандардно време", "CLST": "Летно сметање на времето во Чиле", "UYST": "Летно сметање на времето во Уругвај", "ACST": "Стандардно време во Централна Австралија", "HADT": "Летно сметање на времето во Хаваи - Алеутски острови", "EST": "Источно стандардно време", "TMST": "Летно време во Туркменистан", "CST": "Централно стандардно време во Северна Америка", "OEZ": "Источноевропско стандардно време", "CHAST": "Стандардно време во Четем"}, + timezones: map[string]string{"HNNOMX": "Стандардно време во северозападно Мексико", "UYST": "Летно сметање на времето во Уругвај", "LHST": "Стандардно време во Лорд Хау", "SAST": "Време во Јужноафриканска Република", "AWST": "Стандардно време во Западна Австралија", "NZST": "Стандардно време во Нов Зеланд", "CHAST": "Стандардно време во Четем", "MDT": "MDT", "UYT": "Стандардно време во Уругвај", "CST": "Централно стандардно време во Северна Америка", "WEZ": "Западноевропско стандардно време", "ACWST": "Стандардно време во Централна и Западна Австралија", "AWDT": "Летно сметање на времето во Западна Австралија", "HNPM": "Стандардно време на Сент Пјер и Микелан", "MESZ": "Средноевропско летно време", "IST": "Време во Индија", "HEOG": "Летно сметање на времето во Западен Гренланд", "CAT": "Средноафриканско време", "HECU": "Летно сметање на времето во Куба", "AKST": "Стандардно време во Аљаска", "ADT": "Атлантско летно сметање на времето", "ART": "Стандардно време во Аргентина", "MEZ": "Средноевропско стандардно време", "WIT": "Време во Источна Индонезија", "HEEG": "Летно сметање на времето во Источен Гренланд", "WIB": "Време во Западна Индонезија", "JDT": "Летно сметање на времето во Јапонија", "TMST": "Летно време во Туркменистан", "ACDT": "Летно сметање на времето во Централна Австралија", "COST": "Летно сметање на времето во Колумбија", "HEPMX": "Летно тихоокеанско време во Мексико", "CDT": "Централно летно сметање на времето", "VET": "Време во Венецуела", "LHDT": "Летно сметање на времето во Лорд Хау", "HNOG": "Стандардно време во Западен Гренланд", "CLST": "Летно сметање на времето во Чиле", "WART": "Стандардно време во западна Аргентина", "COT": "Стандардно време во Колумбија", "HENOMX": "Летно сметање на времето во северозападно Мексико", "BT": "Време во Бутан", "WESZ": "Западноевропско летно време", "MST": "MST", "SRT": "Време во Суринам", "GFT": "Време во Француска Гвајана", "WAST": "Западноафриканско летно сметање на времето", "OEZ": "Источноевропско стандардно време", "HNPMX": "Стандардно тихоокеанско време во Мексико", "MYT": "Време во Малезија", "HADT": "Летно сметање на времето во Хаваи - Алеутски острови", "HKST": "Летно време во Хонг Конг", "NZDT": "Летно сметање на времето во Нов Зеланд", "HAST": "Стандардно време во Хаваи - Алеутски острови", "AEST": "Стандардно време во Источна Австралија", "HEPM": "Летно сметање на времето на Сент Пјер и Микелан", "CLT": "Стандардно време во Чиле", "PST": "Пацифичко стандардно време", "WITA": "Време во Централна Индонезија", "ChST": "Време во Чаморо", "TMT": "Стандардно време во Туркменистан", "HKT": "Стандардно време во Хонг Конг", "HNEG": "Стандардно време во Источен Гренланд", "ACST": "Стандардно време во Централна Австралија", "GMT": "Средно време по Гринич", "HNCU": "Стандардно време во Куба", "∅∅∅": "Акре летно сметање на времето", "HNT": "Стандардно време на Њуфаундленд", "HAT": "Летно сметање на времето на Њуфаундленд", "AEDT": "Летно сметање на времето во Источна Австралија", "JST": "Стандардно време во Јапонија", "WAT": "Западноафриканско стандардно време", "WARST": "Летно сметање на времето во западна Аргентина", "EDT": "Источно летно сметање на времето", "AST": "Атлантско стандардно време", "PDT": "Пацифичко летно сметање на времето", "ARST": "Летно сметање на времето во Аргентина", "OESZ": "Источноевропско летно време", "CHADT": "Летно сметање на времето во Четем", "BOT": "Време во Боливија", "EAT": "Источноафриканско време", "SGT": "Време во Сингапур", "EST": "Источно стандардно време", "AKDT": "Летно сметање на времето во Аљаска", "GYT": "Време во Гвајана", "ACWDT": "Летно сметање на времето во Централна и Западна Австралија", "ECT": "Време во Еквадор"}, } } @@ -307,14 +307,6 @@ func (mk *mk_MK) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, mk.minus[0]) } @@ -335,6 +327,10 @@ func (mk *mk_MK) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, mk.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -371,26 +367,8 @@ func (mk *mk_MK) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyNegativePrefix[j]) - } - b = append(b, mk.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(mk.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, mk.currencyPositivePrefix[j]) - } - } // reverse @@ -409,6 +387,15 @@ func (mk *mk_MK) FmtAccounting(num float64, v uint64, currency currency.Type) st } } + if num < 0 { + b = append(b, mk.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, mk.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -448,7 +435,12 @@ func (mk *mk_MK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,7 +458,12 @@ func (mk *mk_MK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -487,7 +484,12 @@ func (mk *mk_MK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ml/ml.go b/ml/ml.go index 7297c4dc0..2fc5d9476 100644 --- a/ml/ml.go +++ b/ml/ml.go @@ -55,11 +55,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ജനു", "ഫെബ്രു", "മാർ", "ഏപ്രി", "മേയ്", "ജൂൺ", "ജൂലൈ", "ഓഗ", "സെപ്റ്റം", "ഒക്ടോ", "നവം", "ഡിസം"}, - monthsNarrow: []string{"", "ജ", "ഫ", "മാ", "ഏ", "മെ", "ജൂ", "ജൂ", "ഓ", "സ", "ഒ", "ന", "ഡി"}, + monthsNarrow: []string{"", "ജ", "ഫ", "മാ", "ഏ", "മെ", "ജൂൺ", "ജൂ", "ഓ", "സെ", "ഒ", "ന", "ഡി"}, monthsWide: []string{"", "ജനുവരി", "ഫെബ്രുവരി", "മാർച്ച്", "ഏപ്രിൽ", "മേയ്", "ജൂൺ", "ജൂലൈ", "ഓഗസ്റ്റ്", "സെപ്റ്റംബർ", "ഒക്\u200cടോബർ", "നവംബർ", "ഡിസംബർ"}, daysAbbreviated: []string{"ഞായർ", "തിങ്കൾ", "ചൊവ്വ", "ബുധൻ", "വ്യാഴം", "വെള്ളി", "ശനി"}, daysNarrow: []string{"ഞ", "തി", "ചൊ", "ബു", "വ്യാ", "വെ", "ശ"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ക്രി.മു.", "എഡി"}, erasNarrow: []string{"", ""}, erasWide: []string{"ക്രിസ്\u200cതുവിന് മുമ്പ്", "ആന്നോ ഡൊമിനി"}, - timezones: map[string]string{"UYT": "ഉറുഗ്വേ സ്റ്റാൻഡേർഡ് സമയം", "HAST": "ഹവായ്-അലൂഷ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "ADT": "അറ്റ്\u200cലാന്റിക് ഡേലൈറ്റ് സമയം", "HNT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് സ്റ്റാൻഡേർഡ് സമയം", "OEZ": "കിഴക്കൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "CHADT": "ചാതം വേനൽക്കാല സമയം", "MEZ": "സെൻട്രൽ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "SAST": "ദക്ഷിണാഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "TMT": "തുർക്ക്\u200cമെനിസ്ഥാൻ സ്റ്റാൻഡേർഡ് സമയം", "∅∅∅": "ബ്രസീലിയ ഗ്രീഷ്\u200cമകാല സമയം", "HKT": "ഹോങ്കോങ്ങ് സ്റ്റാൻഡേർഡ് സമയം", "AEST": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "ART": "അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "ARST": "അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "WARST": "പടിഞ്ഞാറൻ അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "MDT": "മകൌ വേനൽക്കാല സമയം", "ACST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "NZST": "ന്യൂസിലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "HAT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് ഡേലൈറ്റ് സമയം", "GMT": "ഗ്രീൻവിച്ച് മീൻ സമയം", "MESZ": "സെൻട്രൽ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "AKDT": "അലാസ്\u200cക ഡേലൈറ്റ് സമയം", "ChST": "ചമോറോ സ്റ്റാൻഡേർഡ് സമയം", "CLST": "ചിലി ഗ്രീഷ്\u200cമകാല സമയം", "OESZ": "കിഴക്കൻ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "ACWST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "CLT": "ചിലി സ്റ്റാൻഡേർഡ് സമയം", "WAST": "പടിഞ്ഞാറൻ ആഫ്രിക്ക ഗ്രീഷ്\u200cമകാല സമയം", "IST": "ഇന്ത്യൻ സ്റ്റാൻഡേർഡ് സമയം", "MST": "മകൌ സ്റ്റാൻഡേർഡ് സമയം", "LHST": "ലോർഡ് ഹോവ് സ്റ്റാൻഡേർഡ് സമയം", "UYST": "ഉറുഗ്വേ ഗ്രീഷ്\u200cമകാല സമയം", "WIB": "പടിഞ്ഞാറൻ ഇന്തോനേഷ്യ സമയം", "AST": "അറ്റ്\u200cലാന്റിക് സ്റ്റാൻഡേർഡ് സമയം", "EAT": "കിഴക്കൻ ആഫ്രിക്ക സമയം", "AKST": "അലാസ്ക സ്റ്റാൻഡേർഡ് സമയം", "WITA": "മധ്യ ഇന്തോനേഷ്യ സമയം", "CDT": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "GYT": "ഗയാന സമയം", "CAT": "മധ്യ ആഫ്രിക്ക സമയം", "SGT": "സിംഗപ്പൂർ സ്റ്റാൻഡേർഡ് സമയം", "VET": "വെനിസ്വേല സമയം", "EST": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "BT": "ഭൂട്ടാൻ സമയം", "WIT": "കിഴക്കൻ ഇന്തോനേഷ്യ സമയം", "WESZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ ഗ്രീഷ്\u200cമകാല സമയം", "HKST": "ഹോങ്കോങ്ങ് ഗ്രീഷ്\u200cമകാല സമയം", "AEDT": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "MYT": "മലേഷ്യ സമയം", "JDT": "ജപ്പാൻ ഡേലൈറ്റ് സമയം", "WEZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "HADT": "ഹവായ്-അലൂഷ്യൻ ഡേലൈറ്റ് സമയം", "PST": "വടക്കെ അമേരിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "WAT": "പടിഞ്ഞാറൻ ആഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "TMST": "തുർക്ക്\u200cമെനിസ്ഥാൻ ഗ്രീഷ്\u200cമകാല സമയം", "WART": "പടിഞ്ഞാറൻ അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "AWST": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "AWDT": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "LHDT": "ലോർഡ് ഹോവ് ഡേലൈറ്റ് സമയം", "GFT": "ഫ്രഞ്ച് ഗയാന സമയം", "COST": "കൊളംബിയ ഗ്രീഷ്\u200cമകാല സമയം", "EDT": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "CST": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "NZDT": "ന്യൂസിലാൻഡ് ഡേലൈറ്റ് സമയം", "SRT": "സുരിനെയിം സമയം", "CHAST": "ചാത്തം സ്റ്റാൻഡേർഡ് സമയം", "ACDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "ECT": "ഇക്വഡോർ സമയം", "PDT": "വടക്കെ അമേരിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "BOT": "ബൊളീവിയ സമയം", "JST": "ജപ്പാൻ സ്റ്റാൻഡേർഡ് സമയം", "COT": "കൊളംബിയ സ്റ്റാൻഡേർഡ് സമയം", "ACWDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം"}, + timezones: map[string]string{"ECT": "ഇക്വഡോർ സമയം", "WART": "പടിഞ്ഞാറൻ അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "HNT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് സ്റ്റാൻഡേർഡ് സമയം", "HAT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് ഡേലൈറ്റ് സമയം", "AEDT": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "WITA": "മധ്യ ഇന്തോനേഷ്യ സമയം", "NZDT": "ന്യൂസിലാൻഡ് ഡേലൈറ്റ് സമയം", "∅∅∅": "ആമസോൺ ഗ്രീഷ്\u200cമകാല സമയം", "UYST": "ഉറുഗ്വേ ഗ്രീഷ്\u200cമകാല സമയം", "GYT": "ഗയാന സമയം", "AEST": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "IST": "ഇന്ത്യൻ സ്റ്റാൻഡേർഡ് സമയം", "CLST": "ചിലി ഗ്രീഷ്\u200cമകാല സമയം", "HECU": "ക്യൂബ ഡേലൈറ്റ് സമയം", "MYT": "മലേഷ്യ സമയം", "ADT": "അറ്റ്\u200cലാന്റിക് ഡേലൈറ്റ് സമയം", "HADT": "ഹവായ്-അലൂഷ്യൻ ഡേലൈറ്റ് സമയം", "CAT": "മധ്യ ആഫ്രിക്ക സമയം", "WAST": "പടിഞ്ഞാറൻ ആഫ്രിക്ക ഗ്രീഷ്\u200cമകാല സമയം", "HNCU": "ക്യൂബ സ്റ്റാൻഡേർഡ് സമയം", "MDT": "വടക്കെ അമേരിക്കൻ മൗണ്ടൻ ഡേലൈറ്റ് സമയം", "ACWST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "MEZ": "സെൻട്രൽ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "BOT": "ബൊളീവിയ സമയം", "OEZ": "കിഴക്കൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "SGT": "സിംഗപ്പൂർ സ്റ്റാൻഡേർഡ് സമയം", "EST": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "WIB": "പടിഞ്ഞാറൻ ഇന്തോനേഷ്യ സമയം", "WESZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ ഗ്രീഷ്\u200cമകാല സമയം", "TMT": "തുർക്ക്\u200cമെനിസ്ഥാൻ സ്റ്റാൻഡേർഡ് സമയം", "COST": "കൊളംബിയ ഗ്രീഷ്\u200cമകാല സമയം", "GMT": "ഗ്രീൻവിച്ച് മീൻ സമയം", "MST": "വടക്കെ അമേരിക്കൻ മൗണ്ടൻ സ്റ്റാൻഡേർഡ് സമയം", "ACST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "COT": "കൊളംബിയ സ്റ്റാൻഡേർഡ് സമയം", "HAST": "ഹവായ്-അലൂഷ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "SAST": "ദക്ഷിണാഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "ChST": "ചമോറോ സ്റ്റാൻഡേർഡ് സമയം", "HNPMX": "മെക്\u200cസിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "PDT": "വടക്കെ അമേരിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "AWST": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "AWDT": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "HEPM": "സെന്റ് പിയറി ആൻഡ് മിക്വലൻ ഡേലൈറ്റ് സമയം", "CLT": "ചിലി സ്റ്റാൻഡേർഡ് സമയം", "HEEG": "കിഴക്കൻ ഗ്രീൻലാൻഡ് ഗ്രീഷ്\u200cമകാല സമയം", "MESZ": "സെൻട്രൽ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "CHADT": "ചാത്തം ഗ്രീഷ്\u200cമകാല സമയം", "HNEG": "കിഴക്കൻ ഗ്രീൻലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "WARST": "പടിഞ്ഞാറൻ അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "WEZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "ACWDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "HNOG": "പടിഞ്ഞാറൻ ഗ്രീൻലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "TMST": "തുർക്ക്\u200cമെനിസ്ഥാൻ ഗ്രീഷ്\u200cമകാല സമയം", "HENOMX": "വടക്കുപടിഞ്ഞാറൻ മെക്സിക്കൻ ഡേലൈറ്റ് സമയം", "AKST": "അലാസ്ക സ്റ്റാൻഡേർഡ് സമയം", "HKST": "ഹോങ്കോങ്ങ് ഗ്രീഷ്\u200cമകാല സമയം", "JST": "ജപ്പാൻ സ്റ്റാൻഡേർഡ് സമയം", "OESZ": "കിഴക്കൻ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "EDT": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "LHST": "ലോർഡ് ഹോവ് സ്റ്റാൻഡേർഡ് സമയം", "LHDT": "ലോർഡ് ഹോവ് ഡേലൈറ്റ് സമയം", "WAT": "പടിഞ്ഞാറൻ ആഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "UYT": "ഉറുഗ്വേ സ്റ്റാൻഡേർഡ് സമയം", "CST": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "AST": "അറ്റ്\u200cലാന്റിക് സ്റ്റാൻഡേർഡ് സമയം", "ART": "അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "HKT": "ഹോങ്കോങ്ങ് സ്റ്റാൻഡേർഡ് സമയം", "WIT": "കിഴക്കൻ ഇന്തോനേഷ്യ സമയം", "ARST": "അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "GFT": "ഫ്രഞ്ച് ഗയാന സമയം", "ACDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "EAT": "കിഴക്കൻ ആഫ്രിക്ക സമയം", "JDT": "ജപ്പാൻ ഡേലൈറ്റ് സമയം", "HNNOMX": "വടക്കുപടിഞ്ഞാറൻ മെക്\u200cസിക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "AKDT": "അലാസ്\u200cക ഡേലൈറ്റ് സമയം", "CDT": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "BT": "ഭൂട്ടാൻ സമയം", "PST": "വടക്കെ അമേരിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "NZST": "ന്യൂസിലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "HEPMX": "മെക്സിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "VET": "വെനിസ്വേല സമയം", "SRT": "സുരിനെയിം സമയം", "HEOG": "പടിഞ്ഞാറൻ ഗ്രീൻലാൻഡ് ഗ്രീഷ്\u200cമകാല സമയം", "HNPM": "സെന്റ് പിയറി ആൻഡ് മിക്വലൻ സ്റ്റാൻഡേർഡ് സമയം", "CHAST": "ചാത്തം സ്റ്റാൻഡേർഡ് സമയം"}, } } @@ -430,7 +430,12 @@ func (ml *ml) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -444,7 +449,12 @@ func (ml *ml) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -458,7 +468,12 @@ func (ml *ml) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ml_IN/ml_IN.go b/ml_IN/ml_IN.go index f5cf8a512..0d4f5120f 100644 --- a/ml_IN/ml_IN.go +++ b/ml_IN/ml_IN.go @@ -55,11 +55,11 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ജനു", "ഫെബ്രു", "മാർ", "ഏപ്രി", "മേയ്", "ജൂൺ", "ജൂലൈ", "ഓഗ", "സെപ്റ്റം", "ഒക്ടോ", "നവം", "ഡിസം"}, - monthsNarrow: []string{"", "ജ", "ഫ", "മാ", "ഏ", "മെ", "ജൂ", "ജൂ", "ഓ", "സ", "ഒ", "ന", "ഡി"}, + monthsNarrow: []string{"", "ജ", "ഫ", "മാ", "ഏ", "മെ", "ജൂൺ", "ജൂ", "ഓ", "സെ", "ഒ", "ന", "ഡി"}, monthsWide: []string{"", "ജനുവരി", "ഫെബ്രുവരി", "മാർച്ച്", "ഏപ്രിൽ", "മേയ്", "ജൂൺ", "ജൂലൈ", "ഓഗസ്റ്റ്", "സെപ്റ്റംബർ", "ഒക്\u200cടോബർ", "നവംബർ", "ഡിസംബർ"}, daysAbbreviated: []string{"ഞായർ", "തിങ്കൾ", "ചൊവ്വ", "ബുധൻ", "വ്യാഴം", "വെള്ളി", "ശനി"}, daysNarrow: []string{"ഞ", "തി", "ചൊ", "ബു", "വ്യാ", "വെ", "ശ"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ക്രി.മു.", "എഡി"}, erasNarrow: []string{"", ""}, erasWide: []string{"ക്രിസ്\u200cതുവിന് മുമ്പ്", "ആന്നോ ഡൊമിനി"}, - timezones: map[string]string{"HADT": "ഹവായ്-അലൂഷ്യൻ ഡേലൈറ്റ് സമയം", "WART": "പടിഞ്ഞാറൻ അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "WAT": "പടിഞ്ഞാറൻ ആഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "TMT": "തുർക്ക്\u200cമെനിസ്ഥാൻ സ്റ്റാൻഡേർഡ് സമയം", "HNT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് സ്റ്റാൻഡേർഡ് സമയം", "UYT": "ഉറുഗ്വേ സ്റ്റാൻഡേർഡ് സമയം", "OESZ": "കിഴക്കൻ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "VET": "വെനിസ്വേല സമയം", "HAST": "ഹവായ്-അലൂഷ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "BT": "ഭൂട്ടാൻ സമയം", "ACDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "ACWST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "CDT": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "MST": "വടക്കെ അമേരിക്കൻ മൗണ്ടൻ സ്റ്റാൻഡേർഡ് സമയം", "CST": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "OEZ": "കിഴക്കൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "WESZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ ഗ്രീഷ്\u200cമകാല സമയം", "COST": "കൊളംബിയ ഗ്രീഷ്\u200cമകാല സമയം", "AKDT": "അലാസ്\u200cക ഡേലൈറ്റ് സമയം", "EDT": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "MYT": "മലേഷ്യ സമയം", "BOT": "ബൊളീവിയ സമയം", "GMT": "ഗ്രീൻവിച്ച് മീൻ സമയം", "LHDT": "ലോർഡ് ഹോവ് ഡേലൈറ്റ് സമയം", "SRT": "സുരിനെയിം സമയം", "WEZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "AST": "അറ്റ്\u200cലാന്റിക് സ്റ്റാൻഡേർഡ് സമയം", "IST": "ഇന്ത്യൻ സ്റ്റാൻഡേർഡ് സമയം", "CLT": "ചിലി സ്റ്റാൻഡേർഡ് സമയം", "GFT": "ഫ്രഞ്ച് ഗയാന സമയം", "EST": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "CAT": "മധ്യ ആഫ്രിക്ക സമയം", "LHST": "ലോർഡ് ഹോവ് സ്റ്റാൻഡേർഡ് സമയം", "ACST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "TMST": "തുർക്ക്\u200cമെനിസ്ഥാൻ ഗ്രീഷ്\u200cമകാല സമയം", "GYT": "ഗയാന സമയം", "CLST": "ചിലി ഗ്രീഷ്\u200cമകാല സമയം", "CHAST": "ചാത്തം സ്റ്റാൻഡേർഡ് സമയം", "ECT": "ഇക്വഡോർ സമയം", "MDT": "വടക്കെ അമേരിക്കൻ മൗണ്ടൻ ഡേലൈറ്റ് സമയം", "∅∅∅": "പെറു ഗ്രീഷ്\u200cമകാല സമയം", "ChST": "ചമോറോ സ്റ്റാൻഡേർഡ് സമയം", "AWST": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "HAT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് ഡേലൈറ്റ് സമയം", "WIT": "കിഴക്കൻ ഇന്തോനേഷ്യ സമയം", "UYST": "ഉറുഗ്വേ ഗ്രീഷ്\u200cമകാല സമയം", "AEST": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "ARST": "അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "SAST": "ദക്ഷിണാഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "MEZ": "സെൻട്രൽ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "PDT": "വടക്കെ അമേരിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "HKST": "ഹോങ്കോങ്ങ് ഗ്രീഷ്\u200cമകാല സമയം", "SGT": "സിംഗപ്പൂർ സ്റ്റാൻഡേർഡ് സമയം", "AEDT": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "ART": "അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "WARST": "പടിഞ്ഞാറൻ അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "AWDT": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "JDT": "ജപ്പാൻ ഡേലൈറ്റ് സമയം", "JST": "ജപ്പാൻ സ്റ്റാൻഡേർഡ് സമയം", "COT": "കൊളംബിയ സ്റ്റാൻഡേർഡ് സമയം", "PST": "വടക്കെ അമേരിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "NZST": "ന്യൂസിലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "HKT": "ഹോങ്കോങ്ങ് സ്റ്റാൻഡേർഡ് സമയം", "MESZ": "സെൻട്രൽ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "ADT": "അറ്റ്\u200cലാന്റിക് ഡേലൈറ്റ് സമയം", "EAT": "കിഴക്കൻ ആഫ്രിക്ക സമയം", "WITA": "മധ്യ ഇന്തോനേഷ്യ സമയം", "ACWDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "WAST": "പടിഞ്ഞാറൻ ആഫ്രിക്ക ഗ്രീഷ്\u200cമകാല സമയം", "AKST": "അലാസ്ക സ്റ്റാൻഡേർഡ് സമയം", "NZDT": "ന്യൂസിലാൻഡ് ഡേലൈറ്റ് സമയം", "CHADT": "ചാതം വേനൽക്കാല സമയം", "WIB": "പടിഞ്ഞാറൻ ഇന്തോനേഷ്യ സമയം"}, + timezones: map[string]string{"AWDT": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "ECT": "ഇക്വഡോർ സമയം", "COT": "കൊളംബിയ സ്റ്റാൻഡേർഡ് സമയം", "UYT": "ഉറുഗ്വേ സ്റ്റാൻഡേർഡ് സമയം", "AKST": "അലാസ്ക സ്റ്റാൻഡേർഡ് സമയം", "LHST": "ലോർഡ് ഹോവ് സ്റ്റാൻഡേർഡ് സമയം", "HEEG": "കിഴക്കൻ ഗ്രീൻലാൻഡ് ഗ്രീഷ്\u200cമകാല സമയം", "ACDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "HNPMX": "മെക്\u200cസിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "UYST": "ഉറുഗ്വേ ഗ്രീഷ്\u200cമകാല സമയം", "HADT": "ഹവായ്-അലൂഷ്യൻ ഡേലൈറ്റ് സമയം", "BT": "ഭൂട്ടാൻ സമയം", "ACWDT": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ ഡേലൈറ്റ് സമയം", "GFT": "ഫ്രഞ്ച് ഗയാന സമയം", "TMT": "തുർക്ക്\u200cമെനിസ്ഥാൻ സ്റ്റാൻഡേർഡ് സമയം", "BOT": "ബൊളീവിയ സമയം", "WAT": "പടിഞ്ഞാറൻ ആഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "SRT": "സുരിനെയിം സമയം", "ARST": "അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "PDT": "വടക്കെ അമേരിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "CHADT": "ചാത്തം ഗ്രീഷ്\u200cമകാല സമയം", "SAST": "ദക്ഷിണാഫ്രിക്ക സ്റ്റാൻഡേർഡ് സമയം", "HNCU": "ക്യൂബ സ്റ്റാൻഡേർഡ് സമയം", "MST": "മകൌ സ്റ്റാൻഡേർഡ് സമയം", "MYT": "മലേഷ്യ സമയം", "HAST": "ഹവായ്-അലൂഷ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "WIT": "കിഴക്കൻ ഇന്തോനേഷ്യ സമയം", "LHDT": "ലോർഡ് ഹോവ് ഡേലൈറ്റ് സമയം", "∅∅∅": "ആമസോൺ ഗ്രീഷ്\u200cമകാല സമയം", "CAT": "മധ്യ ആഫ്രിക്ക സമയം", "ACWST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "HNPM": "സെന്റ് പിയറി ആൻഡ് മിക്വലൻ സ്റ്റാൻഡേർഡ് സമയം", "CHAST": "ചാത്തം സ്റ്റാൻഡേർഡ് സമയം", "COST": "കൊളംബിയ ഗ്രീഷ്\u200cമകാല സമയം", "CDT": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ ഡേലൈറ്റ് സമയം", "MESZ": "സെൻട്രൽ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "JST": "ജപ്പാൻ സ്റ്റാൻഡേർഡ് സമയം", "ChST": "ചമോറോ സ്റ്റാൻഡേർഡ് സമയം", "EAT": "കിഴക്കൻ ആഫ്രിക്ക സമയം", "MDT": "മകൌ വേനൽക്കാല സമയം", "AST": "അറ്റ്\u200cലാന്റിക് സ്റ്റാൻഡേർഡ് സമയം", "PST": "വടക്കെ അമേരിക്കൻ പസഫിക് സ്റ്റാൻഡേർഡ് സമയം", "EST": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "AKDT": "അലാസ്\u200cക ഡേലൈറ്റ് സമയം", "HNT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് സ്റ്റാൻഡേർഡ് സമയം", "HNOG": "പടിഞ്ഞാറൻ ഗ്രീൻലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "WITA": "മധ്യ ഇന്തോനേഷ്യ സമയം", "IST": "ഇന്ത്യൻ സ്റ്റാൻഡേർഡ് സമയം", "WARST": "പടിഞ്ഞാറൻ അർജന്റീന ഗ്രീഷ്\u200cമകാല സമയം", "HECU": "ക്യൂബ ഡേലൈറ്റ് സമയം", "NZST": "ന്യൂസിലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "NZDT": "ന്യൂസിലാൻഡ് ഡേലൈറ്റ് സമയം", "TMST": "തുർക്ക്\u200cമെനിസ്ഥാൻ ഗ്രീഷ്\u200cമകാല സമയം", "HNEG": "കിഴക്കൻ ഗ്രീൻലാൻഡ് സ്റ്റാൻഡേർഡ് സമയം", "HENOMX": "വടക്കുപടിഞ്ഞാറൻ മെക്സിക്കൻ ഡേലൈറ്റ് സമയം", "EDT": "വടക്കെ അമേരിക്കൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "VET": "വെനിസ്വേല സമയം", "HAT": "ന്യൂഫൗണ്ട്\u200cലാന്റ് ഡേലൈറ്റ് സമയം", "HEOG": "പടിഞ്ഞാറൻ ഗ്രീൻലാൻഡ് ഗ്രീഷ്\u200cമകാല സമയം", "HNNOMX": "വടക്കുപടിഞ്ഞാറൻ മെക്\u200cസിക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "ADT": "അറ്റ്\u200cലാന്റിക് ഡേലൈറ്റ് സമയം", "WESZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ ഗ്രീഷ്\u200cമകാല സമയം", "MEZ": "സെൻട്രൽ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "CLT": "ചിലി സ്റ്റാൻഡേർഡ് സമയം", "CLST": "ചിലി ഗ്രീഷ്\u200cമകാല സമയം", "OESZ": "കിഴക്കൻ യൂറോപ്യൻ ഗ്രീഷ്മകാല സമയം", "WART": "പടിഞ്ഞാറൻ അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "WEZ": "പടിഞ്ഞാറൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "AEDT": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ ഡേലൈറ്റ് സമയം", "HEPM": "സെന്റ് പിയറി ആൻഡ് മിക്വലൻ ഡേലൈറ്റ് സമയം", "JDT": "ജപ്പാൻ ഡേലൈറ്റ് സമയം", "ACST": "ഓസ്ട്രേലിയൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "GMT": "ഗ്രീൻവിച്ച് മീൻ സമയം", "ART": "അർജന്റീന സ്റ്റാൻഡേർഡ് സമയം", "HKT": "ഹോങ്കോങ്ങ് സ്റ്റാൻഡേർഡ് സമയം", "HKST": "ഹോങ്കോങ്ങ് ഗ്രീഷ്\u200cമകാല സമയം", "AEST": "ഓസ്\u200cട്രേലിയൻ കിഴക്കൻ സ്റ്റാൻഡേർഡ് സമയം", "OEZ": "കിഴക്കൻ യൂറോപ്യൻ സ്റ്റാൻഡേർഡ് സമയം", "GYT": "ഗയാന സമയം", "AWST": "ഓസ്\u200cട്രേലിയൻ പടിഞ്ഞാറൻ സ്റ്റാൻഡേർഡ് സമയം", "WAST": "പടിഞ്ഞാറൻ ആഫ്രിക്ക ഗ്രീഷ്\u200cമകാല സമയം", "SGT": "സിംഗപ്പൂർ സ്റ്റാൻഡേർഡ് സമയം", "HEPMX": "മെക്സിക്കൻ പസഫിക് ഡേലൈറ്റ് സമയം", "CST": "വടക്കെ അമേരിക്കൻ സെൻട്രൽ സ്റ്റാൻഡേർഡ് സമയം", "WIB": "പടിഞ്ഞാറൻ ഇന്തോനേഷ്യ സമയം"}, } } @@ -430,7 +430,12 @@ func (ml *ml_IN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -444,7 +449,12 @@ func (ml *ml_IN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -458,7 +468,12 @@ func (ml *ml_IN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, ml.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/mn/mn.go b/mn/mn.go index b5525e71b..901624136 100644 --- a/mn/mn.go +++ b/mn/mn.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "₮", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "₮", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар"}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Нэгдүгээр сар", "Хоёрдугаар сар", "Гуравдугаар сар", "Дөрөвдүгээр сар", "Тавдугаар сар", "Зургадугаар сар", "Долдугаар сар", "Наймдугаар сар", "Есдүгээр сар", "Аравдугаар сар", "Арван нэгдүгээр сар", "Арван хоёрдугаар сар"}, daysAbbreviated: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, - daysNarrow: []string{"1", "2", "3", "4", "5", "6", "7"}, + daysNarrow: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, daysShort: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, daysWide: []string{"ням", "даваа", "мягмар", "лхагва", "пүрэв", "баасан", "бямба"}, periodsAbbreviated: []string{"ҮӨ", "ҮХ"}, periodsNarrow: []string{"үө", "үх"}, - periodsWide: []string{"ҮӨ", "ҮХ"}, + periodsWide: []string{"ү.ө", "ү.х"}, erasAbbreviated: []string{"м.э.ө", "м.э."}, erasNarrow: []string{"МЭӨ", "МЭ"}, erasWide: []string{"манай эриний өмнөх", "манай эриний"}, - timezones: map[string]string{"MEZ": "Төв Европын стандарт цаг", "PDT": "Номхон далайн зуны цаг", "WESZ": "Баруун Европын зуны цаг", "CHAST": "Чэтамын стандарт цаг", "UYT": "Уругвайн стандарт цаг", "JST": "Японы стандарт цаг", "WIB": "Баруун Индонезийн цаг", "ACDT": "Төв Австралийн зуны цаг", "NZDT": "Шинэ Зеландын зуны цаг", "WIT": "Зүүн Индонезийн цаг", "WARST": "Баруун Аргентины зуны цаг", "HAST": "Хавай-Алеутын стандарт цаг", "GFT": "Францын Гияанагийн цаг", "SGT": "Сингапурын цаг", "WEZ": "Баруун Европын стандарт цаг", "ARST": "Аргентины зуны цаг", "EST": "Зүүн эргийн стандарт цаг", "TMT": "Туркменистаны стандарт цаг", "NZST": "Шинэ Зеландын стандарт цаг", "SRT": "Суринамын цаг", "AKDT": "Аляскийн зуны цаг", "GYT": "Гуяанагийн цаг", "BOT": "Боливийн цаг", "HNT": "Нью-Фаундлендын стандарт цаг", "ACWST": "Австралийн төв баруун эргийн стандарт цаг", "WAT": "Баруун Африкийн стандарт цаг", "LHST": "Лорд Хаугийн стандарт цаг", "CHADT": "Чэтамын зуны цаг", "OEZ": "Зүүн Европын стандарт цаг", "WAST": "Баруун Африкийн зуны цаг", "ECT": "Эквадорын цаг", "VET": "Венесуэлийн цаг", "AEST": "Австралийн зүүн эргийн стандарт цаг", "ART": "Аргентины стандарт цаг", "MST": "MST", "AWST": "Австралийн баруун эргийн стандарт цаг", "SAST": "Өмнөд Африкийн стандарт цаг", "IST": "Энэтхэгийн цаг", "CAT": "Төв Африкийн цаг", "OESZ": "Зүүн Европын зуны цаг", "ACWDT": "Австралийн төв баруун эргийн зуны цаг", "AKST": "Аляскийн стандарт цаг", "CST": "Төв стандарт цаг", "UYST": "Уругвайн зуны цаг", "ACST": "Төв Австралийн стандарт цаг", "MESZ": "Төв Европын зуны цаг", "HADT": "Хавай-Алеутын зуны цаг", "PST": "Номхон далайн стандарт цаг", "WITA": "Төв Индонезийн цаг", "MDT": "MDT", "CLST": "Чилийн зуны цаг", "COT": "Колумбын стандарт цаг", "WART": "Баруун Аргентины стандарт цаг", "AEDT": "Австралийн зүүн эргийн зуны цаг", "CDT": "Төв зуны цаг", "MYT": "Малайзийн цаг", "LHDT": "Лорд Хаугийн зуны цаг", "HKST": "Хонг Конгын зуны цаг", "AWDT": "Австралийн баруун эргийн зуны цаг", "ChST": "Чаморрогийн цаг", "CLT": "Чилийн стандарт цаг", "HKT": "Хонг Конгын стандарт цаг", "AST": "Атлантын стандарт цаг", "EAT": "Зүүн Африкийн цаг", "TMST": "Туркменистаны зуны цаг", "HAT": "Нью-Фаундлендын зуны цаг", "∅∅∅": "Бразилийн зуны цаг", "JDT": "Японы зуны цаг", "COST": "Колумбын зуны цаг", "EDT": "Зүүн эргийн зуны цаг", "ADT": "Атлантын зуны цаг", "BT": "Бутаны цаг", "GMT": "Гринвичийн үндсэн цаг"}, + timezones: map[string]string{"HAT": "Нью-Фаундлендын зуны цаг", "HNCU": "Кубын стандарт цаг", "EDT": "Зүүн эргийн зуны цаг", "UYT": "Уругвайн стандарт цаг", "AKST": "Аляскийн стандарт цаг", "WIB": "Баруун Индонезийн цаг", "SRT": "Суринамын цаг", "HKST": "Хонг Конгийн зуны цаг", "CLT": "Чилийн стандарт цаг", "CLST": "Чилийн зуны цаг", "HEPMX": "Мексикийн номхон далайн зуны цаг", "AST": "Атлантын стандарт цаг", "HEOG": "Баруун Гринландын зуны цаг", "AEDT": "Австралийн зүүн эргийн зуны цаг", "ACDT": "Төв Австралийн зуны цаг", "OESZ": "Зүүн Европын зуны цаг", "WART": "Баруун Аргентины стандарт цаг", "HNPMX": "Мексикийн номхон далайн стандарт цаг", "MYT": "Малайзын цаг", "HEEG": "Зүүн Гринландын зуны цаг", "ART": "Аргентины стандарт цаг", "ACWST": "Австралийн төв баруун эргийн стандарт цаг", "HEPM": "Сент-Пьер ба Микелоны зуны цаг", "ADT": "Атлантын зуны цаг", "PST": "Номхон далайн стандарт цаг", "CHADT": "Чатемын зуны цаг", "LHDT": "Лорд Хоугийн зуны цаг", "IST": "Энэтхэгийн цаг", "HNEG": "Зүүн Гринландын стандарт цаг", "HNT": "Нью-Фаундлендын стандарт цаг", "NZST": "Шинэ Зеландын стандарт цаг", "GFT": "Францын Гияанагийн цаг", "BOT": "Боливийн цаг", "WAST": "Баруун Африкийн зуны цаг", "VET": "Венесуэлийн цаг", "BT": "Бутаны цаг", "NZDT": "Шинэ Зеландын зуны цаг", "∅∅∅": "Амазоны зуны цаг", "COST": "Колумбын зуны цаг", "MDT": "MDT", "JST": "Японы стандарт цаг", "ACST": "Төв Австралийн стандарт цаг", "OEZ": "Зүүн Европын стандарт цаг", "WAT": "Баруун Африкийн стандарт цаг", "CDT": "Төв зуны цаг", "HADT": "Хавай-Алеутын зуны цаг", "AWST": "Австралийн баруун эргийн стандарт цаг", "AWDT": "Австралийн баруун эргийн зуны цаг", "HECU": "Кубын зуны цаг", "GYT": "Гуяанагийн цаг", "CHAST": "Чатемын стандарт цаг", "JDT": "Японы зуны цаг", "ECT": "Эквадорын цаг", "WARST": "Баруун Аргентины зуны цаг", "HENOMX": "Баруун хойд Мексикийн зуны цаг", "SGT": "Сингапурын цаг", "ARST": "Аргентины зуны цаг", "ACWDT": "Австралийн төв баруун эргийн зуны цаг", "HAST": "Хавай-Алеутын стандарт цаг", "WIT": "Зүүн Индонезийн цаг", "PDT": "Номхон далайн зуны цаг", "WEZ": "Баруун Европын стандарт цаг", "AEST": "Австралийн зүүн эргийн стандарт цаг", "HNPM": "Сент-Пьерре ба Микелоны стандарт цаг", "MESZ": "Төв Европын зуны цаг", "ChST": "Чаморрогийн цаг", "EAT": "Зүүн Африкийн цаг", "GMT": "Гринвичийн үндсэн цаг", "MEZ": "Төв Европын стандарт цаг", "CAT": "Төв Африкийн цаг", "UYST": "Уругвайн зуны цаг", "HNOG": "Баруун Гринландын стандарт цаг", "WESZ": "Баруун Европын зуны цаг", "HKT": "Хонг Конгийн стандарт цаг", "LHST": "Лорд Хоугийн стандарт цаг", "SAST": "Өмнөд Африкийн стандарт цаг", "TMT": "Туркменистаны стандарт цаг", "TMST": "Туркменистаны зуны цаг", "EST": "Зүүн эргийн стандарт цаг", "AKDT": "Аляскийн зуны цаг", "COT": "Колумбын стандарт цаг", "HNNOMX": "Баруун хойд Мексикийн стандарт цаг", "MST": "MST", "CST": "Төв стандарт цаг", "WITA": "Төв Индонезийн цаг"}, } } @@ -410,7 +410,12 @@ func (mn *mn) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -435,7 +440,12 @@ func (mn *mn) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -449,19 +459,19 @@ func (mn *mn) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) - b = append(b, []byte{0x20}...) - - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x20, 0xd1, 0x81, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd}...) + b = append(b, []byte{0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) + b = append(b, []byte{0x20}...) + b = append(b, mn.monthsWide[t.Month()]...) + b = append(b, []byte{0xd1, 0x81, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0xd3, 0xa9, 0xd0, 0xb4, 0xd3, 0xa9, 0xd1, 0x80}...) return string(b) } @@ -473,7 +483,13 @@ func (mn *mn) FmtDateFull(t time.Time) string { b = append(b, mn.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) b = append(b, []byte{0x20}...) diff --git a/mn_MN/mn_MN.go b/mn_MN/mn_MN.go index a66273c65..5f9cf17a2 100644 --- a/mn_MN/mn_MN.go +++ b/mn_MN/mn_MN.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар"}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Нэгдүгээр сар", "Хоёрдугаар сар", "Гуравдугаар сар", "Дөрөвдүгээр сар", "Тавдугаар сар", "Зургадугаар сар", "Долдугаар сар", "Наймдугаар сар", "Есдүгээр сар", "Аравдугаар сар", "Арван нэгдүгээр сар", "Арван хоёрдугаар сар"}, daysAbbreviated: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, - daysNarrow: []string{"1", "2", "3", "4", "5", "6", "7"}, + daysNarrow: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, daysShort: []string{"Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"}, daysWide: []string{"ням", "даваа", "мягмар", "лхагва", "пүрэв", "баасан", "бямба"}, periodsAbbreviated: []string{"ҮӨ", "ҮХ"}, periodsNarrow: []string{"үө", "үх"}, - periodsWide: []string{"ҮӨ", "ҮХ"}, + periodsWide: []string{"ү.ө", "ү.х"}, erasAbbreviated: []string{"м.э.ө", "м.э."}, erasNarrow: []string{"МЭӨ", "МЭ"}, erasWide: []string{"манай эриний өмнөх", "манай эриний"}, - timezones: map[string]string{"EST": "Зүүн эргийн стандарт цаг", "ACST": "Төв Австралийн стандарт цаг", "HAT": "Нью-Фаундлендын зуны цаг", "WESZ": "Баруун Европын зуны цаг", "SRT": "Суринамын цаг", "VET": "Венесуэлийн цаг", "WARST": "Баруун Аргентины зуны цаг", "HNT": "Нью-Фаундлендын стандарт цаг", "LHST": "Лорд Хаугийн стандарт цаг", "GMT": "Гринвичийн үндсэн цаг", "HKST": "Хонг Конгын зуны цаг", "MESZ": "Төв Европын зуны цаг", "AEST": "Австралийн зүүн эргийн стандарт цаг", "ART": "Аргентины стандарт цаг", "WAST": "Баруун Африкийн зуны цаг", "MST": "Уулын стандарт цаг", "CHAST": "Чэтамын стандарт цаг", "∅∅∅": "∅∅∅", "AST": "Атлантын стандарт цаг", "MEZ": "Төв Европын стандарт цаг", "AEDT": "Австралийн зүүн эргийн зуны цаг", "EDT": "Зүүн эргийн зуны цаг", "CLST": "Чилийн зуны цаг", "CHADT": "Чэтамын зуны цаг", "ACDT": "Төв Австралийн зуны цаг", "SGT": "Сингапурын цаг", "WIB": "Баруун Индонезийн цаг", "HADT": "Хавай-Алеутын зуны цаг", "EAT": "Зүүн Африкийн цаг", "GFT": "Францын Гияанагийн цаг", "ARST": "Аргентины зуны цаг", "PST": "Номхон далайн стандарт цаг", "PDT": "Номхон далайн зуны цаг", "CAT": "Төв Африкийн цаг", "LHDT": "Лорд Хаугийн зуны цаг", "COST": "Колумбын зуны цаг", "ACWDT": "Австралийн төв баруун эргийн зуны цаг", "WAT": "Баруун Африкийн стандарт цаг", "TMST": "Туркменистаны зуны цаг", "NZST": "Шинэ Зеландын стандарт цаг", "AWDT": "Австралийн баруун эргийн зуны цаг", "GYT": "Гуяанагийн цаг", "BOT": "Боливийн цаг", "BT": "Бутаны цаг", "WIT": "Зүүн Индонезийн цаг", "HKT": "Хонг Конгын стандарт цаг", "COT": "Колумбын стандарт цаг", "HAST": "Хавай-Алеутын стандарт цаг", "CLT": "Чилийн стандарт цаг", "JST": "Японы стандарт цаг", "WEZ": "Баруун Европын стандарт цаг", "IST": "Энэтхэгийн цаг", "AKDT": "Аляскийн зуны цаг", "WITA": "Төв Индонезийн цаг", "CST": "Төв стандарт цаг", "JDT": "Японы зуны цаг", "ECT": "Эквадорын цаг", "TMT": "Туркменистаны стандарт цаг", "AWST": "Австралийн баруун эргийн стандарт цаг", "OEZ": "Зүүн Европын стандарт цаг", "ACWST": "Австралийн төв баруун эргийн стандарт цаг", "WART": "Баруун Аргентины стандарт цаг", "AKST": "Аляскийн стандарт цаг", "CDT": "Төв зуны цаг", "ChST": "Чаморрогийн цаг", "ADT": "Атлантын зуны цаг", "NZDT": "Шинэ Зеландын зуны цаг", "UYT": "Уругвайн стандарт цаг", "OESZ": "Зүүн Европын зуны цаг", "SAST": "Өмнөд Африкийн стандарт цаг", "MDT": "Уулын зуны цаг", "MYT": "Малайзийн цаг", "UYST": "Уругвайн зуны цаг"}, + timezones: map[string]string{"HNEG": "Зүүн Гринландын стандарт цаг", "TMST": "Туркменистаны зуны цаг", "MDT": "MDT", "ARST": "Аргентины зуны цаг", "HKT": "Хонг Конгийн стандарт цаг", "LHDT": "Лорд Хоугийн зуны цаг", "JST": "Японы стандарт цаг", "OESZ": "Зүүн Европын зуны цаг", "HECU": "Кубын зуны цаг", "UYST": "Уругвайн зуны цаг", "WEZ": "Баруун Европын стандарт цаг", "AWST": "Австралийн баруун эргийн стандарт цаг", "WART": "Баруун Аргентины стандарт цаг", "HEPMX": "Мексикийн номхон далайн зуны цаг", "AKDT": "Аляскийн зуны цаг", "ADT": "Атлантын зуны цаг", "MYT": "Малайзын цаг", "GFT": "Францын Гияанагийн цаг", "ECT": "Эквадорын цаг", "TMT": "Туркменистаны стандарт цаг", "ChST": "Чаморрогийн цаг", "HKST": "Хонг Конгийн зуны цаг", "WITA": "Төв Индонезийн цаг", "CHADT": "Чатемын зуны цаг", "MESZ": "Төв Европын зуны цаг", "IST": "Энэтхэгийн цаг", "BOT": "Боливийн цаг", "ACST": "Төв Австралийн стандарт цаг", "COST": "Колумбын зуны цаг", "GYT": "Гуяанагийн цаг", "HNPM": "Сент-Пьерре ба Микелоны стандарт цаг", "NZST": "Шинэ Зеландын стандарт цаг", "PDT": "Номхон далайн зуны цаг", "AWDT": "Австралийн баруун эргийн зуны цаг", "HEPM": "Сент-Пьер ба Микелоны зуны цаг", "OEZ": "Зүүн Европын стандарт цаг", "HNCU": "Кубын стандарт цаг", "EST": "Зүүн эргийн стандарт цаг", "HAST": "Хавай-Алеутын стандарт цаг", "ACWST": "Австралийн төв баруун эргийн стандарт цаг", "LHST": "Лорд Хоугийн стандарт цаг", "HNOG": "Баруун Гринландын стандарт цаг", "CHAST": "Чатемын стандарт цаг", "CLST": "Чилийн зуны цаг", "MST": "MST", "WIB": "Баруун Индонезийн цаг", "SRT": "Суринамын цаг", "BT": "Бутаны цаг", "WESZ": "Баруун Европын зуны цаг", "CAT": "Төв Африкийн цаг", "JDT": "Японы зуны цаг", "HEEG": "Зүүн Гринландын зуны цаг", "COT": "Колумбын стандарт цаг", "WARST": "Баруун Аргентины зуны цаг", "AKST": "Аляскийн стандарт цаг", "ART": "Аргентины стандарт цаг", "AEST": "Австралийн зүүн эргийн стандарт цаг", "SAST": "Өмнөд Африкийн стандарт цаг", "CLT": "Чилийн стандарт цаг", "VET": "Венесуэлийн цаг", "HAT": "Нью-Фаундлендын зуны цаг", "PST": "Номхон далайн стандарт цаг", "ACDT": "Төв Австралийн зуны цаг", "WAST": "Баруун Африкийн зуны цаг", "∅∅∅": "Перугийн зуны цаг", "CDT": "Төв зуны цаг", "UYT": "Уругвайн стандарт цаг", "AEDT": "Австралийн зүүн эргийн зуны цаг", "NZDT": "Шинэ Зеландын зуны цаг", "GMT": "Гринвичийн үндсэн цаг", "EDT": "Зүүн эргийн зуны цаг", "WIT": "Зүүн Индонезийн цаг", "SGT": "Сингапурын цаг", "MEZ": "Төв Европын стандарт цаг", "WAT": "Баруун Африкийн стандарт цаг", "HENOMX": "Баруун хойд Мексикийн зуны цаг", "AST": "Атлантын стандарт цаг", "ACWDT": "Австралийн төв баруун эргийн зуны цаг", "HEOG": "Баруун Гринландын зуны цаг", "HNT": "Нью-Фаундлендын стандарт цаг", "EAT": "Зүүн Африкийн цаг", "HNNOMX": "Баруун хойд Мексикийн стандарт цаг", "HNPMX": "Мексикийн номхон далайн стандарт цаг", "CST": "Төв стандарт цаг", "HADT": "Хавай-Алеутын зуны цаг"}, } } @@ -410,7 +410,12 @@ func (mn *mn_MN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -435,7 +440,12 @@ func (mn *mn_MN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, mn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -449,19 +459,19 @@ func (mn *mn_MN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) - b = append(b, []byte{0x20}...) - - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x20, 0xd1, 0x81, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd}...) + b = append(b, []byte{0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) + b = append(b, []byte{0x20}...) + b = append(b, mn.monthsWide[t.Month()]...) + b = append(b, []byte{0xd1, 0x81, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0xd3, 0xa9, 0xd0, 0xb4, 0xd3, 0xa9, 0xd1, 0x80}...) return string(b) } @@ -473,7 +483,13 @@ func (mn *mn_MN) FmtDateFull(t time.Time) string { b = append(b, mn.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b}...) b = append(b, []byte{0x20}...) diff --git a/mr/mr.go b/mr/mr.go index f935eb7e2..cd4b138f4 100644 --- a/mr/mr.go +++ b/mr/mr.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "जाने", "फेब्रु", "मार्च", "एप्रि", "मे", "जून", "जुलै", "ऑग", "सप्टें", "ऑक्टो", "नोव्हें", "डिसें"}, monthsNarrow: []string{"", "जा", "फे", "मा", "ए", "मे", "जू", "जु", "ऑ", "स", "ऑ", "नो", "डि"}, monthsWide: []string{"", "जानेवारी", "फेब्रुवारी", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ऑगस्ट", "सप्टेंबर", "ऑक्टोबर", "नोव्हेंबर", "डिसेंबर"}, @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"इ. स. पू.", "इ. स."}, erasNarrow: []string{"", ""}, erasWide: []string{"ईसवीसनपूर्व", "ईसवीसन"}, - timezones: map[string]string{"MST": "मकाऊ प्रमाणवेळ", "CHADT": "चॅथम सूर्यप्रकाश वेळ", "WAST": "पश्चिम आफ्रिका उन्हाळी वेळ", "AKST": "अलास्का प्रमाण वेळ", "GYT": "गयाना वेळ", "BOT": "बोलिव्हिया वेळ", "UYST": "उरुग्वे उन्हाळी वेळ", "ECT": "इक्वेडोर वेळ", "ADT": "अटलांटिक सूर्यप्रकाश वेळ", "CST": "केंद्रीय प्रमाण वेळ", "GMT": "ग्रीनिच प्रमाण वेळ", "LHDT": "लॉर्ड होवे सूर्यप्रकाश वेळ", "WESZ": "पश्चिम युरोपियन उन्हाळी वेळ", "CDT": "केंद्रीय सूर्यप्रकाश वेळ", "CAT": "मध्\u200dय आफ्रिका वेळ", "GFT": "फ्रेंच गयाना वेळ", "WIB": "पश्चिमी इंडोनेशिया वेळ", "AEDT": "ऑस्ट्रेलियन पूर्व सूर्यप्रकाश वेळ", "TMT": "तुर्कमेनिस्तान प्रमाण वेळ", "TMST": "तुर्कमेनिस्तान उन्हाळी वेळ", "ChST": "चामोरो प्रमाण वेळ", "CLT": "चिली प्रमाण वेळ", "LHST": "लॉर्ड होवे प्रमाण वेळ", "JDT": "जपान सूर्यप्रकाश वेळ", "ACST": "ऑस्ट्रेलियन मध्य प्रमाण वेळ", "PDT": "पॅसिफिक सूर्यप्रकाश वेळ", "WIT": "पौर्वात्य इंडोनेशिया वेळ", "WITA": "मध्\u200dय इंडोनेशिया वेळ", "BT": "भूतान वेळ", "AWST": "ऑस्ट्रेलियन पश्चिम प्रमाण वेळ", "SGT": "सिंगापूर प्रमाण वेळ", "COST": "कोलंबिया उन्हाळी वेळ", "ARST": "अर्जेंटिना उन्हाळी वेळ", "PST": "पॅसिफिक प्रमाण वेळ", "MDT": "मकाऊ ग्रीष्मकालीन वेळ", "CLST": "चिली उन्हाळी वेळ", "VET": "व्हेनेझुएला वेळ", "CHAST": "चॅथम प्रमाण वेळ", "HADT": "हवाई-अलूशन सूर्यप्रकाश वेळ", "ACWDT": "ऑस्ट्रेलियन मध्य-पश्चिम सूर्यप्रकाश वेळ", "HKT": "हाँग काँग प्रमाण वेळ", "MESZ": "मध्\u200dय युरोपियन उन्हाळी वेळ", "HAST": "हवाई-अलूशन प्रमाण वेळ", "WARST": "पश्चिमी अर्जेंटिना उन्हाळी वेळ", "AKDT": "अलास्का सूर्यप्रकाश वेळ", "IST": "भारतीय प्रमाण वेळ", "NZST": "न्यूझीलंड प्रमाण वेळ", "NZDT": "न्यूझीलंड सूर्यप्रकाश वेळ", "JST": "जपान प्रमाण वेळ", "OEZ": "पूर्व युरोपियन प्रमाण वेळ", "WART": "पश्चिमी अर्जेंटिना प्रमाण वेळ", "SAST": "दक्षिण आफ्रिका प्रमाण वेळ", "HKST": "हाँग काँग उन्हाळी वेळ", "ART": "अर्जेंटिना प्रमाण वेळ", "HNT": "न्यू फाउंडलंड प्रमाण वेळ", "WAT": "पश्चिम आफ्रिका प्रमाण वेळ", "EDT": "पौर्वात्य सूर्यप्रकाश वेळ", "∅∅∅": "ब्राझिलिया उन्हाळी वेळ", "MEZ": "मध्\u200dय युरोपियन प्रमाण वेळ", "ACWST": "ऑस्ट्रेलियन मध्य-पश्चिम प्रमाण वेळ", "EST": "पौर्वात्य प्रमाण वेळ", "AWDT": "ऑस्ट्रेलियन पश्चिम सूर्यप्रकाश वेळ", "UYT": "उरुग्वे प्रमाण वेळ", "WEZ": "पश्चिम युरोपियन प्रमाण वेळ", "COT": "कोलंबिया प्रमाण वेळ", "EAT": "पूर्व आफ्रिका वेळ", "MYT": "मलेशिया वेळ", "HAT": "न्यू फाउंडलंड सूर्यप्रकाश वेळ", "SRT": "सुरिनाम वेळ", "OESZ": "पूर्व युरोपियन उन्हाळी वेळ", "ACDT": "ऑस्ट्रेलियन मध्य सूर्यप्रकाश वेळ", "AEST": "ऑस्ट्रेलियन पूर्व प्रमाण वेळ", "AST": "अटलांटिक प्रमाण वेळ"}, + timezones: map[string]string{"EAT": "पूर्व आफ्रिका वेळ", "EST": "पौर्वात्य प्रमाण वेळ", "ART": "अर्जेंटिना प्रमाण वेळ", "AKST": "अलास्का प्रमाण वेळ", "WESZ": "पश्चिम युरोपियन उन्हाळी वेळ", "GFT": "फ्रेंच गयाना वेळ", "TMT": "तुर्कमेनिस्तान प्रमाण वेळ", "WAT": "पश्चिम आफ्रिका प्रमाण वेळ", "ECT": "इक्वेडोर वेळ", "COST": "कोलंबिया उन्हाळी वेळ", "EDT": "पौर्वात्य सूर्यप्रकाश वेळ", "HAT": "न्यू फाउंडलंड सूर्यप्रकाश वेळ", "WITA": "मध्\u200dय इंडोनेशिया वेळ", "LHDT": "लॉर्ड होवे सूर्यप्रकाश वेळ", "WARST": "पश्चिमी अर्जेंटिना उन्हाळी वेळ", "HNNOMX": "वायव्य मेक्सिको प्रमाण वेळ", "MESZ": "मध्\u200dय युरोपियन उन्हाळी वेळ", "WART": "पश्चिमी अर्जेंटिना प्रमाण वेळ", "ARST": "अर्जेंटिना उन्हाळी वेळ", "AEST": "ऑस्ट्रेलियन पूर्व प्रमाण वेळ", "JST": "जपान प्रमाण वेळ", "ChST": "चामोरो प्रमाण वेळ", "ACDT": "ऑस्ट्रेलियन मध्य सूर्यप्रकाश वेळ", "MST": "मकाऊ प्रमाणवेळ", "AKDT": "अलास्का सूर्यप्रकाश वेळ", "PDT": "पॅसिफिक सूर्यप्रकाश वेळ", "HEOG": "पश्चिम ग्रीनलँड उन्हाळी वेळ", "HNPM": "सेंट पियर आणि मिक्वेलोन प्रमाण वेळ", "MEZ": "मध्\u200dय युरोपियन प्रमाण वेळ", "HEEG": "पूर्व ग्रीनलँड उन्हाळी वेळ", "OEZ": "पूर्व युरोपियन प्रमाण वेळ", "COT": "कोलंबिया प्रमाण वेळ", "CDT": "केंद्रीय सूर्यप्रकाश वेळ", "ACWDT": "ऑस्ट्रेलियन मध्य-पश्चिम सूर्यप्रकाश वेळ", "CLST": "चिली उन्हाळी वेळ", "WAST": "पश्चिम आफ्रिका उन्हाळी वेळ", "HNPMX": "मेक्सिको पॅसिफिक प्रमाण वेळ", "BT": "भूतान वेळ", "HEPMX": "मेक्सिको पॅसिफिक सूर्यप्रकाश वेळ", "GYT": "गयाना वेळ", "SRT": "सुरिनाम वेळ", "PST": "पॅसिफिक प्रमाण वेळ", "CHADT": "चॅथम सूर्यप्रकाश वेळ", "∅∅∅": "अ\u200dॅमेझॉन उन्हाळी वेळ", "WEZ": "पश्चिम युरोपियन प्रमाण वेळ", "HEPM": "सेंट पियर आणि मिक्वेलोन सूर्यप्रकाश वेळ", "NZDT": "न्यूझीलंड सूर्यप्रकाश वेळ", "JDT": "जपान सूर्यप्रकाश वेळ", "MDT": "मकाऊ ग्रीष्मकालीन वेळ", "UYST": "उरुग्वे उन्हाळी वेळ", "HAST": "हवाई-अलूशन प्रमाण वेळ", "WIT": "पौर्वात्य इंडोनेशिया वेळ", "CAT": "मध्\u200dय आफ्रिका वेळ", "GMT": "ग्रीनिच प्रमाण वेळ", "CST": "केंद्रीय प्रमाण वेळ", "HADT": "हवाई-अलूशन सूर्यप्रकाश वेळ", "AWST": "ऑस्ट्रेलियन पश्चिम प्रमाण वेळ", "LHST": "लॉर्ड होवे प्रमाण वेळ", "TMST": "तुर्कमेनिस्तान उन्हाळी वेळ", "AST": "अटलांटिक प्रमाण वेळ", "ADT": "अटलांटिक सूर्यप्रकाश वेळ", "MYT": "मलेशिया वेळ", "UYT": "उरुग्वे प्रमाण वेळ", "SAST": "दक्षिण आफ्रिका प्रमाण वेळ", "WIB": "पश्चिमी इंडोनेशिया वेळ", "VET": "व्हेनेझुएला वेळ", "ACWST": "ऑस्ट्रेलियन मध्य-पश्चिम प्रमाण वेळ", "HNOG": "पश्चिम ग्रीनलँड प्रमाण वेळ", "HKT": "हाँग काँग प्रमाण वेळ", "SGT": "सिंगापूर प्रमाण वेळ", "HNCU": "क्यूबा प्रमाण वेळ", "NZST": "न्यूझीलंड प्रमाण वेळ", "CHAST": "चॅथम प्रमाण वेळ", "IST": "भारतीय प्रमाण वेळ", "BOT": "बोलिव्हिया वेळ", "HNEG": "पूर्व ग्रीनलँड प्रमाण वेळ", "ACST": "ऑस्ट्रेलियन मध्य प्रमाण वेळ", "AEDT": "ऑस्ट्रेलियन पूर्व सूर्यप्रकाश वेळ", "HENOMX": "वायव्य मेक्सिको सूर्यप्रकाश वेळ", "HECU": "क्यूबा सूर्यप्रकाश वेळ", "HNT": "न्यू फाउंडलंड प्रमाण वेळ", "AWDT": "ऑस्ट्रेलियन पश्चिम सूर्यप्रकाश वेळ", "HKST": "हाँग काँग उन्हाळी वेळ", "CLT": "चिली प्रमाण वेळ", "OESZ": "पूर्व युरोपियन उन्हाळी वेळ"}, } } @@ -438,7 +438,12 @@ func (mr *mr) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +457,12 @@ func (mr *mr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (mr *mr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mr_IN/mr_IN.go b/mr_IN/mr_IN.go index 7a7f3e89c..fe472166b 100644 --- a/mr_IN/mr_IN.go +++ b/mr_IN/mr_IN.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "जाने", "फेब्रु", "मार्च", "एप्रि", "मे", "जून", "जुलै", "ऑग", "सप्टें", "ऑक्टो", "नोव्हें", "डिसें"}, monthsNarrow: []string{"", "जा", "फे", "मा", "ए", "मे", "जू", "जु", "ऑ", "स", "ऑ", "नो", "डि"}, monthsWide: []string{"", "जानेवारी", "फेब्रुवारी", "मार्च", "एप्रिल", "मे", "जून", "जुलै", "ऑगस्ट", "सप्टेंबर", "ऑक्टोबर", "नोव्हेंबर", "डिसेंबर"}, @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"इ. स. पू.", "इ. स."}, erasNarrow: []string{"", ""}, erasWide: []string{"ईसवीसनपूर्व", "ईसवीसन"}, - timezones: map[string]string{"VET": "व्हेनेझुएला वेळ", "WIB": "पश्चिमी इंडोनेशिया वेळ", "CLST": "चिली उन्हाळी वेळ", "AWDT": "ऑस्ट्रेलियन पश्चिम सूर्यप्रकाश वेळ", "UYST": "उरुग्वे उन्हाळी वेळ", "WESZ": "पश्चिम युरोपियन उन्हाळी वेळ", "COT": "कोलंबिया प्रमाण वेळ", "HADT": "हवाई-अलूशन सूर्यप्रकाश वेळ", "SAST": "दक्षिण आफ्रिका प्रमाण वेळ", "AST": "अटलांटिक प्रमाण वेळ", "GYT": "गयाना वेळ", "ACWST": "ऑस्ट्रेलियन मध्य-पश्चिम प्रमाण वेळ", "MDT": "पर्वतीय सूर्यप्रकाश वेळ", "NZST": "न्यूझीलंड प्रमाण वेळ", "ChST": "चामोरो प्रमाण वेळ", "HKT": "हाँग काँग प्रमाण वेळ", "HKST": "हाँग काँग उन्हाळी वेळ", "ACDT": "ऑस्ट्रेलियन मध्य सूर्यप्रकाश वेळ", "SGT": "सिंगापूर प्रमाण वेळ", "WAST": "पश्चिम आफ्रिका उन्हाळी वेळ", "GMT": "ग्रीनिच प्रमाण वेळ", "AEDT": "ऑस्ट्रेलियन पूर्व सूर्यप्रकाश वेळ", "AKST": "अलास्का प्रमाण वेळ", "TMT": "तुर्कमेनिस्तान प्रमाण वेळ", "CLT": "चिली प्रमाण वेळ", "HNT": "न्यू फाउंडलंड प्रमाण वेळ", "JST": "जपान प्रमाण वेळ", "JDT": "जपान सूर्यप्रकाश वेळ", "WARST": "पश्चिमी अर्जेंटिना उन्हाळी वेळ", "IST": "भारतीय प्रमाण वेळ", "AKDT": "अलास्का सूर्यप्रकाश वेळ", "PST": "पॅसिफिक प्रमाण वेळ", "MST": "पर्वतीय प्रमाण वेळ", "SRT": "सुरिनाम वेळ", "ARST": "अर्जेंटिना उन्हाळी वेळ", "WART": "पश्चिमी अर्जेंटिना प्रमाण वेळ", "WAT": "पश्चिम आफ्रिका प्रमाण वेळ", "EAT": "पूर्व आफ्रिका वेळ", "EST": "पौर्वात्य प्रमाण वेळ", "CDT": "केंद्रीय सूर्यप्रकाश वेळ", "ART": "अर्जेंटिना प्रमाण वेळ", "NZDT": "न्यूझीलंड सूर्यप्रकाश वेळ", "ACWDT": "ऑस्ट्रेलियन मध्य-पश्चिम सूर्यप्रकाश वेळ", "AEST": "ऑस्ट्रेलियन पूर्व प्रमाण वेळ", "WEZ": "पश्चिम युरोपियन प्रमाण वेळ", "ACST": "ऑस्ट्रेलियन मध्य प्रमाण वेळ", "EDT": "पौर्वात्य सूर्यप्रकाश वेळ", "∅∅∅": "ब्राझिलिया उन्हाळी वेळ", "CHADT": "चॅथम सूर्यप्रकाश वेळ", "OEZ": "पूर्व युरोपियन प्रमाण वेळ", "PDT": "पॅसिफिक सूर्यप्रकाश वेळ", "HAT": "न्यू फाउंडलंड सूर्यप्रकाश वेळ", "UYT": "उरुग्वे प्रमाण वेळ", "GFT": "फ्रेंच गयाना वेळ", "OESZ": "पूर्व युरोपियन उन्हाळी वेळ", "WITA": "मध्\u200dय इंडोनेशिया वेळ", "MYT": "मलेशिया वेळ", "CST": "केंद्रीय प्रमाण वेळ", "LHST": "लॉर्ड होवे प्रमाण वेळ", "LHDT": "लॉर्ड होवे सूर्यप्रकाश वेळ", "COST": "कोलंबिया उन्हाळी वेळ", "TMST": "तुर्कमेनिस्तान उन्हाळी वेळ", "AWST": "ऑस्ट्रेलियन पश्चिम प्रमाण वेळ", "MEZ": "मध्\u200dय युरोपियन प्रमाण वेळ", "HAST": "हवाई-अलूशन प्रमाण वेळ", "ADT": "अटलांटिक सूर्यप्रकाश वेळ", "BOT": "बोलिव्हिया वेळ", "CAT": "मध्\u200dय आफ्रिका वेळ", "CHAST": "चॅथम प्रमाण वेळ", "ECT": "इक्वेडोर वेळ", "MESZ": "मध्\u200dय युरोपियन उन्हाळी वेळ", "BT": "भूतान वेळ", "WIT": "पौर्वात्य इंडोनेशिया वेळ"}, + timezones: map[string]string{"AST": "अटलांटिक प्रमाण वेळ", "WIB": "पश्चिमी इंडोनेशिया वेळ", "SRT": "सुरिनाम वेळ", "ACDT": "ऑस्ट्रेलियन मध्य सूर्यप्रकाश वेळ", "COST": "कोलंबिया उन्हाळी वेळ", "HECU": "क्यूबा सूर्यप्रकाश वेळ", "MDT": "मकाऊ ग्रीष्मकालीन वेळ", "ARST": "अर्जेंटिना उन्हाळी वेळ", "JDT": "जपान सूर्यप्रकाश वेळ", "WAT": "पश्चिम आफ्रिका प्रमाण वेळ", "MST": "मकाऊ प्रमाणवेळ", "HAT": "न्यू फाउंडलंड सूर्यप्रकाश वेळ", "HEPMX": "मेक्सिको पॅसिफिक सूर्यप्रकाश वेळ", "GYT": "गयाना वेळ", "BT": "भूतान वेळ", "ACWST": "ऑस्ट्रेलियन मध्य-पश्चिम प्रमाण वेळ", "SAST": "दक्षिण आफ्रिका प्रमाण वेळ", "COT": "कोलंबिया प्रमाण वेळ", "SGT": "सिंगापूर प्रमाण वेळ", "HNPMX": "मेक्सिको पॅसिफिक प्रमाण वेळ", "WARST": "पश्चिमी अर्जेंटिना उन्हाळी वेळ", "NZDT": "न्यूझीलंड सूर्यप्रकाश वेळ", "ACWDT": "ऑस्ट्रेलियन मध्य-पश्चिम सूर्यप्रकाश वेळ", "HNT": "न्यू फाउंडलंड प्रमाण वेळ", "AEST": "ऑस्ट्रेलियन पूर्व प्रमाण वेळ", "JST": "जपान प्रमाण वेळ", "BOT": "बोलिव्हिया वेळ", "AKDT": "अलास्का सूर्यप्रकाश वेळ", "CDT": "केंद्रीय सूर्यप्रकाश वेळ", "LHST": "लॉर्ड होवे प्रमाण वेळ", "ECT": "इक्वेडोर वेळ", "EDT": "पौर्वात्य सूर्यप्रकाश वेळ", "MYT": "मलेशिया वेळ", "HEPM": "सेंट पियर आणि मिक्वेलोन सूर्यप्रकाश वेळ", "ADT": "अटलांटिक सूर्यप्रकाश वेळ", "AEDT": "ऑस्ट्रेलियन पूर्व सूर्यप्रकाश वेळ", "HKT": "हाँग काँग प्रमाण वेळ", "WESZ": "पश्चिम युरोपियन उन्हाळी वेळ", "HNOG": "पश्चिम ग्रीनलँड प्रमाण वेळ", "AWST": "ऑस्ट्रेलियन पश्चिम प्रमाण वेळ", "AWDT": "ऑस्ट्रेलियन पश्चिम सूर्यप्रकाश वेळ", "WAST": "पश्चिम आफ्रिका उन्हाळी वेळ", "HENOMX": "वायव्य मेक्सिको सूर्यप्रकाश वेळ", "AKST": "अलास्का प्रमाण वेळ", "PST": "पॅसिफिक प्रमाण वेळ", "TMT": "तुर्कमेनिस्तान प्रमाण वेळ", "ACST": "ऑस्ट्रेलियन मध्य प्रमाण वेळ", "UYT": "उरुग्वे प्रमाण वेळ", "PDT": "पॅसिफिक सूर्यप्रकाश वेळ", "MEZ": "मध्\u200dय युरोपियन प्रमाण वेळ", "IST": "भारतीय प्रमाण वेळ", "CLST": "चिली उन्हाळी वेळ", "∅∅∅": "अ\u200dॅमेझॉन उन्हाळी वेळ", "HNNOMX": "वायव्य मेक्सिको प्रमाण वेळ", "EAT": "पूर्व आफ्रिका वेळ", "GMT": "ग्रीनिच प्रमाण वेळ", "EST": "पौर्वात्य प्रमाण वेळ", "OEZ": "पूर्व युरोपियन प्रमाण वेळ", "HNCU": "क्यूबा प्रमाण वेळ", "UYST": "उरुग्वे उन्हाळी वेळ", "ART": "अर्जेंटिना प्रमाण वेळ", "HEOG": "पश्चिम ग्रीनलँड उन्हाळी वेळ", "CHAST": "चॅथम प्रमाण वेळ", "CHADT": "चॅथम सूर्यप्रकाश वेळ", "CLT": "चिली प्रमाण वेळ", "GFT": "फ्रेंच गयाना वेळ", "WART": "पश्चिमी अर्जेंटिना प्रमाण वेळ", "VET": "व्हेनेझुएला वेळ", "HNEG": "पूर्व ग्रीनलँड प्रमाण वेळ", "CST": "केंद्रीय प्रमाण वेळ", "HADT": "हवाई-अलूशन सूर्यप्रकाश वेळ", "HKST": "हाँग काँग उन्हाळी वेळ", "WEZ": "पश्चिम युरोपियन प्रमाण वेळ", "HNPM": "सेंट पियर आणि मिक्वेलोन प्रमाण वेळ", "MESZ": "मध्\u200dय युरोपियन उन्हाळी वेळ", "ChST": "चामोरो प्रमाण वेळ", "TMST": "तुर्कमेनिस्तान उन्हाळी वेळ", "CAT": "मध्\u200dय आफ्रिका वेळ", "OESZ": "पूर्व युरोपियन उन्हाळी वेळ", "LHDT": "लॉर्ड होवे सूर्यप्रकाश वेळ", "NZST": "न्यूझीलंड प्रमाण वेळ", "HEEG": "पूर्व ग्रीनलँड उन्हाळी वेळ", "HAST": "हवाई-अलूशन प्रमाण वेळ", "WIT": "पौर्वात्य इंडोनेशिया वेळ", "WITA": "मध्\u200dय इंडोनेशिया वेळ"}, } } @@ -438,7 +438,12 @@ func (mr *mr_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -452,7 +457,12 @@ func (mr *mr_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -468,7 +478,12 @@ func (mr *mr_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mr.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ms/ms.go b/ms/ms.go index 009ac0abb..6e591fdc9 100644 --- a/ms/ms.go +++ b/ms/ms.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"S.M.", "TM"}, erasNarrow: []string{"", ""}, erasWide: []string{"S.M.", "TM"}, - timezones: map[string]string{"CAT": "Waktu Afrika Tengah", "BT": "Waktu Bhutan", "JDT": "Waktu Siang Jepun", "WEZ": "Waktu Piawai Eropah Barat", "EAT": "Waktu Afrika Timur", "AKDT": "Waktu Siang Alaska", "PDT": "Waktu Siang Pasifik", "TMST": "Waktu Musim Panas Turkmenistan", "CDT": "Waktu Siang Tengah", "OEZ": "Waktu Piawai Eropah Timur", "ACWDT": "Waktu Siang Barat Tengah Australia", "WAT": "Waktu Piawai Afrika Barat", "MESZ": "Waktu Musim Panas Eropah Tengah", "HADT": "Waktu Siang Hawaii-Aleutian", "GMT": "Waktu Min Greenwich", "HKT": "Waktu Piawai Hong Kong", "WAST": "Waktu Musim Panas Afrika Barat", "IST": "Waktu Piawai India", "WITA": "Waktu Indonesia Tengah", "NZDT": "Waktu Siang New Zealand", "ChST": "Waktu Piawai Chamorro", "SRT": "Waktu Suriname", "WIB": "Waktu Indonesia Barat", "HAST": "Waktu Piawai Hawaii-Aleutian", "∅∅∅": "Waktu Musim Panas Azores", "HAT": "Waktu Siang Newfoundland", "WIT": "Waktu Indonesia Timur", "UYT": "Waktu Piawai Uruguay", "AKST": "Waktu Piawai Alaska", "AWST": "Waktu Piawai Australia Barat", "CHADT": "Waktu Siang Chatham", "GFT": "Waktu Guyana Perancis", "ACST": "Waktu Piawai Australia Tengah", "VET": "Waktu Venezuela", "EST": "Waktu Piawai Timur", "MYT": "Waktu Malaysia", "WESZ": "Waktu Musim Panas Eropah Barat", "COST": "Waktu Musim Panas Colombia", "ART": "Waktu Piawai Argentina", "EDT": "Waktu Siang Timur", "CST": "Waktu Piawai Pusat", "CLT": "Waktu Piawai Chile", "ACDT": "Waktu Siang Australia Tengah", "COT": "Waktu Piawai Colombia", "TMT": "Waktu Piawai Turkmenistan", "LHDT": "Waktu Siang Lord Howe", "ADT": "Waktu Siang Atlantik", "BOT": "Waktu Bolivia", "JST": "Waktu Piawai Jepun", "SAST": "Waktu Piawai Afrika Selatan", "MST": "Waktu Piawai Pergunungan", "AWDT": "Waktu Siang Australia Barat", "HNT": "Waktu Piawai Newfoundland", "ECT": "Waktu Ecuador", "ARST": "Waktu Musim Panas Argentina", "MDT": "Waktu Hari Siang Pergunungan", "ACWST": "Waktu Piawai Barat Tengah Australia", "WART": "Waktu Piawai Argentina Barat", "WARST": "Waktu Musim Panas Argentina Barat", "PST": "Waktu Piawai Pasifik", "AST": "Waktu Piawai Atlantik", "GYT": "Waktu Guyana", "OESZ": "Waktu Musim Panas Eropah Timur", "AEDT": "Waktu Siang Australia Timur", "HKST": "Waktu Musim Panas Hong Kong", "AEST": "Waktu Piawai Timur Australia", "NZST": "Waktu Piawai New Zealand", "CLST": "Waktu Musim Panas Chile", "LHST": "Waktu Piawai Lord Howe", "UYST": "Waktu Musim Panas Uruguay", "CHAST": "Waktu Piawai Chatham", "MEZ": "Waktu Piawai Eropah Tengah", "SGT": "Waktu Piawai Singapura"}, + timezones: map[string]string{"ACWST": "Waktu Piawai Barat Tengah Australia", "WART": "Waktu Piawai Argentina Barat", "HNNOMX": "Waktu Piawai Barat Laut Mexico", "HNCU": "Waktu Piawai Cuba", "AEST": "Waktu Piawai Timur Australia", "LHST": "Waktu Piawai Lord Howe", "NZST": "Waktu Piawai New Zealand", "ChST": "Waktu Piawai Chamorro", "AKDT": "Waktu Siang Alaska", "CDT": "Waktu Siang Tengah", "UYT": "Waktu Piawai Uruguay", "AKST": "Waktu Piawai Alaska", "HEOG": "Waktu Musim Panas Greenland Barat", "WEZ": "Waktu Piawai Eropah Barat", "MESZ": "Waktu Musim Panas Eropah Tengah", "CLT": "Waktu Piawai Chile", "ACST": "Waktu Piawai Australia Tengah", "HECU": "Waktu Siang Cuba", "SRT": "Waktu Suriname", "GYT": "Waktu Guyana", "PDT": "Waktu Siang Pasifik", "WITA": "Waktu Indonesia Tengah", "MEZ": "Waktu Piawai Eropah Tengah", "JDT": "Waktu Siang Jepun", "TMST": "Waktu Musim Panas Turkmenistan", "COST": "Waktu Musim Panas Colombia", "HKT": "Waktu Piawai Hong Kong", "HKST": "Waktu Musim Panas Hong Kong", "HEEG": "Waktu Musim Panas Greenland Timur", "MDT": "MDT", "HNPMX": "Waktu Piawai Pasifik Mexico", "SAST": "Waktu Piawai Afrika Selatan", "PST": "Waktu Piawai Pasifik", "CHAST": "Waktu Piawai Chatham", "WAT": "Waktu Piawai Afrika Barat", "OEZ": "Waktu Piawai Eropah Timur", "EAT": "Waktu Afrika Timur", "HEPMX": "Waktu Siang Pasifik Mexico", "AEDT": "Waktu Siang Australia Timur", "JST": "Waktu Piawai Jepun", "∅∅∅": "Waktu Musim Panas Amazon", "WARST": "Waktu Musim Panas Argentina Barat", "HENOMX": "Waktu Siang Barat Laut Mexico", "EST": "Waktu Piawai Timur", "MST": "MST", "WIB": "Waktu Indonesia Barat", "BT": "Waktu Bhutan", "OESZ": "Waktu Musim Panas Eropah Timur", "ACWDT": "Waktu Siang Barat Tengah Australia", "LHDT": "Waktu Siang Lord Howe", "TMT": "Waktu Piawai Turkmenistan", "BOT": "Waktu Bolivia", "ACDT": "Waktu Siang Australia Tengah", "CAT": "Waktu Afrika Tengah", "HNOG": "Waktu Piawai Greenland Barat", "HAT": "Waktu Siang Newfoundland", "CLST": "Waktu Musim Panas Chile", "HNEG": "Waktu Piawai Greenland Timur", "WAST": "Waktu Musim Panas Afrika Barat", "COT": "Waktu Piawai Colombia", "ART": "Waktu Piawai Argentina", "WESZ": "Waktu Musim Panas Eropah Barat", "AWST": "Waktu Piawai Australia Barat", "GMT": "Waktu Min Greenwich", "SGT": "Waktu Piawai Singapura", "AWDT": "Waktu Siang Australia Barat", "NZDT": "Waktu Siang New Zealand", "ECT": "Waktu Ecuador", "UYST": "Waktu Musim Panas Uruguay", "WIT": "Waktu Indonesia Timur", "CST": "Waktu Piawai Pusat", "HAST": "Waktu Piawai Hawaii-Aleutian", "HNPM": "Waktu Piawai Saint Pierre dan Miquelon", "HEPM": "Waktu Siang Saint Pierre dan Miquelon", "CHADT": "Waktu Siang Chatham", "EDT": "Waktu Siang Timur", "AST": "Waktu Piawai Atlantik", "MYT": "Waktu Malaysia", "HADT": "Waktu Siang Hawaii-Aleutian", "ARST": "Waktu Musim Panas Argentina", "HNT": "Waktu Piawai Newfoundland", "IST": "Waktu Piawai India", "GFT": "Waktu Guyana Perancis", "ADT": "Waktu Siang Atlantik", "VET": "Waktu Venezuela"}, } } @@ -420,7 +420,12 @@ func (ms *ms) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -434,7 +439,12 @@ func (ms *ms) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +460,12 @@ func (ms *ms) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ms_BN/ms_BN.go b/ms_BN/ms_BN.go index 0d69c08f1..99d4e1678 100644 --- a/ms_BN/ms_BN.go +++ b/ms_BN/ms_BN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "$", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"S.M.", "TM"}, erasNarrow: []string{"", ""}, erasWide: []string{"S.M.", "TM"}, - timezones: map[string]string{"WEZ": "Waktu Piawai Eropah Barat", "HADT": "Waktu Siang Hawaii-Aleutian", "MYT": "Waktu Malaysia", "SGT": "Waktu Piawai Singapura", "WITA": "Waktu Indonesia Tengah", "WIT": "Waktu Indonesia Timur", "GYT": "Waktu Guyana", "LHDT": "Waktu Siang Lord Howe", "HKST": "Waktu Musim Panas Hong Kong", "COT": "Waktu Piawai Colombia", "MDT": "Waktu Hari Siang Pergunungan", "ChST": "Waktu Piawai Chamorro", "CHADT": "Waktu Siang Chatham", "AEST": "Waktu Piawai Timur Australia", "CDT": "Waktu Siang Tengah", "HNT": "Waktu Piawai Newfoundland", "MEZ": "Waktu Piawai Eropah Tengah", "ACWDT": "Waktu Siang Barat Tengah Australia", "EST": "Waktu Piawai Timur", "TMT": "Waktu Piawai Turkmenistan", "MST": "Waktu Piawai Pergunungan", "∅∅∅": "Waktu Musim Panas Brasilia", "LHST": "Waktu Piawai Lord Howe", "VET": "Waktu Venezuela", "WARST": "Waktu Musim Panas Argentina Barat", "AKDT": "Waktu Siang Alaska", "CST": "Waktu Piawai Pusat", "HAT": "Waktu Siang Newfoundland", "AWDT": "Waktu Siang Australia Barat", "ART": "Waktu Piawai Argentina", "AEDT": "Waktu Siang Australia Timur", "WAST": "Waktu Musim Panas Afrika Barat", "BOT": "Waktu Bolivia", "NZST": "Waktu Piawai New Zealand", "GMT": "Waktu Min Greenwich", "UYST": "Waktu Musim Panas Uruguay", "MESZ": "Waktu Musim Panas Eropah Tengah", "ACST": "Waktu Piawai Australia Tengah", "WART": "Waktu Piawai Argentina Barat", "SAST": "Waktu Piawai Afrika Selatan", "AWST": "Waktu Piawai Australia Barat", "UYT": "Waktu Piawai Uruguay", "WIB": "Waktu Indonesia Barat", "ARST": "Waktu Musim Panas Argentina", "EDT": "Waktu Siang Timur", "WAT": "Waktu Piawai Afrika Barat", "JST": "Waktu Piawai Jepun", "GFT": "Waktu Guyana Perancis", "COST": "Waktu Musim Panas Colombia", "IST": "Waktu Piawai India", "PDT": "Waktu Siang Pasifik", "CLST": "Waktu Musim Panas Chile", "OEZ": "Waktu Piawai Eropah Timur", "OESZ": "Waktu Musim Panas Eropah Timur", "ECT": "Waktu Ecuador", "JDT": "Waktu Siang Jepun", "HKT": "Waktu Piawai Hong Kong", "TMST": "Waktu Musim Panas Turkmenistan", "BT": "Waktu Bhutan", "WESZ": "Waktu Musim Panas Eropah Barat", "ACDT": "Waktu Siang Australia Tengah", "HAST": "Waktu Piawai Hawaii-Aleutian", "EAT": "Waktu Afrika Timur", "CAT": "Waktu Afrika Tengah", "SRT": "Waktu Suriname", "AKST": "Waktu Piawai Alaska", "AST": "Waktu Piawai Atlantik", "NZDT": "Waktu Siang New Zealand", "CLT": "Waktu Piawai Chile", "CHAST": "Waktu Piawai Chatham", "ACWST": "Waktu Piawai Barat Tengah Australia", "PST": "Waktu Piawai Pasifik", "ADT": "Waktu Siang Atlantik"}, + timezones: map[string]string{"WART": "Waktu Piawai Argentina Barat", "HKST": "Waktu Musim Panas Hong Kong", "AEST": "Waktu Piawai Timur Australia", "CLST": "Waktu Musim Panas Chile", "TMST": "Waktu Musim Panas Turkmenistan", "WIB": "Waktu Indonesia Barat", "HNOG": "Waktu Piawai Greenland Barat", "JDT": "Waktu Siang Jepun", "GFT": "Waktu Guyana Perancis", "ECT": "Waktu Ecuador", "GMT": "Waktu Min Greenwich", "WAT": "Waktu Piawai Afrika Barat", "WARST": "Waktu Musim Panas Argentina Barat", "CST": "Waktu Piawai Pusat", "HADT": "Waktu Siang Hawaii-Aleutian", "EST": "Waktu Piawai Timur", "GYT": "Waktu Guyana", "HAST": "Waktu Piawai Hawaii-Aleutian", "HNPM": "Waktu Piawai Saint Pierre dan Miquelon", "NZDT": "Waktu Siang New Zealand", "MESZ": "Waktu Musim Panas Eropah Tengah", "HNNOMX": "Waktu Piawai Barat Laut Mexico", "WIT": "Waktu Indonesia Timur", "ChST": "Waktu Piawai Chamorro", "BOT": "Waktu Bolivia", "OESZ": "Waktu Musim Panas Eropah Timur", "AST": "Waktu Piawai Atlantik", "ACWST": "Waktu Piawai Barat Tengah Australia", "HNT": "Waktu Piawai Newfoundland", "ART": "Waktu Piawai Argentina", "AWDT": "Waktu Siang Australia Barat", "JST": "Waktu Piawai Jepun", "CLT": "Waktu Piawai Chile", "HNPMX": "Waktu Piawai Pasifik Mexico", "CAT": "Waktu Afrika Tengah", "AKDT": "Waktu Siang Alaska", "VET": "Waktu Venezuela", "HKT": "Waktu Piawai Hong Kong", "SAST": "Waktu Piawai Afrika Selatan", "ACDT": "Waktu Siang Australia Tengah", "OEZ": "Waktu Piawai Eropah Timur", "COT": "Waktu Piawai Colombia", "COST": "Waktu Musim Panas Colombia", "MST": "MST", "HAT": "Waktu Siang Newfoundland", "WITA": "Waktu Indonesia Tengah", "CHAST": "Waktu Piawai Chatham", "HEEG": "Waktu Musim Panas Greenland Timur", "TMT": "Waktu Piawai Turkmenistan", "CHADT": "Waktu Siang Chatham", "MYT": "Waktu Malaysia", "ACWDT": "Waktu Siang Barat Tengah Australia", "AWST": "Waktu Piawai Australia Barat", "HNEG": "Waktu Piawai Greenland Timur", "EAT": "Waktu Afrika Timur", "CDT": "Waktu Siang Tengah", "UYST": "Waktu Musim Panas Uruguay", "PDT": "Waktu Siang Pasifik", "MEZ": "Waktu Piawai Eropah Tengah", "LHDT": "Waktu Siang Lord Howe", "EDT": "Waktu Siang Timur", "AKST": "Waktu Piawai Alaska", "HEPM": "Waktu Siang Saint Pierre dan Miquelon", "HNCU": "Waktu Piawai Cuba", "SRT": "Waktu Suriname", "WESZ": "Waktu Musim Panas Eropah Barat", "SGT": "Waktu Piawai Singapura", "ADT": "Waktu Siang Atlantik", "BT": "Waktu Bhutan", "NZST": "Waktu Piawai New Zealand", "WAST": "Waktu Musim Panas Afrika Barat", "HENOMX": "Waktu Siang Barat Laut Mexico", "HECU": "Waktu Siang Cuba", "IST": "Waktu Piawai India", "HEOG": "Waktu Musim Panas Greenland Barat", "PST": "Waktu Piawai Pasifik", "WEZ": "Waktu Piawai Eropah Barat", "HEPMX": "Waktu Siang Pasifik Mexico", "MDT": "MDT", "UYT": "Waktu Piawai Uruguay", "ARST": "Waktu Musim Panas Argentina", "AEDT": "Waktu Siang Australia Timur", "LHST": "Waktu Piawai Lord Howe", "∅∅∅": "Waktu Musim Panas Amazon", "ACST": "Waktu Piawai Australia Tengah"}, } } @@ -428,7 +428,12 @@ func (ms *ms_BN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (ms *ms_BN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +470,12 @@ func (ms *ms_BN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ms_MY/ms_MY.go b/ms_MY/ms_MY.go index 0e7be1dbf..2c154a103 100644 --- a/ms_MY/ms_MY.go +++ b/ms_MY/ms_MY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"S.M.", "TM"}, erasNarrow: []string{"", ""}, erasWide: []string{"S.M.", "TM"}, - timezones: map[string]string{"AEST": "Waktu Piawai Timur Australia", "WART": "Waktu Piawai Argentina Barat", "CDT": "Waktu Siang Tengah", "CLST": "Waktu Musim Panas Chile", "UYT": "Waktu Piawai Uruguay", "OESZ": "Waktu Musim Panas Eropah Timur", "EST": "Waktu Piawai Timur", "PDT": "Waktu Siang Pasifik", "GYT": "Waktu Guyana", "GMT": "Waktu Min Greenwich", "CHAST": "Waktu Piawai Chatham", "WARST": "Waktu Musim Panas Argentina Barat", "PST": "Waktu Piawai Pasifik", "TMST": "Waktu Musim Panas Turkmenistan", "NZDT": "Waktu Siang New Zealand", "HKST": "Waktu Musim Panas Hong Kong", "WAT": "Waktu Piawai Afrika Barat", "AWST": "Waktu Piawai Australia Barat", "LHDT": "Waktu Siang Lord Howe", "SRT": "Waktu Suriname", "SAST": "Waktu Piawai Afrika Selatan", "AWDT": "Waktu Siang Australia Barat", "∅∅∅": "Waktu Musim Panas Brasilia", "WESZ": "Waktu Musim Panas Eropah Barat", "MYT": "Waktu Malaysia", "BT": "Waktu Bhutan", "HADT": "Waktu Siang Hawaii-Aleutian", "AST": "Waktu Piawai Atlantik", "MST": "Waktu Piawai Pergunungan", "CLT": "Waktu Piawai Chile", "ADT": "Waktu Siang Atlantik", "CST": "Waktu Piawai Pusat", "ChST": "Waktu Piawai Chamorro", "WIT": "Waktu Indonesia Timur", "WEZ": "Waktu Piawai Eropah Barat", "MEZ": "Waktu Piawai Eropah Tengah", "ECT": "Waktu Ecuador", "VET": "Waktu Venezuela", "HAT": "Waktu Siang Newfoundland", "IST": "Waktu Piawai India", "AKDT": "Waktu Siang Alaska", "UYST": "Waktu Musim Panas Uruguay", "JDT": "Waktu Siang Jepun", "HKT": "Waktu Piawai Hong Kong", "HAST": "Waktu Piawai Hawaii-Aleutian", "ACWST": "Waktu Piawai Barat Tengah Australia", "ART": "Waktu Piawai Argentina", "EDT": "Waktu Siang Timur", "NZST": "Waktu Piawai New Zealand", "WITA": "Waktu Indonesia Tengah", "TMT": "Waktu Piawai Turkmenistan", "BOT": "Waktu Bolivia", "CAT": "Waktu Afrika Tengah", "JST": "Waktu Piawai Jepun", "OEZ": "Waktu Piawai Eropah Timur", "ACDT": "Waktu Siang Australia Tengah", "SGT": "Waktu Piawai Singapura", "COT": "Waktu Piawai Colombia", "AEDT": "Waktu Siang Australia Timur", "HNT": "Waktu Piawai Newfoundland", "LHST": "Waktu Piawai Lord Howe", "CHADT": "Waktu Siang Chatham", "WIB": "Waktu Indonesia Barat", "EAT": "Waktu Afrika Timur", "WAST": "Waktu Musim Panas Afrika Barat", "AKST": "Waktu Piawai Alaska", "MDT": "Waktu Hari Siang Pergunungan", "GFT": "Waktu Guyana Perancis", "MESZ": "Waktu Musim Panas Eropah Tengah", "ACST": "Waktu Piawai Australia Tengah", "COST": "Waktu Musim Panas Colombia", "ACWDT": "Waktu Siang Barat Tengah Australia", "ARST": "Waktu Musim Panas Argentina"}, + timezones: map[string]string{"WESZ": "Waktu Musim Panas Eropah Barat", "AWST": "Waktu Piawai Australia Barat", "HEPMX": "Waktu Siang Pasifik Mexico", "AKDT": "Waktu Siang Alaska", "WIB": "Waktu Indonesia Barat", "BT": "Waktu Bhutan", "∅∅∅": "Waktu Musim Panas Amazon", "WAT": "Waktu Piawai Afrika Barat", "ART": "Waktu Piawai Argentina", "ARST": "Waktu Musim Panas Argentina", "MEZ": "Waktu Piawai Eropah Tengah", "IST": "Waktu Piawai India", "WAST": "Waktu Musim Panas Afrika Barat", "SRT": "Waktu Suriname", "GFT": "Waktu Guyana Perancis", "EAT": "Waktu Afrika Timur", "WART": "Waktu Piawai Argentina Barat", "MYT": "Waktu Malaysia", "NZST": "Waktu Piawai New Zealand", "NZDT": "Waktu Siang New Zealand", "CLST": "Waktu Musim Panas Chile", "HNEG": "Waktu Piawai Greenland Timur", "PDT": "Waktu Siang Pasifik", "CHAST": "Waktu Piawai Chatham", "JDT": "Waktu Siang Jepun", "ECT": "Waktu Ecuador", "WIT": "Waktu Indonesia Timur", "HNOG": "Waktu Piawai Greenland Barat", "HKT": "Waktu Piawai Hong Kong", "WITA": "Waktu Indonesia Tengah", "AEST": "Waktu Piawai Timur Australia", "LHDT": "Waktu Siang Lord Howe", "HNPMX": "Waktu Piawai Pasifik Mexico", "HADT": "Waktu Siang Hawaii-Aleutian", "HAT": "Waktu Siang Newfoundland", "TMST": "Waktu Musim Panas Turkmenistan", "HNCU": "Waktu Piawai Cuba", "EDT": "Waktu Siang Timur", "HAST": "Waktu Piawai Hawaii-Aleutian", "COT": "Waktu Piawai Colombia", "EST": "Waktu Piawai Timur", "CST": "Waktu Piawai Pusat", "HNT": "Waktu Piawai Newfoundland", "HEEG": "Waktu Musim Panas Greenland Timur", "ACST": "Waktu Piawai Australia Tengah", "OEZ": "Waktu Piawai Eropah Timur", "OESZ": "Waktu Musim Panas Eropah Timur", "HEOG": "Waktu Musim Panas Greenland Barat", "UYST": "Waktu Musim Panas Uruguay", "TMT": "Waktu Piawai Turkmenistan", "ChST": "Waktu Piawai Chamorro", "HENOMX": "Waktu Siang Barat Laut Mexico", "GYT": "Waktu Guyana", "AEDT": "Waktu Siang Australia Timur", "AWDT": "Waktu Siang Australia Barat", "HEPM": "Waktu Siang Saint Pierre dan Miquelon", "CHADT": "Waktu Siang Chatham", "COST": "Waktu Musim Panas Colombia", "MST": "MST", "MDT": "MDT", "ACWDT": "Waktu Siang Barat Tengah Australia", "HNPM": "Waktu Piawai Saint Pierre dan Miquelon", "CAT": "Waktu Afrika Tengah", "CDT": "Waktu Siang Tengah", "ADT": "Waktu Siang Atlantik", "ACWST": "Waktu Piawai Barat Tengah Australia", "LHST": "Waktu Piawai Lord Howe", "BOT": "Waktu Bolivia", "WARST": "Waktu Musim Panas Argentina Barat", "VET": "Waktu Venezuela", "HNNOMX": "Waktu Piawai Barat Laut Mexico", "SGT": "Waktu Piawai Singapura", "WEZ": "Waktu Piawai Eropah Barat", "AST": "Waktu Piawai Atlantik", "UYT": "Waktu Piawai Uruguay", "HKST": "Waktu Musim Panas Hong Kong", "SAST": "Waktu Piawai Afrika Selatan", "JST": "Waktu Piawai Jepun", "CLT": "Waktu Piawai Chile", "ACDT": "Waktu Siang Australia Tengah", "PST": "Waktu Piawai Pasifik", "MESZ": "Waktu Musim Panas Eropah Tengah", "HECU": "Waktu Siang Cuba", "GMT": "Waktu Min Greenwich", "AKST": "Waktu Piawai Alaska"}, } } @@ -420,7 +420,12 @@ func (ms *ms_MY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -434,7 +439,12 @@ func (ms *ms_MY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +460,12 @@ func (ms *ms_MY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ms_SG/ms_SG.go b/ms_SG/ms_SG.go index c341edb94..99b70140a 100644 --- a/ms_SG/ms_SG.go +++ b/ms_SG/ms_SG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"S.M.", "TM"}, erasNarrow: []string{"", ""}, erasWide: []string{"S.M.", "TM"}, - timezones: map[string]string{"SGT": "Waktu Piawai Singapura", "AEDT": "Waktu Siang Australia Timur", "ART": "Waktu Piawai Argentina", "PST": "Waktu Piawai Pasifik", "WITA": "Waktu Indonesia Tengah", "LHDT": "Waktu Siang Lord Howe", "ACDT": "Waktu Siang Australia Tengah", "COST": "Waktu Musim Panas Colombia", "ECT": "Waktu Ecuador", "EST": "Waktu Piawai Timur", "NZST": "Waktu Piawai New Zealand", "VET": "Waktu Venezuela", "WART": "Waktu Piawai Argentina Barat", "AKST": "Waktu Piawai Alaska", "AWDT": "Waktu Siang Australia Barat", "CHAST": "Waktu Piawai Chatham", "GFT": "Waktu Guyana Perancis", "MEZ": "Waktu Piawai Eropah Tengah", "COT": "Waktu Piawai Colombia", "HADT": "Waktu Siang Hawaii-Aleutian", "ADT": "Waktu Siang Atlantik", "EDT": "Waktu Siang Timur", "MYT": "Waktu Malaysia", "PDT": "Waktu Siang Pasifik", "WAST": "Waktu Musim Panas Afrika Barat", "CLT": "Waktu Piawai Chile", "OEZ": "Waktu Piawai Eropah Timur", "ARST": "Waktu Musim Panas Argentina", "IST": "Waktu Piawai India", "OESZ": "Waktu Musim Panas Eropah Timur", "WIB": "Waktu Indonesia Barat", "MESZ": "Waktu Musim Panas Eropah Tengah", "AEST": "Waktu Piawai Timur Australia", "UYT": "Waktu Piawai Uruguay", "JDT": "Waktu Siang Jepun", "CHADT": "Waktu Siang Chatham", "HAST": "Waktu Piawai Hawaii-Aleutian", "ACWST": "Waktu Piawai Barat Tengah Australia", "WAT": "Waktu Piawai Afrika Barat", "∅∅∅": "Waktu Musim Panas Peru", "CLST": "Waktu Musim Panas Chile", "BOT": "Waktu Bolivia", "HAT": "Waktu Siang Newfoundland", "TMST": "Waktu Musim Panas Turkmenistan", "JST": "Waktu Piawai Jepun", "BT": "Waktu Bhutan", "AWST": "Waktu Piawai Australia Barat", "AST": "Waktu Piawai Atlantik", "AKDT": "Waktu Siang Alaska", "CDT": "Waktu Siang Tengah", "GYT": "Waktu Guyana", "ChST": "Waktu Piawai Chamorro", "CAT": "Waktu Afrika Tengah", "LHST": "Waktu Piawai Lord Howe", "UYST": "Waktu Musim Panas Uruguay", "SRT": "Waktu Suriname", "WEZ": "Waktu Piawai Eropah Barat", "ACST": "Waktu Piawai Australia Tengah", "HNT": "Waktu Piawai Newfoundland", "HKST": "Waktu Musim Panas Hong Kong", "WARST": "Waktu Musim Panas Argentina Barat", "SAST": "Waktu Piawai Afrika Selatan", "TMT": "Waktu Piawai Turkmenistan", "CST": "Waktu Piawai Pusat", "MST": "Waktu Piawai Pergunungan", "ACWDT": "Waktu Siang Barat Tengah Australia", "NZDT": "Waktu Siang New Zealand", "WIT": "Waktu Indonesia Timur", "GMT": "Waktu Min Greenwich", "EAT": "Waktu Afrika Timur", "MDT": "Waktu Hari Siang Pergunungan", "WESZ": "Waktu Musim Panas Eropah Barat", "HKT": "Waktu Piawai Hong Kong"}, + timezones: map[string]string{"AKST": "Waktu Piawai Alaska", "PDT": "Waktu Siang Pasifik", "SAST": "Waktu Piawai Afrika Selatan", "ACDT": "Waktu Siang Australia Tengah", "TMST": "Waktu Musim Panas Turkmenistan", "WART": "Waktu Piawai Argentina Barat", "GMT": "Waktu Min Greenwich", "HEPMX": "Waktu Siang Pasifik Mexico", "HAST": "Waktu Piawai Hawaii-Aleutian", "AWDT": "Waktu Siang Australia Barat", "CLT": "Waktu Piawai Chile", "WARST": "Waktu Musim Panas Argentina Barat", "HNNOMX": "Waktu Piawai Barat Laut Mexico", "AST": "Waktu Piawai Atlantik", "ACWST": "Waktu Piawai Barat Tengah Australia", "HNT": "Waktu Piawai Newfoundland", "AEST": "Waktu Piawai Timur Australia", "OESZ": "Waktu Musim Panas Eropah Timur", "CLST": "Waktu Musim Panas Chile", "JDT": "Waktu Siang Jepun", "BT": "Waktu Bhutan", "ACST": "Waktu Piawai Australia Tengah", "EST": "Waktu Piawai Timur", "WESZ": "Waktu Musim Panas Eropah Barat", "HNPM": "Waktu Piawai Saint Pierre dan Miquelon", "SGT": "Waktu Piawai Singapura", "CHADT": "Waktu Siang Chatham", "HEEG": "Waktu Musim Panas Greenland Timur", "WIT": "Waktu Indonesia Timur", "SRT": "Waktu Suriname", "WITA": "Waktu Indonesia Tengah", "LHST": "Waktu Piawai Lord Howe", "WAST": "Waktu Musim Panas Afrika Barat", "HECU": "Waktu Siang Cuba", "CDT": "Waktu Siang Tengah", "GFT": "Waktu Guyana Perancis", "WAT": "Waktu Piawai Afrika Barat", "COT": "Waktu Piawai Colombia", "MYT": "Waktu Malaysia", "ART": "Waktu Piawai Argentina", "LHDT": "Waktu Siang Lord Howe", "ChST": "Waktu Piawai Chamorro", "MEZ": "Waktu Piawai Eropah Tengah", "HENOMX": "Waktu Siang Barat Laut Mexico", "MDT": "MDT", "WIB": "Waktu Indonesia Barat", "HKT": "Waktu Piawai Hong Kong", "HKST": "Waktu Musim Panas Hong Kong", "MST": "MST", "UYST": "Waktu Musim Panas Uruguay", "PST": "Waktu Piawai Pasifik", "NZST": "Waktu Piawai New Zealand", "EDT": "Waktu Siang Timur", "ECT": "Waktu Ecuador", "GYT": "Waktu Guyana", "UYT": "Waktu Piawai Uruguay", "ACWDT": "Waktu Siang Barat Tengah Australia", "ARST": "Waktu Musim Panas Argentina", "AEDT": "Waktu Siang Australia Timur", "IST": "Waktu Piawai India", "HNEG": "Waktu Piawai Greenland Timur", "COST": "Waktu Musim Panas Colombia", "HAT": "Waktu Siang Newfoundland", "HEPM": "Waktu Siang Saint Pierre dan Miquelon", "CHAST": "Waktu Piawai Chatham", "EAT": "Waktu Afrika Timur", "HNCU": "Waktu Piawai Cuba", "HNPMX": "Waktu Piawai Pasifik Mexico", "CST": "Waktu Piawai Pusat", "HADT": "Waktu Siang Hawaii-Aleutian", "HNOG": "Waktu Piawai Greenland Barat", "MESZ": "Waktu Musim Panas Eropah Tengah", "CAT": "Waktu Afrika Tengah", "WEZ": "Waktu Piawai Eropah Barat", "OEZ": "Waktu Piawai Eropah Timur", "AKDT": "Waktu Siang Alaska", "ADT": "Waktu Siang Atlantik", "HEOG": "Waktu Musim Panas Greenland Barat", "∅∅∅": "Waktu Musim Panas Amazon", "BOT": "Waktu Bolivia", "JST": "Waktu Piawai Jepun", "TMT": "Waktu Piawai Turkmenistan", "VET": "Waktu Venezuela", "AWST": "Waktu Piawai Australia Barat", "NZDT": "Waktu Siang New Zealand"}, } } @@ -420,7 +420,12 @@ func (ms *ms_SG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -434,7 +439,12 @@ func (ms *ms_SG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +460,12 @@ func (ms *ms_SG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ms.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mt/mt.go b/mt/mt.go index cce182ca2..ae54b6c0c 100644 --- a/mt/mt.go +++ b/mt/mt.go @@ -53,19 +53,21 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "Rs", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Fra", "Mar", "Apr", "Mej", "Ġun", "Lul", "Aww", "Set", "Ott", "Nov", "Diċ"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Ġ", "L", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Jannar", "Frar", "Marzu", "April", "Mejju", "Ġunju", "Lulju", "Awwissu", "Settembru", "Ottubru", "Novembru", "Diċembru"}, daysAbbreviated: []string{"Ħad", "Tne", "Tli", "Erb", "Ħam", "Ġim", "Sib"}, - daysNarrow: []string{"Ħ", "T", "T", "E", "Ħ", "Ġ", "S"}, + daysNarrow: []string{"Ħd", "T", "Tl", "Er", "Ħm", "Ġm", "Sb"}, + daysShort: []string{"Ħad", "Tne", "Tli", "Erb", "Ħam", "Ġim", "Sib"}, daysWide: []string{"Il-Ħadd", "It-Tnejn", "It-Tlieta", "L-Erbgħa", "Il-Ħamis", "Il-Ġimgħa", "Is-Sibt"}, periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"QK", "WK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Qabel Kristu", "Wara Kristu"}, - timezones: map[string]string{"CLT": "CLT", "ACDT": "ACDT", "AKDT": "AKDT", "WITA": "WITA", "LHDT": "LHDT", "UYT": "UYT", "WEZ": "WEZ", "VET": "VET", "WARST": "WARST", "PDT": "PDT", "ARST": "ARST", "HAT": "HAT", "MESZ": "Ħin Ċentrali Ewropew tas-Sajf", "COT": "COT", "COST": "COST", "MDT": "MDT", "NZST": "NZST", "ChST": "ChST", "GFT": "GFT", "WAST": "WAST", "AST": "AST", "WAT": "WAT", "LHST": "LHST", "UYST": "UYST", "CHAST": "CHAST", "CHADT": "CHADT", "ACWST": "ACWST", "AEDT": "AEDT", "BOT": "BOT", "CLST": "CLST", "WIT": "WIT", "HADT": "HADT", "ADT": "ADT", "TMT": "TMT", "OESZ": "OESZ", "HKT": "HKT", "IST": "IST", "MST": "MST", "HNT": "HNT", "WESZ": "WESZ", "ACST": "ACST", "WART": "WART", "GYT": "GYT", "CAT": "CAT", "AWDT": "AWDT", "HAST": "HAST", "EAT": "EAT", "SAST": "SAST", "CST": "CST", "OEZ": "OEZ", "WIB": "WIB", "ART": "ART", "AKST": "AKST", "EST": "EST", "EDT": "EDT", "NZDT": "NZDT", "AWST": "AWST", "CDT": "CDT", "MYT": "MYT", "GMT": "GMT", "JDT": "JDT", "HKST": "HKST", "∅∅∅": "∅∅∅", "SRT": "SRT", "MEZ": "Ħin Ċentrali Ewropew Standard", "ECT": "ECT", "PST": "PST", "TMST": "TMST", "JST": "JST", "SGT": "SGT", "ACWDT": "ACWDT", "AEST": "AEST", "BT": "BT"}, + timezones: map[string]string{"ACWDT": "ACWDT", "NZDT": "NZDT", "MEZ": "Ħin Ċentrali Ewropew Standard", "BOT": "BOT", "MDT": "MDT", "GYT": "GYT", "WIB": "WIB", "HKST": "HKST", "GMT": "GMT", "GFT": "GFT", "HENOMX": "HENOMX", "COT": "COT", "PDT": "PDT", "WITA": "WITA", "HEPM": "HEPM", "IST": "IST", "WAST": "WAST", "HNPMX": "HNPMX", "UYT": "UYT", "VET": "VET", "HEOG": "HEOG", "AWST": "AWST", "CHAST": "CHAST", "HEPMX": "HEPMX", "AST": "AST", "WIT": "WIT", "AWDT": "AWDT", "CLST": "CLST", "TMST": "TMST", "OESZ": "OESZ", "CDT": "CDT", "ACWST": "ACWST", "PST": "PST", "HEEG": "HEEG", "MYT": "MYT", "BT": "BT", "JDT": "JDT", "HNCU": "HNCU", "UYST": "UYST", "HAT": "HAT", "CLT": "CLT", "TMT": "TMT", "AEDT": "AEDT", "MESZ": "Ħin Ċentrali Ewropew tas-Sajf", "LHDT": "LHDT", "ARST": "ARST", "SAST": "SAST", "JST": "JST", "HNEG": "HNEG", "WAT": "WAT", "EDT": "EDT", "HADT": "HADT", "ART": "ART", "OEZ": "OEZ", "ECT": "ECT", "HECU": "HECU", "EST": "EST", "AKDT": "AKDT", "ACDT": "ACDT", "HNOG": "HNOG", "EAT": "EAT", "COST": "COST", "SGT": "SGT", "HAST": "HAST", "SRT": "SRT", "HNT": "HNT", "HNNOMX": "HNNOMX", "WARST": "WARST", "WESZ": "WESZ", "HKT": "HKT", "CAT": "CAT", "ACST": "ACST", "AEST": "AEST", "CHADT": "CHADT", "ChST": "ChST", "HNPM": "HNPM", "NZST": "NZST", "LHST": "LHST", "∅∅∅": "∅∅∅", "WART": "WART", "MST": "MST", "ADT": "ADT", "WEZ": "WEZ", "AKST": "AKST", "CST": "CST"}, } } @@ -400,7 +402,12 @@ func (mt *mt) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -418,7 +425,12 @@ func (mt *mt) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +445,12 @@ func (mt *mt) FmtDateLong(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x99, 0x20}...) b = append(b, mt.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +467,12 @@ func (mt *mt) FmtDateFull(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x99, 0x20}...) b = append(b, mt.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mt_MT/mt_MT.go b/mt_MT/mt_MT.go index 33d4999c7..52f320028 100644 --- a/mt_MT/mt_MT.go +++ b/mt_MT/mt_MT.go @@ -53,19 +53,21 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Fra", "Mar", "Apr", "Mej", "Ġun", "Lul", "Aww", "Set", "Ott", "Nov", "Diċ"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "Ġ", "L", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Jannar", "Frar", "Marzu", "April", "Mejju", "Ġunju", "Lulju", "Awwissu", "Settembru", "Ottubru", "Novembru", "Diċembru"}, daysAbbreviated: []string{"Ħad", "Tne", "Tli", "Erb", "Ħam", "Ġim", "Sib"}, - daysNarrow: []string{"Ħ", "T", "T", "E", "Ħ", "Ġ", "S"}, + daysNarrow: []string{"Ħd", "T", "Tl", "Er", "Ħm", "Ġm", "Sb"}, + daysShort: []string{"Ħad", "Tne", "Tli", "Erb", "Ħam", "Ġim", "Sib"}, daysWide: []string{"Il-Ħadd", "It-Tnejn", "It-Tlieta", "L-Erbgħa", "Il-Ħamis", "Il-Ġimgħa", "Is-Sibt"}, periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"QK", "WK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Qabel Kristu", "Wara Kristu"}, - timezones: map[string]string{"AST": "AST", "JDT": "JDT", "MESZ": "Ħin Ċentrali Ewropew tas-Sajf", "IST": "IST", "WARST": "WARST", "MDT": "MDT", "WITA": "WITA", "HKST": "HKST", "OESZ": "OESZ", "WEZ": "WEZ", "COT": "COT", "EAT": "EAT", "ECT": "ECT", "ChST": "ChST", "CST": "CST", "LHDT": "LHDT", "HKT": "HKT", "OEZ": "OEZ", "ARST": "ARST", "TMT": "TMT", "BOT": "BOT", "AWDT": "AWDT", "JST": "JST", "WAST": "WAST", "TMST": "TMST", "HAST": "HAST", "ADT": "ADT", "AWST": "AWST", "HNT": "HNT", "SGT": "SGT", "COST": "COST", "LHST": "LHST", "GFT": "GFT", "ACDT": "ACDT", "GMT": "GMT", "PDT": "PDT", "SAST": "SAST", "WAT": "WAT", "AKST": "AKST", "WIT": "WIT", "UYST": "UYST", "VET": "VET", "MYT": "MYT", "EST": "EST", "SRT": "SRT", "ACWST": "ACWST", "MST": "MST", "UYT": "UYT", "ACST": "ACST", "ART": "ART", "PST": "PST", "NZDT": "NZDT", "AEDT": "AEDT", "AKDT": "AKDT", "HADT": "HADT", "∅∅∅": "∅∅∅", "NZST": "NZST", "CLST": "CLST", "CAT": "CAT", "BT": "BT", "MEZ": "Ħin Ċentrali Ewropew Standard", "WART": "WART", "CHAST": "CHAST", "HAT": "HAT", "WESZ": "WESZ", "EDT": "EDT", "CDT": "CDT", "ACWDT": "ACWDT", "GYT": "GYT", "CLT": "CLT", "CHADT": "CHADT", "WIB": "WIB", "AEST": "AEST"}, + timezones: map[string]string{"HEEG": "HEEG", "EDT": "EDT", "AWST": "AWST", "ARST": "ARST", "WITA": "WITA", "MEZ": "Ħin Ċentrali Ewropew Standard", "CLST": "CLST", "AST": "AST", "HADT": "HADT", "BT": "BT", "HNPM": "HNPM", "ChST": "ChST", "HENOMX": "HENOMX", "GMT": "GMT", "MDT": "MDT", "ART": "ART", "NZDT": "NZDT", "IST": "IST", "WAT": "WAT", "COST": "COST", "SRT": "SRT", "HAST": "HAST", "CHADT": "CHADT", "ACDT": "ACDT", "CAT": "CAT", "WAST": "WAST", "WARST": "WARST", "HECU": "HECU", "WIB": "WIB", "GYT": "GYT", "NZST": "NZST", "TMST": "TMST", "GFT": "GFT", "OEZ": "OEZ", "ADT": "ADT", "UYT": "UYT", "WESZ": "WESZ", "WIT": "WIT", "MESZ": "Ħin Ċentrali Ewropew tas-Sajf", "MST": "MST", "HNPMX": "HNPMX", "CHAST": "CHAST", "HEOG": "HEOG", "ACWDT": "ACWDT", "HNT": "HNT", "AWDT": "AWDT", "LHDT": "LHDT", "SGT": "SGT", "VET": "VET", "JST": "JST", "WART": "WART", "MYT": "MYT", "AEDT": "AEDT", "∅∅∅": "∅∅∅", "ACST": "ACST", "PDT": "PDT", "AEST": "AEST", "HEPM": "HEPM", "JDT": "JDT", "AKST": "AKST", "HAT": "HAT", "CLT": "CLT", "TMT": "TMT", "EAT": "EAT", "COT": "COT", "CST": "CST", "LHST": "LHST", "HKT": "HKT", "SAST": "SAST", "HNNOMX": "HNNOMX", "WEZ": "WEZ", "PST": "PST", "ACWST": "ACWST", "HKST": "HKST", "BOT": "BOT", "HNEG": "HNEG", "ECT": "ECT", "OESZ": "OESZ", "HNOG": "HNOG", "EST": "EST", "HEPMX": "HEPMX", "UYST": "UYST", "AKDT": "AKDT", "CDT": "CDT", "HNCU": "HNCU"}, } } @@ -400,7 +402,12 @@ func (mt *mt_MT) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -418,7 +425,12 @@ func (mt *mt_MT) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +445,12 @@ func (mt *mt_MT) FmtDateLong(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x99, 0x20}...) b = append(b, mt.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +467,12 @@ func (mt *mt_MT) FmtDateFull(t time.Time) string { b = append(b, []byte{0xe2, 0x80, 0x99, 0x20}...) b = append(b, mt.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mua/mua.go b/mua/mua.go index ccd24164f..80367b92f 100644 --- a/mua/mua.go +++ b/mua/mua.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "FLO", "CLA", "CKI", "FMF", "MAD", "MBI", "MLI", "MAM", "FDE", "FMU", "FGW", "FYU"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "PK"}, erasNarrow: []string{"", ""}, erasWide: []string{"KǝPel Kristu", "Pel Kristu"}, - timezones: map[string]string{"CAT": "CAT", "GMT": "GMT", "OEZ": "OEZ", "ECT": "ECT", "HADT": "HADT", "IST": "IST", "COT": "COT", "WARST": "WARST", "VET": "VET", "WAST": "WAST", "AKST": "AKST", "TMT": "TMT", "GYT": "GYT", "ChST": "ChST", "LHDT": "LHDT", "ACDT": "ACDT", "EDT": "EDT", "CHAST": "CHAST", "GFT": "GFT", "HNT": "HNT", "UYST": "UYST", "JST": "JST", "SRT": "SRT", "WESZ": "WESZ", "CHADT": "CHADT", "MST": "MST", "BOT": "BOT", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "WIB": "WIB", "WART": "WART", "EAT": "EAT", "AKDT": "AKDT", "CDT": "CDT", "MYT": "MYT", "BT": "BT", "CLST": "CLST", "WITA": "WITA", "CST": "CST", "HAT": "HAT", "UYT": "UYT", "AEST": "AEST", "AEDT": "AEDT", "ART": "ART", "PDT": "PDT", "MDT": "MDT", "JDT": "JDT", "HKT": "HKT", "COST": "COST", "TMST": "TMST", "WIT": "WIT", "HKST": "HKST", "HAST": "HAST", "PST": "PST", "AST": "AST", "ADT": "ADT", "EST": "EST", "OESZ": "OESZ", "WEZ": "WEZ", "ACWDT": "ACWDT", "WAT": "WAT", "NZST": "NZST", "AWDT": "AWDT", "LHST": "LHST", "SGT": "SGT", "NZDT": "NZDT", "AWST": "AWST", "CLT": "CLT", "MESZ": "MESZ", "ACST": "ACST", "ACWST": "ACWST", "SAST": "SAST", "ARST": "ARST"}, + timezones: map[string]string{"ACST": "ACST", "PST": "PST", "HNPM": "HNPM", "LHDT": "LHDT", "SAST": "SAST", "CLST": "CLST", "JST": "JST", "TMT": "TMT", "TMST": "TMST", "WAT": "WAT", "HNNOMX": "HNNOMX", "HAST": "HAST", "HEOG": "HEOG", "MEZ": "MEZ", "HECU": "HECU", "EST": "EST", "AKDT": "AKDT", "ARST": "ARST", "HNCU": "HNCU", "HEPM": "HEPM", "MDT": "MDT", "CDT": "CDT", "AST": "AST", "WIB": "WIB", "CLT": "CLT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "CAT": "CAT", "BT": "BT", "LHST": "LHST", "CHAST": "CHAST", "COST": "COST", "WART": "WART", "WEZ": "WEZ", "HKT": "HKT", "WITA": "WITA", "ChST": "ChST", "SGT": "SGT", "HNPMX": "HNPMX", "ART": "ART", "AWST": "AWST", "NZST": "NZST", "HEEG": "HEEG", "WAST": "WAST", "HENOMX": "HENOMX", "AKST": "AKST", "HNOG": "HNOG", "AEDT": "AEDT", "VET": "VET", "WESZ": "WESZ", "ACWST": "ACWST", "ACWDT": "ACWDT", "AEST": "AEST", "HNEG": "HNEG", "COT": "COT", "CST": "CST", "HADT": "HADT", "CHADT": "CHADT", "GMT": "GMT", "EDT": "EDT", "AWDT": "AWDT", "HKST": "HKST", "IST": "IST", "UYST": "UYST", "HNT": "HNT", "MESZ": "MESZ", "JDT": "JDT", "ACDT": "ACDT", "UYT": "UYT", "GYT": "GYT", "MYT": "MYT", "PDT": "PDT", "GFT": "GFT", "EAT": "EAT", "HEPMX": "HEPMX", "ADT": "ADT", "HAT": "HAT", "NZDT": "NZDT", "ECT": "ECT", "MST": "MST", "WIT": "WIT", "SRT": "SRT", "BOT": "BOT", "OESZ": "OESZ", "WARST": "WARST"}, } } @@ -382,7 +382,12 @@ func (mua *mua) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -396,7 +401,12 @@ func (mua *mua) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -410,7 +420,12 @@ func (mua *mua) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +441,12 @@ func (mua *mua) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/mua_CM/mua_CM.go b/mua_CM/mua_CM.go index 23f9c5535..2298af793 100644 --- a/mua_CM/mua_CM.go +++ b/mua_CM/mua_CM.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "FLO", "CLA", "CKI", "FMF", "MAD", "MBI", "MLI", "MAM", "FDE", "FMU", "FGW", "FYU"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "PK"}, erasNarrow: []string{"", ""}, erasWide: []string{"KǝPel Kristu", "Pel Kristu"}, - timezones: map[string]string{"AWST": "AWST", "UYT": "UYT", "AST": "AST", "GYT": "GYT", "ACWST": "ACWST", "AEDT": "AEDT", "WAST": "WAST", "TMST": "TMST", "COT": "COT", "WESZ": "WESZ", "HAST": "HAST", "HADT": "HADT", "WART": "WART", "AKDT": "AKDT", "ChST": "ChST", "WEZ": "WEZ", "UYST": "UYST", "CHADT": "CHADT", "WIB": "WIB", "WAT": "WAT", "EST": "EST", "JDT": "JDT", "HAT": "HAT", "LHDT": "LHDT", "ART": "ART", "WARST": "WARST", "NZST": "NZST", "NZDT": "NZDT", "HNT": "HNT", "OEZ": "OEZ", "HKST": "HKST", "ACST": "ACST", "AEST": "AEST", "TMT": "TMT", "MYT": "MYT", "AKST": "AKST", "SGT": "SGT", "PDT": "PDT", "MST": "MST", "JST": "JST", "MESZ": "MESZ", "IST": "IST", "PST": "PST", "BOT": "BOT", "MDT": "MDT", "WIT": "WIT", "HKT": "HKT", "GFT": "GFT", "MEZ": "MEZ", "EAT": "EAT", "CDT": "CDT", "CLT": "CLT", "GMT": "GMT", "COST": "COST", "VET": "VET", "ACWDT": "ACWDT", "ARST": "ARST", "EDT": "EDT", "CAT": "CAT", "WITA": "WITA", "LHST": "LHST", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "BT": "BT", "OESZ": "OESZ", "SAST": "SAST", "CST": "CST", "SRT": "SRT", "ACDT": "ACDT", "ECT": "ECT", "CLST": "CLST", "ADT": "ADT", "CHAST": "CHAST"}, + timezones: map[string]string{"AEST": "AEST", "WITA": "WITA", "NZDT": "NZDT", "CHADT": "CHADT", "JST": "JST", "WIT": "WIT", "PDT": "PDT", "ARST": "ARST", "BOT": "BOT", "CAT": "CAT", "ACDT": "ACDT", "HECU": "HECU", "UYST": "UYST", "HADT": "HADT", "HNPM": "HNPM", "IST": "IST", "HEEG": "HEEG", "WAST": "WAST", "COST": "COST", "CDT": "CDT", "AWST": "AWST", "AWDT": "AWDT", "JDT": "JDT", "CLT": "CLT", "GFT": "GFT", "GMT": "GMT", "MYT": "MYT", "HEPM": "HEPM", "HNEG": "HNEG", "EDT": "EDT", "BT": "BT", "TMST": "TMST", "OESZ": "OESZ", "CLST": "CLST", "ACST": "ACST", "WART": "WART", "UYT": "UYT", "AKST": "AKST", "PST": "PST", "HNT": "HNT", "LHDT": "LHDT", "AKDT": "AKDT", "ADT": "ADT", "WEZ": "WEZ", "AEDT": "AEDT", "WARST": "WARST", "WESZ": "WESZ", "ACWST": "ACWST", "HNCU": "HNCU", "ART": "ART", "HKT": "HKT", "MEZ": "MEZ", "GYT": "GYT", "CST": "CST", "ECT": "ECT", "MDT": "MDT", "HEPMX": "HEPMX", "HENOMX": "HENOMX", "MST": "MST", "VET": "VET", "HEOG": "HEOG", "CHAST": "CHAST", "WAT": "WAT", "OEZ": "OEZ", "SGT": "SGT", "HNPMX": "HNPMX", "AST": "AST", "ACWDT": "ACWDT", "SAST": "SAST", "∅∅∅": "∅∅∅", "EAT": "EAT", "COT": "COT", "EST": "EST", "HNOG": "HNOG", "MESZ": "MESZ", "NZST": "NZST", "ChST": "ChST", "HNNOMX": "HNNOMX", "WIB": "WIB", "HAST": "HAST", "SRT": "SRT", "HAT": "HAT", "HKST": "HKST", "LHST": "LHST", "TMT": "TMT"}, } } @@ -382,7 +382,12 @@ func (mua *mua_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -396,7 +401,12 @@ func (mua *mua_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -410,7 +420,12 @@ func (mua *mua_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +441,12 @@ func (mua *mua_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, mua.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/my/my.go b/my/my.go index 1bd9b63e1..e0d402a00 100644 --- a/my/my.go +++ b/my/my.go @@ -48,11 +48,14 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: []locales.PluralRule{6}, pluralsRange: []locales.PluralRule{6}, + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "ဒေါ်လာ", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "စီအာစီ", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "K", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "Afl", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "G", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "K", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "B/.", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TT$", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "ဇန်", "ဖေ", "မတ်", "ဧပြီ", "မေ", "ဇွန်", "ဇူ", "ဩ", "စက်", "အောက်", "နို", "ဒီ"}, + monthsAbbreviated: []string{"", "ဇန်", "ဖေ", "မတ်", "ဧ", "မေ", "ဇွန်", "ဇူ", "ဩ", "စက်", "အောက်", "နို", "ဒီ"}, monthsNarrow: []string{"", "ဇ", "ဖ", "မ", "ဧ", "မ", "ဇ", "ဇ", "ဩ", "စ", "အ", "န", "ဒ"}, monthsWide: []string{"", "ဇန်နဝါရီ", "ဖေဖော်ဝါရီ", "မတ်", "ဧပြီ", "မေ", "ဇွန်", "ဇူလိုင်", "ဩဂုတ်", "စက်တင်ဘာ", "အောက်တိုဘာ", "နိုဝင်ဘာ", "ဒီဇင်ဘာ"}, daysAbbreviated: []string{"တနင်္ဂနွေ", "တနင်္လာ", "အင်္ဂါ", "ဗုဒ္ဓဟူး", "ကြာသပတေး", "သောကြာ", "စနေ"}, @@ -64,8 +67,8 @@ func New() locales.Translator { periodsWide: []string{"နံနက်", "ညနေ"}, erasAbbreviated: []string{"ဘီစီ", "အေဒီ"}, erasNarrow: []string{"", ""}, - erasWide: []string{"ခရစ်တော် မပေါ်မီကာလ", "ခရစ်တော် ပေါ်ထွန်းပြီးကာလ"}, - timezones: map[string]string{"∅∅∅": "ပီရူး နွေရာသီ အချိန်", "EDT": "အရှေ့ပိုင်း အမေရိက နေ့ပိုင်း အချိန်", "WIT": "အရှေ့ပိုင်း အင်ဒိုနီးရှား အချိန်", "UYT": "ဥရုဂွေး စံတော်ချိန်", "GFT": "ပြင်သစ် ဂီယာနာ အချိန်", "ACWDT": "အလယ်အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "NZDT": "နယူးဇီလန် နေ့ပိုင်း အချိန်", "HNT": "နယူးဖောင်လန် စံတော်ချိန်", "WESZ": "အနောက်ပိုင်း ဥရောပ နွေရာသီ အချိန်", "CHAST": "ချားသမ်စံတော်ချိန်", "ACWST": "အလယ်အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "ADT": "အတ္ထလန်တစ် နေ့ပိုင်း အချိန်", "LHST": "လော့ဒ်ဟောင်စံတော်ချိန်", "ACDT": "အလယ်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "HAST": "ဟာဝိုင်အီ အာလူးရှန်စံတော်ချိန်", "AKDT": "အလာစကာနေ့ပိုင်းအချိန်", "ECT": "အီကွေဒေါ အချိန်", "ART": "အာဂျင်တီးနား စံတော်ချိန်", "EAT": "အရှေ့ပိုင်း အာဖရိက အချိန်", "TMST": "တာခ်မီန့စ်တန်နွေရာသီအချိန်", "GMT": "ဂရင်းနစ် စံတော်ချိန်", "LHDT": "လော့ဒ်ဟောင်နေ့ပိုင်းအချိန်", "COST": "ကိုလံဘီယာ နွေရာသီ အချိန်", "WART": "အနောက် အာဂျင်တီးနား စံတော်ချိန်", "WAST": "အနောက်ပိုင်း အာဖရိက နွေရာသီ အချိန်", "MST": "အမေရိက တောင် စံတော်ချိန်", "BT": "ဘူတန် အချိန်", "HAT": "နယူးဖောင်လန် နေ့ပိုင်း အချိန်", "OESZ": "အရှေ့ဥရောပ နွေရာသီ အချိန်", "CHADT": "ချားသမ်နေ့ပိုင်းအချိန်", "TMT": "တာခ်မီန့စ်တန်စံတော်ချိန်", "HKST": "ဟောင်ကောင် နွေရာသီ အချိန်", "MYT": "မလေးရှား အချိန်", "CAT": "အလယ်ပိုင်း အာဖရိက အချိန်", "UYST": "ဥရုဂွေး နွေရာသီ အချိန်", "PDT": "ပစိဖိတ် နေ့ပိုင်း အချိန်", "CDT": "အလယ်ပိုင်း အမေရိက နွေရာသီ အချိန်", "HADT": "ဟာဝိုင်အီ အာလူးရှန်နေ့ပိုင်းအချိန်", "AEDT": "အရှေ့ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "EST": "အရှေ့ပိုင်း အမေရိက စံတော်ချိန်", "CST": "အလယ်ပိုင်း အမေရိက စံတော်ချိန်", "AWST": "အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "JST": "ဂျပန် စံတော်ချိန်", "WEZ": "အနောက်ပိုင်း ဥရောပ စံတော်ချိန်", "MEZ": "ဥရောပ အလယ်ပိုင်း စံတော်ချိန်", "ARST": "အာဂျင်တီးနား နွေရာသီ အချိန်", "WITA": "အလယ်ပိုင်း အင်ဒိုနီးရှား အချိန်", "AKST": "အလာစကာစံတော်ချိန်", "BOT": "ဘိုလီးဘီးယား အချိန်", "OEZ": "အရှေ့ဥရောပ စံတော်ချိန်", "HKT": "ဟောင်ကောင် စံတော်ချိန်", "MESZ": "ဥရောပ အလယ်ပိုင်း နွေရာသီ အချိန်", "WARST": "အနောက် အာဂျင်တီးနား နွေရာသီ အချိန်", "AST": "အတ္ထလန်တစ် စံတော်ချိန်", "CLST": "ချီလီ နွေရာသီ အချိန်", "SRT": "စူးရီနာမ်အချိန်", "PST": "ပစိဖိတ် စံတော်ချိန်", "AWDT": "အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "JDT": "ဂျပန် နေ့ပိုင်း အချိန်", "COT": "ကိုလံဘီယာ စံတော်ချိန်", "VET": "ဗင်နီဇွဲလား အချိန်", "WIB": "အနောက်ပိုင်း အင်ဒိုနီးရှား အချိန်", "NZST": "နယူးဇီလန် စံတော်ချိန်", "IST": "အိန္ဒြိယ စံတော်ချိန်", "ChST": "ချာမိုရိုအချိန်", "CLT": "ချီလီ စံတော်ချိန်", "ACST": "အလယ်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "SGT": "စင်္ကာပူ စံတော်ချိန်", "AEST": "အရှေ့ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "SAST": "တောင်အာဖရိက အချိန်", "GYT": "ဂိုင်ရာနားအချိန်", "MDT": "အမေရိက တောင် နေ့ပိုင်း အချိန်", "WAT": "အနောက်ပိုင်း အာဖရိက စံတော်ချိန်"}, + erasWide: []string{"ခရစ်တော် မပေါ်မီနှစ်", "ခရစ်နှစ်"}, + timezones: map[string]string{"HENOMX": "အနောက်တောင် မက္ကစီကို နွေရာသီ စံတော်ချိန်", "SRT": "စူးရီနာမ်အချိန်", "HNPM": "စိန့်ပီအဲနှင့်မီခွီလွန်စံတော်ချိန်", "CHAST": "ချားသမ်စံတော်ချိန်", "CAT": "အလယ်အာဖရိက အချိန်", "EAT": "အရှေ့အာဖရိက အချိန်", "MST": "မကာအို စံတော်ချိန်", "HADT": "ဟာဝိုင်ယီ အယ်လူးရှန်း နွေရာသီ စံတော်ချိန်", "ACWDT": "ဩစတြေးလျား အလယ်အနောက်ပိုင်း နွေရာသီ အချိန်", "HNOG": "အနောက် ဂရင်းလန်း စံတော်ချိန်", "HNCU": "ကျူးဘား စံတော်ချိန်", "AKST": "အလားစကားစံတော်ချိန်", "MYT": "မလေးရှား အချိန်", "UYST": "ဥရုဂွေး နွေရာသီ အချိန်", "VET": "ဗင်နီဇွဲလား အချိန်", "ACWST": "ဩစတြေးလျား အလယ်အနောက်ပိုင်း စံတော်ချိန်", "HEPM": "စိန့်ပီအဲနှင့် မီခွီလွန် နွေရာသီ စံတော်ချိန်", "MESZ": "ဥရောပ အလယ်ပိုင်း နွေရာသီ အချိန်", "ChST": "ချာမိုရိုအချိန်", "WAT": "အနောက်အာဖရိက စံတော်ချိန်", "WIB": "အနောက်ပိုင်း အင်ဒိုနီးရှား အချိန်", "HEOG": "အနောက် ဂရင်းလန် နွေရာသီ စံတော်ချိန်", "AEDT": "အရှေ့ဩစတြေးလျား နွေရာသီ အချိန်", "AWST": "အနောက်ဩစတြေးလျား စံတော်ချိန်", "LHST": "လော့ဒ်ဟောင်စံတော်ချိန်", "IST": "အိန္ဒိယ စံတော်ချိန်", "TMT": "တာ့ခ်မင်နစ္စတန် စံတော်ချိန်", "TMST": "တာ့ခ်မင်နစ္စတန် နွေရာသီ အချိန်", "HNT": "နယူးဖောင်လန် စံတော်ချိန်", "SAST": "တောင်အာဖရိက အချိန်", "ACST": "ဩစတြေးလျား အလယ်ပိုင်း စံတော်ချိန်", "ECT": "အီကွေဒေါ အချိန်", "EST": "မြောက်အမေရိက အရှေ့ပိုင်းစံတော်ချိန်", "EDT": "မြောက်အမေရိက အရှေ့ပိုင်း နွေရာသီစံတော်ချိန်", "AWDT": "ဩစတြေးလျား နွေရာသီ အချိန်", "HKST": "ဟောင်ကောင် နွေရာသီ အချိန်", "WAST": "အနောက်အာဖရိက နွေရာသီ အချိန်", "HECU": "ကျူးဘား နွေရာသီ စံတော်ချိန်", "AKDT": "အလားစကား နွေရာသီစံတော်ချိန်", "NZST": "နယူးဇီလန် စံတော်ချိန်", "BT": "ဘူတန် အချိန်", "WESZ": "အနောက်ဥရောပ နွေရာသီ အချိန်", "HNEG": "အရှေ့ဂရင်းလန်း စံတော်ချိန်", "OEZ": "အရှေ့ဥရောပ စံတော်ချိန်", "OESZ": "အရှေ့ဥရောပ နွေရာသီ အချိန်", "COT": "ကိုလံဘီယာ စံတော်ချိန်", "HAST": "ဟာဝိုင်ယီ အယ်လူးရှန်း စံတော်ချိန်", "WIT": "အရှေ့ပိုင်း အင်ဒိုနီးရှား အချိန်", "HKT": "ဟောင်ကောင် စံတော်ချိန်", "MEZ": "ဥရောပ အလယ်ပိုင်း စံတော်ချိန်", "BOT": "ဘိုလီးဘီးယား အချိန်", "HEEG": "အရှေ့ဂရင်းလန် နွေရာသီ စံတော်ချိန်", "GFT": "ပြင်သစ် ဂီအားနား အချိန်", "COST": "ကိုလံဘီယာ နွေရာသီ အချိန်", "CST": "မြောက်အမေရိက အလယ်ပိုင်းစံတော်ချိန်", "ARST": "အာဂျင်တီးနား နွေရာသီအချိန်", "LHDT": "လော့ဒ်ဟောင် နွေရာသီ အချိန်", "CLT": "ချီလီ စံတော်ချိန်", "JDT": "ဂျပန် နွေရာသီ အချိန်", "GMT": "ဂရင်းနစ် စံတော်ချိန်", "MDT": "မကာအို နွေရာသီ အချိန်", "UYT": "ဥရုဂွေး စံတော်ချိန်", "HAT": "နယူးဖောင်လန် နွေရာသီ စံတော်ချိန်", "WITA": "အလယ်ပိုင်း အင်ဒိုနီးရှား အချိန်", "HNPMX": "မက္ကဆီကန် ပစိဖိတ် စံတော်ချိန်", "HEPMX": "မက္ကစီကန် ပစိဖိတ် နွေရာသီ စံတော်ချိန်", "PST": "မြောက်အမေရိက ပစိဖိတ်စံတော်ချိန်", "WEZ": "အနောက်ဥရောပ စံတော်ချိန်", "HNNOMX": "အနောက်တောင် မက္ကဆီကို စံတော်ချိန်", "GYT": "ဂိုင်ယာနာ အချိန်", "ART": "အာဂျင်တီးနား စံတော်ချိန်", "ACDT": "ဩစတြေးလျား အလယ်ပိုင်း နွေရာသီ အချိန်", "WARST": "အနောက် အာဂျင်တီးနား နွေရာသီ အချိန်", "PDT": "မြောက်အမေရိက ပစိဖိတ် နွေရာသီစံတော်ချိန်", "CHADT": "ချာသမ် နွေရာသီ အချိန်", "CLST": "ချီလီ နွေရာသီ အချိန်", "JST": "ဂျပန် စံတော်ချိန်", "AEST": "အရှေ့ဩစတြေးလျား စံတော်ချိန်", "NZDT": "နယူးဇီလန် နွေရာသီ အချိန်", "∅∅∅": "ပီရူး နွေရာသီ အချိန်", "WART": "အနောက် အာဂျင်တီးနား စံတော်ချိန်", "SGT": "စင်္ကာပူ အချိန်", "CDT": "မြောက်အမေရိက အလယ်ပိုင်း နွေရာသီစံတော်ချိန်", "AST": "အတ္တလန်တစ် စံတော်ချိန်", "ADT": "အတ္တလန်တစ် နွေရာသီ စံတော်ချိန်"}, } } @@ -219,7 +222,7 @@ func (my *my) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (my *my) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + l := len(s) + 1 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -419,7 +422,12 @@ func (my *my) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, my.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +441,12 @@ func (my *my) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, my.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,17 +457,17 @@ func (my *my) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, my.daysWide[t.Weekday()]...) - b = append(b, []byte{0xe1, 0x81, 0x8a, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, my.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -513,6 +526,11 @@ func (my *my) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + tz, _ := t.Zone() + b = append(b, tz...) + + b = append(b, []byte{0x20}...) + if t.Hour() < 10 { b = append(b, '0') } @@ -532,10 +550,6 @@ func (my *my) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - tz, _ := t.Zone() - b = append(b, tz...) return string(b) } @@ -545,6 +559,16 @@ func (my *my) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + tz, _ := t.Zone() + + if btz, ok := my.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + b = append(b, []byte{0x20}...) + if t.Hour() < 10 { b = append(b, '0') } @@ -564,15 +588,6 @@ func (my *my) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - tz, _ := t.Zone() - - if btz, ok := my.timezones[tz]; ok { - b = append(b, btz...) - } else { - b = append(b, tz...) - } return string(b) } diff --git a/my_MM/my_MM.go b/my_MM/my_MM.go index e0dc56e88..4526f03b4 100644 --- a/my_MM/my_MM.go +++ b/my_MM/my_MM.go @@ -48,11 +48,14 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: []locales.PluralRule{6}, pluralsRange: []locales.PluralRule{6}, + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "ဇန်", "ဖေ", "မတ်", "ဧပြီ", "မေ", "ဇွန်", "ဇူ", "ဩ", "စက်", "အောက်", "နို", "ဒီ"}, + monthsAbbreviated: []string{"", "ဇန်", "ဖေ", "မတ်", "ဧ", "မေ", "ဇွန်", "ဇူ", "ဩ", "စက်", "အောက်", "နို", "ဒီ"}, monthsNarrow: []string{"", "ဇ", "ဖ", "မ", "ဧ", "မ", "ဇ", "ဇ", "ဩ", "စ", "အ", "န", "ဒ"}, monthsWide: []string{"", "ဇန်နဝါရီ", "ဖေဖော်ဝါရီ", "မတ်", "ဧပြီ", "မေ", "ဇွန်", "ဇူလိုင်", "ဩဂုတ်", "စက်တင်ဘာ", "အောက်တိုဘာ", "နိုဝင်ဘာ", "ဒီဇင်ဘာ"}, daysAbbreviated: []string{"တနင်္ဂနွေ", "တနင်္လာ", "အင်္ဂါ", "ဗုဒ္ဓဟူး", "ကြာသပတေး", "သောကြာ", "စနေ"}, @@ -64,8 +67,8 @@ func New() locales.Translator { periodsWide: []string{"နံနက်", "ညနေ"}, erasAbbreviated: []string{"ဘီစီ", "အေဒီ"}, erasNarrow: []string{"", ""}, - erasWide: []string{"ခရစ်တော် မပေါ်မီကာလ", "ခရစ်တော် ပေါ်ထွန်းပြီးကာလ"}, - timezones: map[string]string{"AST": "အတ္ထလန်တစ် စံတော်ချိန်", "ACST": "အလယ်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "COST": "ကိုလံဘီယာ နွေရာသီ အချိန်", "ARST": "အာဂျင်တီးနား နွေရာသီ အချိန်", "PDT": "ပစိဖိတ် နေ့ပိုင်း အချိန်", "NZST": "နယူးဇီလန် စံတော်ချိန်", "GFT": "ပြင်သစ် ဂီယာနာ အချိန်", "OEZ": "အရှေ့ဥရောပ စံတော်ချိန်", "ECT": "အီကွေဒေါ အချိန်", "HAST": "ဟာဝိုင်အီ အာလူးရှန်စံတော်ချိန်", "MESZ": "ဥရောပ အလယ်ပိုင်း နွေရာသီ အချိန်", "ACDT": "အလယ်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "AKST": "အလာစကာစံတော်ချိန်", "UYST": "ဥရုဂွေး နွေရာသီ အချိန်", "BOT": "ဘိုလီးဘီးယား အချိန်", "MEZ": "ဥရောပ အလယ်ပိုင်း စံတော်ချိန်", "EST": "အရှေ့ပိုင်း အမေရိက စံတော်ချိန်", "PST": "ပစိဖိတ် စံတော်ချိန်", "ChST": "ချာမိုရိုအချိန်", "EDT": "အရှေ့ပိုင်း အမေရိက နေ့ပိုင်း အချိန်", "MST": "အမေရိက တောင် စံတော်ချိန်", "NZDT": "နယူးဇီလန် နေ့ပိုင်း အချိန်", "JDT": "ဂျပန် နေ့ပိုင်း အချိန်", "ACWDT": "အလယ်အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "AEDT": "အရှေ့ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "ADT": "အတ္ထလန်တစ် နေ့ပိုင်း အချိန်", "CHAST": "ချားသမ်စံတော်ချိန်", "CHADT": "ချားသမ်နေ့ပိုင်းအချိန်", "VET": "ဗင်နီဇွဲလား အချိန်", "COT": "ကိုလံဘီယာ စံတော်ချိန်", "WIT": "အရှေ့ပိုင်း အင်ဒိုနီးရှား အချိန်", "HAT": "နယူးဖောင်လန် နေ့ပိုင်း အချိန်", "LHST": "လော့ဒ်ဟောင်စံတော်ချိန်", "WEZ": "အနောက်ပိုင်း ဥရောပ စံတော်ချိန်", "HKST": "ဟောင်ကောင် နွေရာသီ အချိန်", "CST": "အလယ်ပိုင်း အမေရိက စံတော်ချိန်", "CLT": "ချီလီ စံတော်ချိန်", "TMST": "တာခ်မီန့စ်တန်နွေရာသီအချိန်", "MDT": "အမေရိက တောင် နေ့ပိုင်း အချိန်", "AWST": "အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "AWDT": "အနောက်ပိုင်း ဩစတြေးလျှား နေ့ပိုင်း အချိန်", "∅∅∅": "∅∅∅", "OESZ": "အရှေ့ဥရောပ နွေရာသီ အချိန်", "WIB": "အနောက်ပိုင်း အင်ဒိုနီးရှား အချိန်", "WART": "အနောက် အာဂျင်တီးနား စံတော်ချိန်", "ACWST": "အလယ်အနောက်ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "WITA": "အလယ်ပိုင်း အင်ဒိုနီးရှား အချိန်", "LHDT": "လော့ဒ်ဟောင်နေ့ပိုင်းအချိန်", "HKT": "ဟောင်ကောင် စံတော်ချိန်", "WAT": "အနောက်ပိုင်း အာဖရိက စံတော်ချိန်", "IST": "အိန္ဒြိယ စံတော်ချိန်", "BT": "ဘူတန် အချိန်", "AEST": "အရှေ့ပိုင်း ဩစတြေးလျှား စံတော်ချိန်", "ART": "အာဂျင်တီးနား စံတော်ချိန်", "HNT": "နယူးဖောင်လန် စံတော်ချိန်", "CAT": "အလယ်ပိုင်း အာဖရိက အချိန်", "GMT": "ဂရင်းနစ် စံတော်ချိန်", "JST": "ဂျပန် စံတော်ချိန်", "HADT": "ဟာဝိုင်အီ အာလူးရှန်နေ့ပိုင်းအချိန်", "AKDT": "အလာစကာနေ့ပိုင်းအချိန်", "SAST": "တောင်အာဖရိက အချိန်", "MYT": "မလေးရှား အချိန်", "WESZ": "အနောက်ပိုင်း ဥရောပ နွေရာသီ အချိန်", "SGT": "စင်္ကာပူ စံတော်ချိန်", "UYT": "ဥရုဂွေး စံတော်ချိန်", "WARST": "အနောက် အာဂျင်တီးနား နွေရာသီ အချိန်", "TMT": "တာခ်မီန့စ်တန်စံတော်ချိန်", "GYT": "ဂိုင်ရာနားအချိန်", "EAT": "အရှေ့ပိုင်း အာဖရိက အချိန်", "SRT": "စူးရီနာမ်အချိန်", "WAST": "အနောက်ပိုင်း အာဖရိက နွေရာသီ အချိန်", "CDT": "အလယ်ပိုင်း အမေရိက နွေရာသီ အချိန်", "CLST": "ချီလီ နွေရာသီ အချိန်"}, + erasWide: []string{"ခရစ်တော် မပေါ်မီနှစ်", "ခရစ်နှစ်"}, + timezones: map[string]string{"HECU": "ကျူးဘား နွေရာသီ စံတော်ချိန်", "GYT": "ဂိုင်ယာနာ အချိန်", "VET": "ဗင်နီဇွဲလား အချိန်", "ACWDT": "ဩစတြေးလျား အလယ်အနောက်ပိုင်း နွေရာသီ အချိန်", "ChST": "ချာမိုရိုအချိန်", "HNEG": "အရှေ့ဂရင်းလန်း စံတော်ချိန်", "ACDT": "ဩစတြေးလျား အလယ်ပိုင်း နွေရာသီ အချိန်", "WAST": "အနောက်အာဖရိက နွေရာသီ အချိန်", "HNPMX": "မက္ကဆီကန် ပစိဖိတ် စံတော်ချိန်", "BT": "ဘူတန် အချိန်", "ACWST": "ဩစတြေးလျား အလယ်အနောက်ပိုင်း စံတော်ချိန်", "HAT": "နယူးဖောင်လန် နွေရာသီ စံတော်ချိန်", "HEPM": "စိန့်ပီအဲနှင့် မီခွီလွန် နွေရာသီ စံတော်ချိန်", "JST": "ဂျပန် စံတော်ချိန်", "OEZ": "အရှေ့ဥရောပ စံတော်ချိန်", "HEPMX": "မက္ကစီကန် ပစိဖိတ် နွေရာသီ စံတော်ချိန်", "AST": "အတ္တလန်တစ် စံတော်ချိန်", "HAST": "ဟာဝိုင်ယီ အယ်လူးရှန်း စံတော်ချိန်", "HKT": "ဟောင်ကောင် စံတော်ချိန်", "MESZ": "ဥရောပ အလယ်ပိုင်း နွေရာသီ အချိန်", "HNNOMX": "အနောက်တောင် မက္ကဆီကို စံတော်ချိန်", "WIB": "အနောက်ပိုင်း အင်ဒိုနီးရှား အချိန်", "ARST": "အာဂျင်တီးနား နွေရာသီအချိန်", "HKST": "ဟောင်ကောင် နွေရာသီ အချိန်", "∅∅∅": "အာမေဇုံ နွေရာသီအချိန်", "OESZ": "အရှေ့ဥရောပ နွေရာသီ အချိန်", "WART": "အနောက် အာဂျင်တီးနား စံတော်ချိန်", "COST": "ကိုလံဘီယာ နွေရာသီ အချိန်", "UYST": "ဥရုဂွေး နွေရာသီ အချိန်", "ART": "အာဂျင်တီးနား စံတော်ချိန်", "LHDT": "လော့ဒ်ဟောင် နွေရာသီ အချိန်", "NZDT": "နယူးဇီလန် နွေရာသီ အချိန်", "CLST": "ချီလီ နွေရာသီ အချိန်", "CAT": "အလယ်အာဖရိက အချိန်", "ECT": "အီကွေဒေါ အချိန်", "SGT": "စင်္ကာပူ အချိန်", "WEZ": "အနောက်ဥရောပ စံတော်ချိန်", "HNOG": "အနောက် ဂရင်းလန်း စံတော်ချိန်", "WITA": "အလယ်ပိုင်း အင်ဒိုနီးရှား အချိန်", "HNCU": "ကျူးဘား စံတော်ချိန်", "UYT": "ဥရုဂွေး စံတော်ချိန်", "CHADT": "ချာသမ် နွေရာသီ အချိန်", "TMST": "တာ့ခ်မင်နစ္စတန် နွေရာသီ အချိန်", "ACST": "ဩစတြေးလျား အလယ်ပိုင်း စံတော်ချိန်", "AKST": "အလားစကားစံတော်ချိန်", "WESZ": "အနောက်ဥရောပ နွေရာသီ အချိန်", "AWST": "အနောက်ဩစတြေးလျား စံတော်ချိန်", "HNPM": "စိန့်ပီအဲနှင့်မီခွီလွန်စံတော်ချိန်", "BOT": "ဘိုလီးဘီးယား အချိန်", "COT": "ကိုလံဘီယာ စံတော်ချိန်", "EDT": "မြောက်အမေရိက အရှေ့ပိုင်း နွေရာသီစံတော်ချိန်", "CST": "မြောက်အမေရိက အလယ်ပိုင်းစံတော်ချိန်", "ADT": "အတ္တလန်တစ် နွေရာသီ စံတော်ချိန်", "PST": "မြောက်အမေရိက ပစိဖိတ်စံတော်ချိန်", "HEOG": "အနောက် ဂရင်းလန် နွေရာသီ စံတော်ချိန်", "AWDT": "ဩစတြေးလျား နွေရာသီ အချိန်", "WAT": "အနောက်အာဖရိက စံတော်ချိန်", "WARST": "အနောက် အာဂျင်တီးနား နွေရာသီ အချိန်", "MYT": "မလေးရှား အချိန်", "HADT": "ဟာဝိုင်ယီ အယ်လူးရှန်း နွေရာသီ စံတော်ချိန်", "HEEG": "အရှေ့ဂရင်းလန် နွေရာသီ စံတော်ချိန်", "GFT": "ပြင်သစ် ဂီအားနား အချိန်", "GMT": "ဂရင်းနစ် စံတော်ချိန်", "PDT": "မြောက်အမေရိက ပစိဖိတ် နွေရာသီစံတော်ချိန်", "HNT": "နယူးဖောင်လန် စံတော်ချိန်", "LHST": "လော့ဒ်ဟောင်စံတော်ချိန်", "SAST": "တောင်အာဖရိက အချိန်", "CLT": "ချီလီ စံတော်ချိန်", "EST": "မြောက်အမေရိက အရှေ့ပိုင်းစံတော်ချိန်", "NZST": "နယူးဇီလန် စံတော်ချိန်", "SRT": "စူးရီနာမ်အချိန်", "AEST": "အရှေ့ဩစတြေးလျား စံတော်ချိန်", "MEZ": "ဥရောပ အလယ်ပိုင်း စံတော်ချိန်", "JDT": "ဂျပန် နွေရာသီ အချိန်", "EAT": "အရှေ့အာဖရိက အချိန်", "MST": "မကာအို စံတော်ချိန်", "AEDT": "အရှေ့ဩစတြေးလျား နွေရာသီ အချိန်", "IST": "အိန္ဒိယ စံတော်ချိန်", "TMT": "တာ့ခ်မင်နစ္စတန် စံတော်ချိန်", "CDT": "မြောက်အမေရိက အလယ်ပိုင်း နွေရာသီစံတော်ချိန်", "WIT": "အရှေ့ပိုင်း အင်ဒိုနီးရှား အချိန်", "CHAST": "ချားသမ်စံတော်ချိန်", "HENOMX": "အနောက်တောင် မက္ကစီကို နွေရာသီ စံတော်ချိန်", "MDT": "မကာအို နွေရာသီ အချိန်", "AKDT": "အလားစကား နွေရာသီစံတော်ချိန်"}, } } @@ -219,7 +222,7 @@ func (my *my_MM) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (my *my_MM) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 0 + l := len(s) + 1 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -419,7 +422,12 @@ func (my *my_MM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, my.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -433,7 +441,12 @@ func (my *my_MM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, my.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -444,17 +457,17 @@ func (my *my_MM) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, my.daysWide[t.Weekday()]...) - b = append(b, []byte{0xe1, 0x81, 0x8a, 0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, my.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -513,6 +526,11 @@ func (my *my_MM) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + tz, _ := t.Zone() + b = append(b, tz...) + + b = append(b, []byte{0x20}...) + if t.Hour() < 10 { b = append(b, '0') } @@ -532,10 +550,6 @@ func (my *my_MM) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - tz, _ := t.Zone() - b = append(b, tz...) return string(b) } @@ -545,6 +559,16 @@ func (my *my_MM) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + tz, _ := t.Zone() + + if btz, ok := my.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + b = append(b, []byte{0x20}...) + if t.Hour() < 10 { b = append(b, '0') } @@ -564,15 +588,6 @@ func (my *my_MM) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - tz, _ := t.Zone() - - if btz, ok := my.timezones[tz]; ok { - b = append(b, btz...) - } else { - b = append(b, tz...) - } return string(b) } diff --git a/mzn/mzn.go b/mzn/mzn.go index 7d2967821..8d7a5d92d 100644 --- a/mzn/mzn.go +++ b/mzn/mzn.go @@ -47,13 +47,13 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, monthsWide: []string{"", "ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, erasAbbreviated: []string{"پ.م", "م."}, erasNarrow: []string{"", ""}, erasWide: []string{"قبل میلاد", "بعد میلاد"}, - timezones: map[string]string{"MESZ": "MESZ", "TMT": "TMT", "BOT": "BOT", "GFT": "GFT", "MEZ": "MEZ", "ACDT": "ACDT", "ART": "ART", "EDT": "EDT", "SRT": "SRT", "CHADT": "CHADT", "AKDT": "AKDT", "HNT": "HNT", "EAT": "EAT", "WIT": "WIT", "MYT": "MYT", "UYST": "UYST", "HKT": "HKT", "PST": "PST", "SAST": "SAST", "WIB": "WIB", "AEST": "AEST", "AWST": "AWST", "NZDT": "NZDT", "BT": "BT", "AWDT": "AWDT", "LHDT": "LHDT", "ECT": "ECT", "WITA": "WITA", "GYT": "GYT", "EST": "EST", "CST": "CST", "NZST": "NZST", "UYT": "UYT", "OESZ": "OESZ", "CHAST": "CHAST", "ACWST": "ACWST", "ARST": "ARST", "HKST": "HKST", "IST": "IST", "MDT": "MDT", "∅∅∅": "∅∅∅", "LHST": "LHST", "JDT": "JDT", "WESZ": "WESZ", "SGT": "SGT", "AEDT": "AEDT", "PDT": "PDT", "WAST": "WAST", "CDT": "CDT", "WEZ": "WEZ", "VET": "VET", "HAST": "HAST", "AKST": "AKST", "TMST": "TMST", "OEZ": "OEZ", "ACST": "ACST", "CLST": "CLST", "JST": "JST", "HADT": "HADT", "ACWDT": "ACWDT", "AST": "AST", "WAT": "WAT", "CAT": "CAT", "WART": "WART", "WARST": "WARST", "HAT": "HAT", "COT": "COT", "ADT": "ADT", "MST": "MST", "GMT": "GMT", "COST": "COST", "ChST": "ChST", "CLT": "CLT"}, + timezones: map[string]string{"AKST": "AKST", "ARST": "ARST", "CLST": "CLST", "EDT": "EDT", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "GYT": "GYT", "MST": "MST", "HAT": "HAT", "AEDT": "AEDT", "IST": "IST", "WAT": "WAT", "ACWST": "ACWST", "ACWDT": "ACWDT", "HEPM": "HEPM", "CHADT": "CHADT", "ChST": "ChST", "ACST": "ACST", "ECT": "ECT", "CAT": "CAT", "ART": "ART", "EST": "EST", "OESZ": "OESZ", "AWDT": "AWDT", "JST": "JST", "EAT": "EAT", "PDT": "PDT", "HNOG": "HNOG", "AWST": "AWST", "BOT": "BOT", "AST": "AST", "ADT": "ADT", "VET": "VET", "HKST": "HKST", "CLT": "CLT", "HNEG": "HNEG", "GFT": "GFT", "HNT": "HNT", "UYT": "UYT", "CST": "CST", "MYT": "MYT", "HEOG": "HEOG", "MEZ": "MEZ", "MESZ": "MESZ", "HEEG": "HEEG", "ACDT": "ACDT", "WIB": "WIB", "HAST": "HAST", "WEZ": "WEZ", "HNPM": "HNPM", "WAST": "WAST", "HECU": "HECU", "CDT": "CDT", "MDT": "MDT", "HKT": "HKT", "NZDT": "NZDT", "CHAST": "CHAST", "COT": "COT", "COST": "COST", "HNCU": "HNCU", "AEST": "AEST", "WIT": "WIT", "SRT": "SRT", "WESZ": "WESZ", "WITA": "WITA", "NZST": "NZST", "JDT": "JDT", "∅∅∅": "∅∅∅", "HADT": "HADT", "OEZ": "OEZ", "SGT": "SGT", "UYST": "UYST", "AKDT": "AKDT", "TMT": "TMT", "SAST": "SAST", "HENOMX": "HENOMX", "BT": "BT", "TMST": "TMST", "WARST": "WARST", "GMT": "GMT", "PST": "PST", "LHDT": "LHDT", "WART": "WART", "LHST": "LHST", "HNNOMX": "HNNOMX"}, } } diff --git a/mzn_IR/mzn_IR.go b/mzn_IR/mzn_IR.go index 1bbd6370a..67ff0bb1c 100644 --- a/mzn_IR/mzn_IR.go +++ b/mzn_IR/mzn_IR.go @@ -47,13 +47,13 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, monthsWide: []string{"", "ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"}, erasAbbreviated: []string{"پ.م", "م."}, erasNarrow: []string{"", ""}, erasWide: []string{"قبل میلاد", "بعد میلاد"}, - timezones: map[string]string{"OESZ": "OESZ", "AEDT": "AEDT", "AKDT": "AKDT", "AST": "AST", "TMST": "TMST", "NZST": "NZST", "HKST": "HKST", "WARST": "WARST", "WAST": "WAST", "CST": "CST", "CDT": "CDT", "BOT": "BOT", "LHST": "LHST", "PST": "PST", "MYT": "MYT", "LHDT": "LHDT", "UYT": "UYT", "WART": "WART", "HAST": "HAST", "HADT": "HADT", "AWST": "AWST", "WESZ": "WESZ", "WIB": "WIB", "ACWDT": "ACWDT", "EDT": "EDT", "PDT": "PDT", "TMT": "TMT", "BT": "BT", "EAT": "EAT", "CLT": "CLT", "UYST": "UYST", "JDT": "JDT", "MESZ": "MESZ", "ChST": "ChST", "HAT": "HAT", "ECT": "ECT", "AWDT": "AWDT", "JST": "JST", "CHAST": "CHAST", "SAST": "SAST", "EST": "EST", "GFT": "GFT", "OEZ": "OEZ", "ACDT": "ACDT", "VET": "VET", "ARST": "ARST", "AKST": "AKST", "WEZ": "WEZ", "HKT": "HKT", "∅∅∅": "∅∅∅", "ACST": "ACST", "COST": "COST", "WITA": "WITA", "MST": "MST", "CHADT": "CHADT", "MEZ": "MEZ", "GMT": "GMT", "COT": "COT", "AEST": "AEST", "WAT": "WAT", "IST": "IST", "MDT": "MDT", "SRT": "SRT", "ACWST": "ACWST", "ART": "ART", "ADT": "ADT", "GYT": "GYT", "CLST": "CLST", "WIT": "WIT", "SGT": "SGT", "NZDT": "NZDT", "HNT": "HNT", "CAT": "CAT"}, + timezones: map[string]string{"HNCU": "HNCU", "HKT": "HKT", "CLT": "CLT", "COT": "COT", "EST": "EST", "HEOG": "HEOG", "BOT": "BOT", "COST": "COST", "SGT": "SGT", "ACWDT": "ACWDT", "WAT": "WAT", "WARST": "WARST", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "MYT": "MYT", "∅∅∅": "∅∅∅", "GMT": "GMT", "MST": "MST", "HNT": "HNT", "HKST": "HKST", "SAST": "SAST", "CAT": "CAT", "OESZ": "OESZ", "HADT": "HADT", "AWST": "AWST", "HEPM": "HEPM", "MESZ": "MESZ", "ACDT": "ACDT", "WART": "WART", "CST": "CST", "HNOG": "HNOG", "AEDT": "AEDT", "HNPM": "HNPM", "HEEG": "HEEG", "ACST": "ACST", "VET": "VET", "HAT": "HAT", "IST": "IST", "HNEG": "HNEG", "OEZ": "OEZ", "UYST": "UYST", "WIB": "WIB", "WITA": "WITA", "ECT": "ECT", "EAT": "EAT", "HENOMX": "HENOMX", "EDT": "EDT", "WEZ": "WEZ", "ART": "ART", "LHST": "LHST", "AKST": "AKST", "AKDT": "AKDT", "BT": "BT", "ARST": "ARST", "PDT": "PDT", "JDT": "JDT", "CLST": "CLST", "WAST": "WAST", "AST": "AST", "WIT": "WIT", "WESZ": "WESZ", "CHAST": "CHAST", "JST": "JST", "TMST": "TMST", "GYT": "GYT", "UYT": "UYT", "HAST": "HAST", "AEST": "AEST", "NZST": "NZST", "GFT": "GFT", "ADT": "ADT", "PST": "PST", "LHDT": "LHDT", "HECU": "HECU", "MDT": "MDT", "CDT": "CDT", "SRT": "SRT", "ACWST": "ACWST", "AWDT": "AWDT", "MEZ": "MEZ", "NZDT": "NZDT", "CHADT": "CHADT", "TMT": "TMT", "ChST": "ChST"}, } } diff --git a/naq/naq.go b/naq/naq.go index d64d092c5..21bf38650 100644 --- a/naq/naq.go +++ b/naq/naq.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "$", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "ǃKhanni", "ǃKhanǀgôab", "ǀKhuuǁkhâb", "ǃHôaǂkhaib", "ǃKhaitsâb", "Gamaǀaeb", "ǂKhoesaob", "Aoǁkhuumûǁkhâb", "Taraǀkhuumûǁkhâb", "ǂNûǁnâiseb", "ǀHooǂgaeb", "Hôasoreǁkhâb"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Xristub aiǃâ", "Xristub khaoǃgâ"}, - timezones: map[string]string{"BT": "BT", "COT": "COT", "HADT": "HADT", "EST": "EST", "MST": "MST", "CLST": "CLST", "WESZ": "WESZ", "SRT": "SRT", "ECT": "ECT", "ChST": "ChST", "UYST": "UYST", "HKST": "HKST", "MESZ": "MESZ", "COST": "COST", "WIB": "WIB", "AKDT": "AKDT", "CAT": "CAT", "HAST": "HAST", "ART": "ART", "ADT": "ADT", "PST": "PST", "TMT": "TMT", "CDT": "CDT", "WIT": "WIT", "ACWST": "ACWST", "WAT": "WAT", "WAST": "WAST", "EDT": "EDT", "GYT": "GYT", "CHAST": "CHAST", "HNT": "HNT", "UYT": "UYT", "WITA": "WITA", "AWST": "AWST", "BOT": "BOT", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "ARST": "ARST", "NZST": "NZST", "JST": "JST", "JDT": "JDT", "HKT": "HKT", "VET": "VET", "WART": "WART", "EAT": "EAT", "MDT": "MDT", "ACST": "ACST", "ACWDT": "ACWDT", "SAST": "SAST", "CST": "CST", "NZDT": "NZDT", "MEZ": "MEZ", "AKST": "AKST", "PDT": "PDT", "GFT": "GFT", "CHADT": "CHADT", "WARST": "WARST", "IST": "IST", "AWDT": "AWDT", "AST": "AST", "OEZ": "OEZ", "WEZ": "WEZ", "SGT": "SGT", "TMST": "TMST", "MYT": "MYT", "LHST": "LHST", "GMT": "GMT", "LHDT": "LHDT", "AEDT": "AEDT", "HAT": "HAT", "OESZ": "OESZ", "AEST": "AEST", "CLT": "CLT"}, + timezones: map[string]string{"HENOMX": "HENOMX", "HNCU": "HNCU", "AKST": "AKST", "CDT": "CDT", "AWST": "AWST", "AST": "AST", "ADT": "ADT", "JST": "JST", "TMST": "TMST", "ECT": "ECT", "MDT": "MDT", "CST": "CST", "AEST": "AEST", "SAST": "SAST", "CLST": "CLST", "HEEG": "HEEG", "HEPM": "HEPM", "HNNOMX": "HNNOMX", "UYST": "UYST", "PST": "PST", "WESZ": "WESZ", "ACWST": "ACWST", "HAT": "HAT", "HEOG": "HEOG", "WIB": "WIB", "HADT": "HADT", "SRT": "SRT", "ACWDT": "ACWDT", "AEDT": "AEDT", "JDT": "JDT", "∅∅∅": "∅∅∅", "GMT": "GMT", "EST": "EST", "VET": "VET", "WITA": "WITA", "IST": "IST", "HNEG": "HNEG", "CAT": "CAT", "WAT": "WAT", "WIT": "WIT", "ART": "ART", "LHST": "LHST", "SGT": "SGT", "HECU": "HECU", "AKDT": "AKDT", "GYT": "GYT", "MEZ": "MEZ", "CHAST": "CHAST", "TMT": "TMT", "WART": "WART", "HNPMX": "HNPMX", "UYT": "UYT", "HKT": "HKT", "LHDT": "LHDT", "COST": "COST", "EDT": "EDT", "ACDT": "ACDT", "OEZ": "OEZ", "WEZ": "WEZ", "NZST": "NZST", "CHADT": "CHADT", "CLT": "CLT", "COT": "COT", "MST": "MST", "HAST": "HAST", "HNOG": "HNOG", "GFT": "GFT", "HKST": "HKST", "MESZ": "MESZ", "HNPM": "HNPM", "EAT": "EAT", "WARST": "WARST", "MYT": "MYT", "BT": "BT", "PDT": "PDT", "HNT": "HNT", "AWDT": "AWDT", "ARST": "ARST", "NZDT": "NZDT", "ChST": "ChST", "ACST": "ACST", "WAST": "WAST", "OESZ": "OESZ", "HEPMX": "HEPMX", "BOT": "BOT"}, } } @@ -331,7 +331,12 @@ func (naq *naq) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +350,12 @@ func (naq *naq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -359,7 +369,12 @@ func (naq *naq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -375,7 +390,12 @@ func (naq *naq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/naq_NA/naq_NA.go b/naq_NA/naq_NA.go index 99e0230a7..cf8d9a7c4 100644 --- a/naq_NA/naq_NA.go +++ b/naq_NA/naq_NA.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "ǃKhanni", "ǃKhanǀgôab", "ǀKhuuǁkhâb", "ǃHôaǂkhaib", "ǃKhaitsâb", "Gamaǀaeb", "ǂKhoesaob", "Aoǁkhuumûǁkhâb", "Taraǀkhuumûǁkhâb", "ǂNûǁnâiseb", "ǀHooǂgaeb", "Hôasoreǁkhâb"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Xristub aiǃâ", "Xristub khaoǃgâ"}, - timezones: map[string]string{"UYT": "UYT", "JST": "JST", "SGT": "SGT", "AEDT": "AEDT", "EDT": "EDT", "MDT": "MDT", "AWDT": "AWDT", "ACDT": "ACDT", "COT": "COT", "CST": "CST", "MYT": "MYT", "OEZ": "OEZ", "EST": "EST", "WIT": "WIT", "HNT": "HNT", "JDT": "JDT", "ACWDT": "ACWDT", "ARST": "ARST", "AKDT": "AKDT", "PDT": "PDT", "NZST": "NZST", "GMT": "GMT", "AWST": "AWST", "WIB": "WIB", "CAT": "CAT", "VET": "VET", "NZDT": "NZDT", "CLT": "CLT", "WESZ": "WESZ", "EAT": "EAT", "SAST": "SAST", "BOT": "BOT", "OESZ": "OESZ", "HKT": "HKT", "WITA": "WITA", "TMST": "TMST", "LHST": "LHST", "GFT": "GFT", "HAST": "HAST", "ART": "ART", "SRT": "SRT", "WART": "WART", "CHAST": "CHAST", "HADT": "HADT", "IST": "IST", "TMT": "TMT", "CDT": "CDT", "WEZ": "WEZ", "MESZ": "MESZ", "ACWST": "ACWST", "ADT": "ADT", "BT": "BT", "HKST": "HKST", "LHDT": "LHDT", "PST": "PST", "WAT": "WAT", "∅∅∅": "∅∅∅", "ChST": "ChST", "AKST": "AKST", "MST": "MST", "COST": "COST", "ACST": "ACST", "WARST": "WARST", "AST": "AST", "HAT": "HAT", "MEZ": "MEZ", "CLST": "CLST", "WAST": "WAST", "CHADT": "CHADT", "ECT": "ECT", "AEST": "AEST", "GYT": "GYT", "UYST": "UYST"}, + timezones: map[string]string{"HEEG": "HEEG", "WART": "WART", "ART": "ART", "AWDT": "AWDT", "HEPM": "HEPM", "LHST": "LHST", "HEOG": "HEOG", "WEZ": "WEZ", "ACWST": "ACWST", "AWST": "AWST", "EST": "EST", "HAT": "HAT", "UYST": "UYST", "ADT": "ADT", "HNOG": "HNOG", "AEST": "AEST", "ACST": "ACST", "GMT": "GMT", "HNCU": "HNCU", "BT": "BT", "AEDT": "AEDT", "GYT": "GYT", "AKST": "AKST", "CLST": "CLST", "HNEG": "HNEG", "CDT": "CDT", "PST": "PST", "ARST": "ARST", "WARST": "WARST", "SGT": "SGT", "∅∅∅": "∅∅∅", "MDT": "MDT", "MYT": "MYT", "HNPM": "HNPM", "CLT": "CLT", "TMT": "TMT", "COST": "COST", "HENOMX": "HENOMX", "SRT": "SRT", "PDT": "PDT", "WESZ": "WESZ", "ChST": "ChST", "WAST": "WAST", "HADT": "HADT", "HKST": "HKST", "MESZ": "MESZ", "IST": "IST", "JDT": "JDT", "JST": "JST", "TMST": "TMST", "HECU": "HECU", "ACWDT": "ACWDT", "NZST": "NZST", "NZDT": "NZDT", "SAST": "SAST", "HNNOMX": "HNNOMX", "HAST": "HAST", "VET": "VET", "HNT": "HNT", "CHADT": "CHADT", "LHDT": "LHDT", "BOT": "BOT", "WAT": "WAT", "UYT": "UYT", "CST": "CST", "WIT": "WIT", "HKT": "HKT", "MEZ": "MEZ", "EAT": "EAT", "ECT": "ECT", "HEPMX": "HEPMX", "AST": "AST", "WITA": "WITA", "GFT": "GFT", "ACDT": "ACDT", "EDT": "EDT", "CHAST": "CHAST", "OESZ": "OESZ", "CAT": "CAT", "OEZ": "OEZ", "COT": "COT", "MST": "MST", "HNPMX": "HNPMX", "AKDT": "AKDT", "WIB": "WIB"}, } } @@ -331,7 +331,12 @@ func (naq *naq_NA) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -345,7 +350,12 @@ func (naq *naq_NA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -359,7 +369,12 @@ func (naq *naq_NA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -375,7 +390,12 @@ func (naq *naq_NA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, naq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nb/nb.go b/nb/nb.go index 9a3653e39..31bbaa993 100644 --- a/nb/nb.go +++ b/nb/nb.go @@ -54,9 +54,9 @@ func New() locales.Translator { minus: "−", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"før Kristus", "etter Kristus"}, - timezones: map[string]string{"LHDT": "sommertid for Lord Howe-øya", "AST": "atlanterhavskystlig standardtid", "GMT": "Greenwich middeltid", "WIT": "østindonesisk tid", "VET": "venezuelansk tid", "ART": "argentinsk normaltid", "MDT": "sommertid for Rocky Mountains (USA)", "WARST": "vestargentinsk sommertid", "HNT": "normaltid for Newfoundland", "GFT": "tidssone for Fransk Guyana", "SGT": "singaporsk tid", "HADT": "sommertid for Hawaii og Aleutene", "UYST": "uruguayansk sommertid", "HKT": "normaltid for Hongkong", "AEST": "østaustralsk normaltid", "EAT": "østafrikansk tid", "PST": "normaltid for den nordamerikanske Stillehavskysten", "CAT": "sentralafrikansk tid", "∅∅∅": "peruansk sommertid", "JST": "japansk normaltid", "COST": "colombiansk sommertid", "IST": "indisk tid", "MST": "normaltid for Rocky Mountains (USA)", "ChST": "tidssone for Chamorro", "AWST": "vestaustralsk normaltid", "CLST": "chilensk sommertid", "WEZ": "vesteuropeisk normaltid", "WESZ": "vesteuropeisk sommertid", "SRT": "surinamsk tid", "MEZ": "sentraleuropeisk normaltid", "CST": "normaltid for det sentrale Nord-Amerika", "ACST": "sentralaustralsk normaltid", "MESZ": "sentraleuropeisk sommertid", "HAT": "sommertid for Newfoundland", "LHST": "normaltid for Lord Howe-øya", "HKST": "sommertid for Hongkong", "CHADT": "sommertid for Chatham", "HAST": "normaltid for Hawaii og Aleutene", "ACWDT": "vest-sentralaustralsk sommertid", "AWDT": "vestaustralsk sommertid", "OEZ": "østeuropeisk normaltid", "OESZ": "østeuropeisk sommertid", "COT": "colombiansk normaltid", "ECT": "ecuadoriansk tid", "CLT": "chilensk normaltid", "UYT": "uruguayansk normaltid", "AEDT": "østaustralsk sommertid", "WAT": "vestafrikansk normaltid", "WAST": "vestafrikansk sommertid", "NZST": "newzealandsk normaltid", "WART": "vestargentinsk normaltid", "ADT": "atlanterhavskystlig sommertid", "EDT": "sommertid for den nordamerikanske østkysten", "WITA": "sentralindonesisk tid", "TMST": "turkmensk sommertid", "ACWST": "vest-sentralaustralsk normaltid", "NZDT": "newzealandsk sommertid", "CHAST": "normaltid for Chatham", "SAST": "sørafrikansk tid", "AKST": "alaskisk normaltid", "AKDT": "alaskisk sommertid", "MYT": "malaysisk tid", "JDT": "japansk sommertid", "ARST": "argentinsk sommertid", "EST": "normaltid for den nordamerikanske østkysten", "BT": "bhutansk tid", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "BOT": "boliviansk tid", "TMT": "turkmensk normaltid", "CDT": "sommertid for det sentrale Nord-Amerika", "ACDT": "sentralaustralsk sommertid", "WIB": "vestindonesisk tid", "GYT": "guyansk tid"}, + timezones: map[string]string{"LHST": "normaltid for Lord Howe-øya", "BOT": "boliviansk tid", "UYT": "uruguayansk normaltid", "UYST": "uruguayansk sommertid", "ACWST": "vest-sentralaustralsk normaltid", "CAT": "sentralafrikansk tid", "COT": "colombiansk normaltid", "CLST": "chilensk sommertid", "HNEG": "østgrønlandsk normaltid", "WAT": "vestafrikansk normaltid", "CLT": "chilensk normaltid", "GFT": "tidssone for Fransk Guyana", "ADT": "atlanterhavskystlig sommertid", "GYT": "guyansk tid", "HEPM": "sommertid for Saint-Pierre-et-Miquelon", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "WEZ": "vesteuropeisk normaltid", "OESZ": "østeuropeisk sommertid", "ACWDT": "vest-sentralaustralsk sommertid", "AWST": "vestaustralsk normaltid", "MEZ": "sentraleuropeisk normaltid", "JST": "japansk normaltid", "EAT": "østafrikansk tid", "AKST": "alaskisk normaltid", "CDT": "sommertid for det sentrale Nord-Amerika", "AST": "atlanterhavskystlig standardtid", "HNNOMX": "normaltid for nordvestlige Mexico", "EST": "normaltid for den nordamerikanske østkysten", "MYT": "malaysisk tid", "∅∅∅": "sommertid for Amazonas", "HNCU": "cubansk normaltid", "PST": "normaltid for den nordamerikanske Stillehavskysten", "NZDT": "newzealandsk sommertid", "ChST": "tidssone for Chamorro", "ECT": "ecuadoriansk tid", "WART": "vestargentinsk normaltid", "VET": "venezuelansk tid", "SRT": "surinamsk tid", "HNT": "normaltid for Newfoundland", "HEPMX": "sommertid for den meksikanske Stillehavskysten", "EDT": "sommertid for den nordamerikanske østkysten", "WESZ": "vesteuropeisk sommertid", "ARST": "argentinsk sommertid", "AEDT": "østaustralsk sommertid", "ACDT": "sentralaustralsk sommertid", "MDT": "sommertid for Rocky Mountains (USA)", "WIT": "østindonesisk tid", "BT": "bhutansk tid", "HEEG": "østgrønlandsk sommertid", "COST": "colombiansk sommertid", "WIB": "vestindonesisk tid", "HADT": "sommertid for Hawaii og Aleutene", "AWDT": "vestaustralsk sommertid", "OEZ": "østeuropeisk normaltid", "HENOMX": "sommertid for nordvestlige Mexico", "AEST": "østaustralsk normaltid", "NZST": "newzealandsk normaltid", "MESZ": "sentraleuropeisk sommertid", "HNPM": "normaltid for Saint-Pierre-et-Miquelon", "CHADT": "sommertid for Chatham", "JDT": "japansk sommertid", "HAT": "sommertid for Newfoundland", "ART": "argentinsk normaltid", "HNOG": "vestgrønlandsk normaltid", "SGT": "singaporsk tid", "AKDT": "alaskisk sommertid", "MST": "normaltid for Rocky Mountains (USA)", "IST": "indisk tid", "CHAST": "normaltid for Chatham", "ACST": "sentralaustralsk normaltid", "CST": "normaltid for det sentrale Nord-Amerika", "HAST": "normaltid for Hawaii og Aleutene", "LHDT": "sommertid for Lord Howe-øya", "SAST": "sørafrikansk tid", "TMST": "turkmensk sommertid", "WAST": "vestafrikansk sommertid", "WARST": "vestargentinsk sommertid", "HEOG": "vestgrønlandsk sommertid", "HKT": "normaltid for Hongkong", "WITA": "sentralindonesisk tid", "GMT": "Greenwich middeltid", "HNPMX": "normaltid for den meksikanske Stillehavskysten", "HKST": "sommertid for Hongkong", "TMT": "turkmensk normaltid", "HECU": "cubansk sommertid"}, } } @@ -431,7 +431,12 @@ func (nb *nb) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (nb *nb) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (nb *nb) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (nb *nb) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -490,7 +510,7 @@ func (nb *nb) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -511,14 +531,14 @@ func (nb *nb) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -539,14 +559,14 @@ func (nb *nb) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -571,14 +591,14 @@ func (nb *nb) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/nb_NO/nb_NO.go b/nb_NO/nb_NO.go index bf9e765cf..d372c4558 100644 --- a/nb_NO/nb_NO.go +++ b/nb_NO/nb_NO.go @@ -54,9 +54,9 @@ func New() locales.Translator { minus: "−", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"før Kristus", "etter Kristus"}, - timezones: map[string]string{"LHST": "normaltid for Lord Howe-øya", "UYT": "uruguayansk normaltid", "HAST": "normaltid for Hawaii og Aleutene", "AST": "atlanterhavskystlig standardtid", "ECT": "ecuadoriansk tid", "AKDT": "alaskisk sommertid", "WIT": "østindonesisk tid", "CDT": "sommertid for det sentrale Nord-Amerika", "ACWST": "vest-sentralaustralsk normaltid", "ACWDT": "vest-sentralaustralsk sommertid", "WAT": "vestafrikansk normaltid", "EDT": "sommertid for den nordamerikanske østkysten", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "CST": "normaltid for det sentrale Nord-Amerika", "GYT": "guyansk tid", "MDT": "sommertid for Rocky Mountains (USA)", "JDT": "japansk sommertid", "GFT": "tidssone for Fransk Guyana", "HKT": "normaltid for Hongkong", "NZST": "newzealandsk normaltid", "HNT": "normaltid for Newfoundland", "AWST": "vestaustralsk normaltid", "WAST": "vestafrikansk sommertid", "ChST": "tidssone for Chamorro", "JST": "japansk normaltid", "WESZ": "vesteuropeisk sommertid", "ADT": "atlanterhavskystlig sommertid", "ART": "argentinsk normaltid", "ARST": "argentinsk sommertid", "WARST": "vestargentinsk sommertid", "AKST": "alaskisk normaltid", "BT": "bhutansk tid", "∅∅∅": "sommertid for Brasilia", "LHDT": "sommertid for Lord Howe-øya", "WEZ": "vesteuropeisk normaltid", "OESZ": "østeuropeisk sommertid", "MST": "normaltid for Rocky Mountains (USA)", "BOT": "boliviansk tid", "CAT": "sentralafrikansk tid", "GMT": "Greenwich middeltid", "SGT": "singaporsk tid", "AEST": "østaustralsk normaltid", "WIB": "vestindonesisk tid", "ACDT": "sentralaustralsk sommertid", "WART": "vestargentinsk normaltid", "HADT": "sommertid for Hawaii og Aleutene", "UYST": "uruguayansk sommertid", "HKST": "sommertid for Hongkong", "VET": "venezuelansk tid", "PST": "normaltid for den nordamerikanske Stillehavskysten", "WITA": "sentralindonesisk tid", "NZDT": "newzealandsk sommertid", "HAT": "sommertid for Newfoundland", "MEZ": "sentraleuropeisk normaltid", "AEDT": "østaustralsk sommertid", "EST": "normaltid for den nordamerikanske østkysten", "CLT": "chilensk normaltid", "TMT": "turkmensk normaltid", "AWDT": "vestaustralsk sommertid", "SRT": "surinamsk tid", "COT": "colombiansk normaltid", "MESZ": "sentraleuropeisk sommertid", "EAT": "østafrikansk tid", "MYT": "malaysisk tid", "CLST": "chilensk sommertid", "CHAST": "normaltid for Chatham", "OEZ": "østeuropeisk normaltid", "COST": "colombiansk sommertid", "SAST": "sørafrikansk tid", "TMST": "turkmensk sommertid", "CHADT": "sommertid for Chatham", "ACST": "sentralaustralsk normaltid", "IST": "indisk tid"}, + timezones: map[string]string{"EAT": "østafrikansk tid", "ECT": "ecuadoriansk tid", "GMT": "Greenwich middeltid", "BT": "bhutansk tid", "SAST": "sørafrikansk tid", "IST": "indisk tid", "∅∅∅": "sommertid for Amazonas", "BOT": "boliviansk tid", "ChST": "tidssone for Chamorro", "HNPMX": "normaltid for den meksikanske Stillehavskysten", "UYT": "uruguayansk normaltid", "HAST": "normaltid for Hawaii og Aleutene", "WEZ": "vesteuropeisk normaltid", "NZST": "newzealandsk normaltid", "NZDT": "newzealandsk sommertid", "CLT": "chilensk normaltid", "HNPM": "normaltid for Saint-Pierre-et-Miquelon", "AWST": "vestaustralsk normaltid", "GFT": "tidssone for Fransk Guyana", "PST": "normaltid for den nordamerikanske Stillehavskysten", "ARST": "argentinsk sommertid", "WITA": "sentralindonesisk tid", "HEPMX": "sommertid for den meksikanske Stillehavskysten", "SGT": "singaporsk tid", "ACWST": "vest-sentralaustralsk normaltid", "HAT": "sommertid for Newfoundland", "ACST": "sentralaustralsk normaltid", "WAST": "vestafrikansk sommertid", "WART": "vestargentinsk normaltid", "HKST": "sommertid for Hongkong", "HNEG": "østgrønlandsk normaltid", "HEEG": "østgrønlandsk sommertid", "TMST": "turkmensk sommertid", "CAT": "sentralafrikansk tid", "AKDT": "alaskisk sommertid", "CST": "normaltid for det sentrale Nord-Amerika", "AST": "atlanterhavskystlig standardtid", "HKT": "normaltid for Hongkong", "ACDT": "sentralaustralsk sommertid", "OESZ": "østeuropeisk sommertid", "EST": "normaltid for den nordamerikanske østkysten", "MST": "Macau, standardtid", "WIB": "vestindonesisk tid", "AEST": "østaustralsk normaltid", "LHST": "normaltid for Lord Howe-øya", "LHDT": "sommertid for Lord Howe-øya", "HNCU": "cubansk normaltid", "GYT": "guyansk tid", "HEOG": "vestgrønlandsk sommertid", "MEZ": "sentraleuropeisk normaltid", "JDT": "japansk sommertid", "TMT": "turkmensk normaltid", "COT": "colombiansk normaltid", "CHAST": "normaltid for Chatham", "OEZ": "østeuropeisk normaltid", "MDT": "Macau, sommertid", "VET": "venezuelansk tid", "WIT": "østindonesisk tid", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "WESZ": "vesteuropeisk sommertid", "ACWDT": "vest-sentralaustralsk sommertid", "ADT": "atlanterhavskystlig sommertid", "CHADT": "sommertid for Chatham", "COST": "colombiansk sommertid", "HNNOMX": "normaltid for nordvestlige Mexico", "UYST": "uruguayansk sommertid", "ART": "argentinsk normaltid", "WARST": "vestargentinsk sommertid", "EDT": "sommertid for den nordamerikanske østkysten", "AKST": "alaskisk normaltid", "CDT": "sommertid for det sentrale Nord-Amerika", "MYT": "malaysisk tid", "SRT": "surinamsk tid", "HNT": "normaltid for Newfoundland", "AWDT": "vestaustralsk sommertid", "MESZ": "sentraleuropeisk sommertid", "WAT": "vestafrikansk normaltid", "HNOG": "vestgrønlandsk normaltid", "AEDT": "østaustralsk sommertid", "HEPM": "sommertid for Saint-Pierre-et-Miquelon", "JST": "japansk normaltid", "HENOMX": "sommertid for nordvestlige Mexico", "HADT": "sommertid for Hawaii og Aleutene", "CLST": "chilensk sommertid", "HECU": "cubansk sommertid"}, } } @@ -431,7 +431,12 @@ func (nb *nb_NO) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (nb *nb_NO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (nb *nb_NO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (nb *nb_NO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -490,7 +510,7 @@ func (nb *nb_NO) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -511,14 +531,14 @@ func (nb *nb_NO) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -539,14 +559,14 @@ func (nb *nb_NO) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -571,14 +591,14 @@ func (nb *nb_NO) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/nb_SJ/nb_SJ.go b/nb_SJ/nb_SJ.go index 573ef7e4c..f1b6e0549 100644 --- a/nb_SJ/nb_SJ.go +++ b/nb_SJ/nb_SJ.go @@ -54,9 +54,9 @@ func New() locales.Translator { minus: "−", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"før Kristus", "etter Kristus"}, - timezones: map[string]string{"JDT": "japansk sommertid", "IST": "indisk tid", "TMT": "turkmensk normaltid", "GYT": "guyansk tid", "MST": "normaltid for Rocky Mountains (USA)", "ACWDT": "vest-sentralaustralsk sommertid", "AEST": "østaustralsk normaltid", "HAT": "sommertid for Newfoundland", "LHDT": "sommertid for Lord Howe-øya", "HKST": "sommertid for Hongkong", "AST": "atlanterhavskystlig standardtid", "SAST": "sørafrikansk tid", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "MESZ": "sentraleuropeisk sommertid", "WART": "vestargentinsk normaltid", "HNT": "normaltid for Newfoundland", "EDT": "sommertid for den nordamerikanske østkysten", "TMST": "turkmensk sommertid", "AWST": "vestaustralsk normaltid", "UYT": "uruguayansk normaltid", "CDT": "sommertid for det sentrale Nord-Amerika", "CLST": "chilensk sommertid", "WIT": "østindonesisk tid", "LHST": "normaltid for Lord Howe-øya", "OESZ": "østeuropeisk sommertid", "ACDT": "sentralaustralsk sommertid", "WARST": "vestargentinsk sommertid", "CST": "normaltid for det sentrale Nord-Amerika", "ChST": "tidssone for Chamorro", "COST": "colombiansk sommertid", "ART": "argentinsk normaltid", "ADT": "atlanterhavskystlig sommertid", "NZDT": "newzealandsk sommertid", "ACWST": "vest-sentralaustralsk normaltid", "AKST": "alaskisk normaltid", "BOT": "boliviansk tid", "GFT": "tidssone for Fransk Guyana", "SGT": "singaporsk tid", "COT": "colombiansk normaltid", "HADT": "sommertid for Hawaii og Aleutene", "AKDT": "alaskisk sommertid", "WITA": "sentralindonesisk tid", "MYT": "malaysisk tid", "∅∅∅": "Acre sommertid", "HKT": "normaltid for Hongkong", "ACST": "sentralaustralsk normaltid", "ARST": "argentinsk sommertid", "BT": "bhutansk tid", "CHADT": "sommertid for Chatham", "MEZ": "sentraleuropeisk normaltid", "EAT": "østafrikansk tid", "CAT": "sentralafrikansk tid", "GMT": "Greenwich middeltid", "WESZ": "vesteuropeisk sommertid", "HAST": "normaltid for Hawaii og Aleutene", "WAT": "vestafrikansk normaltid", "NZST": "newzealandsk normaltid", "ECT": "ecuadoriansk tid", "AEDT": "østaustralsk sommertid", "MDT": "sommertid for Rocky Mountains (USA)", "WIB": "vestindonesisk tid", "EST": "normaltid for den nordamerikanske østkysten", "JST": "japansk normaltid", "OEZ": "østeuropeisk normaltid", "WEZ": "vesteuropeisk normaltid", "CHAST": "normaltid for Chatham", "VET": "venezuelansk tid", "SRT": "surinamsk tid", "AWDT": "vestaustralsk sommertid", "UYST": "uruguayansk sommertid", "WAST": "vestafrikansk sommertid", "PST": "normaltid for den nordamerikanske Stillehavskysten", "CLT": "chilensk normaltid"}, + timezones: map[string]string{"MEZ": "sentraleuropeisk normaltid", "CHAST": "normaltid for Chatham", "∅∅∅": "sommertid for Amazonas", "HEEG": "østgrønlandsk sommertid", "CAT": "sentralafrikansk tid", "EAT": "østafrikansk tid", "HENOMX": "sommertid for nordvestlige Mexico", "SGT": "singaporsk tid", "WITA": "sentralindonesisk tid", "HEPMX": "sommertid for den meksikanske Stillehavskysten", "TMST": "turkmensk sommertid", "WARST": "vestargentinsk sommertid", "HNCU": "cubansk normaltid", "HKST": "sommertid for Hongkong", "LHST": "normaltid for Lord Howe-øya", "HNNOMX": "normaltid for nordvestlige Mexico", "PDT": "sommertid for den nordamerikanske Stillehavskysten", "HAT": "sommertid for Newfoundland", "HKT": "normaltid for Hongkong", "HNEG": "østgrønlandsk normaltid", "CDT": "sommertid for det sentrale Nord-Amerika", "AEST": "østaustralsk normaltid", "HNPM": "normaltid for Saint-Pierre-et-Miquelon", "ACDT": "sentralaustralsk sommertid", "HECU": "cubansk sommertid", "ACWDT": "vest-sentralaustralsk sommertid", "MDT": "sommertid for Rocky Mountains (USA)", "AWDT": "vestaustralsk sommertid", "HNPMX": "normaltid for den meksikanske Stillehavskysten", "UYST": "uruguayansk sommertid", "ARST": "argentinsk sommertid", "GFT": "tidssone for Fransk Guyana", "EST": "normaltid for den nordamerikanske østkysten", "ADT": "atlanterhavskystlig sommertid", "MYT": "malaysisk tid", "HAST": "normaltid for Hawaii og Aleutene", "NZDT": "newzealandsk sommertid", "CLT": "chilensk normaltid", "OEZ": "østeuropeisk normaltid", "GYT": "guyansk tid", "SRT": "surinamsk tid", "HNT": "normaltid for Newfoundland", "ART": "argentinsk normaltid", "HEOG": "vestgrønlandsk sommertid", "HEPM": "sommertid for Saint-Pierre-et-Miquelon", "ACST": "sentralaustralsk normaltid", "COST": "colombiansk sommertid", "AST": "atlanterhavskystlig standardtid", "GMT": "Greenwich middeltid", "WEZ": "vesteuropeisk normaltid", "HNOG": "vestgrønlandsk normaltid", "AEDT": "østaustralsk sommertid", "MESZ": "sentraleuropeisk sommertid", "NZST": "newzealandsk normaltid", "SAST": "sørafrikansk tid", "JST": "japansk normaltid", "WIT": "østindonesisk tid", "HADT": "sommertid for Hawaii og Aleutene", "BT": "bhutansk tid", "PST": "normaltid for den nordamerikanske Stillehavskysten", "ACWST": "vest-sentralaustralsk normaltid", "TMT": "turkmensk normaltid", "EDT": "sommertid for den nordamerikanske østkysten", "MST": "normaltid for Rocky Mountains (USA)", "CLST": "chilensk sommertid", "OESZ": "østeuropeisk sommertid", "AWST": "vestaustralsk normaltid", "WESZ": "vesteuropeisk sommertid", "CHADT": "sommertid for Chatham", "ChST": "tidssone for Chamorro", "BOT": "boliviansk tid", "WAT": "vestafrikansk normaltid", "AKDT": "alaskisk sommertid", "LHDT": "sommertid for Lord Howe-øya", "IST": "indisk tid", "WAST": "vestafrikansk sommertid", "VET": "venezuelansk tid", "CST": "normaltid for det sentrale Nord-Amerika", "UYT": "uruguayansk normaltid", "WIB": "vestindonesisk tid", "JDT": "japansk sommertid", "ECT": "ecuadoriansk tid", "WART": "vestargentinsk normaltid", "COT": "colombiansk normaltid", "AKST": "alaskisk normaltid"}, } } @@ -431,7 +431,12 @@ func (nb *nb_SJ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +450,12 @@ func (nb *nb_SJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +469,12 @@ func (nb *nb_SJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,7 +490,12 @@ func (nb *nb_SJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nb.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -490,7 +510,7 @@ func (nb *nb_SJ) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -511,14 +531,14 @@ func (nb *nb_SJ) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -539,14 +559,14 @@ func (nb *nb_SJ) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -571,14 +591,14 @@ func (nb *nb_SJ) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nb.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/nd/nd.go b/nd/nd.go index 23d2533a3..aa2261422 100644 --- a/nd/nd.go +++ b/nd/nd.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Zib", "Nhlo", "Mbi", "Mab", "Nkw", "Nhla", "Ntu", "Ncw", "Mpan", "Mfu", "Lwe", "Mpal"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"UKristo angakabuyi", "Ukristo ebuyile"}, - timezones: map[string]string{"WAT": "WAT", "NZDT": "NZDT", "CLT": "CLT", "JDT": "JDT", "EDT": "EDT", "PST": "PST", "GFT": "GFT", "CHAST": "CHAST", "WITA": "WITA", "GYT": "GYT", "NZST": "NZST", "WIT": "WIT", "CHADT": "CHADT", "COST": "COST", "TMT": "TMT", "WAST": "WAST", "VET": "VET", "PDT": "PDT", "SAST": "SAST", "IST": "IST", "CST": "CST", "LHST": "LHST", "MEZ": "MEZ", "ARST": "ARST", "MST": "MST", "CAT": "CAT", "OESZ": "OESZ", "WEZ": "WEZ", "HKST": "HKST", "AWDT": "AWDT", "EST": "EST", "EAT": "EAT", "BT": "BT", "HAT": "HAT", "SRT": "SRT", "ACWDT": "ACWDT", "MYT": "MYT", "WIB": "WIB", "ACST": "ACST", "ACDT": "ACDT", "COT": "COT", "WARST": "WARST", "LHDT": "LHDT", "UYT": "UYT", "OEZ": "OEZ", "AEDT": "AEDT", "WESZ": "WESZ", "ECT": "ECT", "CLST": "CLST", "HNT": "HNT", "GMT": "GMT", "AEST": "AEST", "ChST": "ChST", "HKT": "HKT", "BOT": "BOT", "CDT": "CDT", "MDT": "MDT", "UYST": "UYST", "ART": "ART", "AST": "AST", "AKST": "AKST", "∅∅∅": "∅∅∅", "JST": "JST", "HADT": "HADT", "MESZ": "MESZ", "ACWST": "ACWST", "TMST": "TMST", "AKDT": "AKDT", "ADT": "ADT", "AWST": "AWST", "SGT": "SGT", "WART": "WART", "HAST": "HAST"}, + timezones: map[string]string{"ChST": "ChST", "VET": "VET", "HNPM": "HNPM", "HKT": "HKT", "SGT": "SGT", "CDT": "CDT", "SRT": "SRT", "PST": "PST", "JST": "JST", "UYST": "UYST", "BT": "BT", "WEZ": "WEZ", "WART": "WART", "HAST": "HAST", "HNEG": "HNEG", "TMT": "TMT", "WAST": "WAST", "ECT": "ECT", "EDT": "EDT", "CST": "CST", "HNOG": "HNOG", "LHST": "LHST", "HNPMX": "HNPMX", "CHADT": "CHADT", "COT": "COT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "EST": "EST", "ACWST": "ACWST", "ARST": "ARST", "WITA": "WITA", "IST": "IST", "CAT": "CAT", "HNCU": "HNCU", "HEPMX": "HEPMX", "WIT": "WIT", "OEZ": "OEZ", "AKST": "AKST", "ACWDT": "ACWDT", "JDT": "JDT", "EAT": "EAT", "MST": "MST", "HADT": "HADT", "ACDT": "ACDT", "OESZ": "OESZ", "MDT": "MDT", "UYT": "UYT", "CLT": "CLT", "∅∅∅": "∅∅∅", "BOT": "BOT", "HEEG": "HEEG", "WESZ": "WESZ", "HNT": "HNT", "HAT": "HAT", "AWDT": "AWDT", "TMST": "TMST", "WAT": "WAT", "AEST": "AEST", "AEDT": "AEDT", "NZST": "NZST", "CHAST": "CHAST", "CLST": "CLST", "HECU": "HECU", "GYT": "GYT", "PDT": "PDT", "MESZ": "MESZ", "GFT": "GFT", "GMT": "GMT", "MYT": "MYT", "HEPM": "HEPM", "HEOG": "HEOG", "HKST": "HKST", "MEZ": "MEZ", "NZDT": "NZDT", "WARST": "WARST", "COST": "COST", "AKDT": "AKDT", "AST": "AST", "LHDT": "LHDT", "SAST": "SAST", "ADT": "ADT", "WIB": "WIB", "ART": "ART", "AWST": "AWST", "ACST": "ACST"}, } } @@ -335,7 +335,12 @@ func (nd *nd) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +354,12 @@ func (nd *nd) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -363,7 +373,12 @@ func (nd *nd) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -379,7 +394,12 @@ func (nd *nd) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,13 +409,11 @@ func (nd *nd) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -403,13 +421,6 @@ func (nd *nd) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } return string(b) } @@ -419,13 +430,11 @@ func (nd *nd) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -440,13 +449,6 @@ func (nd *nd) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } return string(b) } @@ -456,13 +458,11 @@ func (nd *nd) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -479,14 +479,6 @@ func (nd *nd) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -498,13 +490,11 @@ func (nd *nd) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -521,14 +511,6 @@ func (nd *nd) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := nd.timezones[tz]; ok { diff --git a/nd_ZW/nd_ZW.go b/nd_ZW/nd_ZW.go index 6596aa392..51ea6e82f 100644 --- a/nd_ZW/nd_ZW.go +++ b/nd_ZW/nd_ZW.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Zib", "Nhlo", "Mbi", "Mab", "Nkw", "Nhla", "Ntu", "Ncw", "Mpan", "Mfu", "Lwe", "Mpal"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"UKristo angakabuyi", "Ukristo ebuyile"}, - timezones: map[string]string{"SAST": "SAST", "AKDT": "AKDT", "AST": "AST", "TMST": "TMST", "HAT": "HAT", "OESZ": "OESZ", "WAT": "WAT", "WITA": "WITA", "AWDT": "AWDT", "SRT": "SRT", "UYT": "UYT", "HKT": "HKT", "AKST": "AKST", "EST": "EST", "PDT": "PDT", "MST": "MST", "BOT": "BOT", "AWST": "AWST", "CHADT": "CHADT", "HADT": "HADT", "MDT": "MDT", "HNT": "HNT", "OEZ": "OEZ", "MESZ": "MESZ", "WAST": "WAST", "NZDT": "NZDT", "MEZ": "MEZ", "EAT": "EAT", "EDT": "EDT", "GYT": "GYT", "WESZ": "WESZ", "WIB": "WIB", "CHAST": "CHAST", "GFT": "GFT", "HAST": "HAST", "ARST": "ARST", "CST": "CST", "LHST": "LHST", "LHDT": "LHDT", "JST": "JST", "COT": "COT", "ACWST": "ACWST", "PST": "PST", "BT": "BT", "AEDT": "AEDT", "ACDT": "ACDT", "CDT": "CDT", "CLST": "CLST", "HKST": "HKST", "ART": "ART", "WART": "WART", "IST": "IST", "COST": "COST", "CLT": "CLT", "GMT": "GMT", "SGT": "SGT", "AEST": "AEST", "WARST": "WARST", "∅∅∅": "∅∅∅", "NZST": "NZST", "CAT": "CAT", "UYST": "UYST", "VET": "VET", "ACWDT": "ACWDT", "TMT": "TMT", "WIT": "WIT", "WEZ": "WEZ", "ACST": "ACST", "ECT": "ECT", "ADT": "ADT", "MYT": "MYT", "ChST": "ChST", "JDT": "JDT"}, + timezones: map[string]string{"ACWST": "ACWST", "HEPM": "HEPM", "GMT": "GMT", "PDT": "PDT", "WIB": "WIB", "CLST": "CLST", "TMT": "TMT", "WARST": "WARST", "HEPMX": "HEPMX", "UYST": "UYST", "MEZ": "MEZ", "CHAST": "CHAST", "IST": "IST", "LHST": "LHST", "CHADT": "CHADT", "SAST": "SAST", "ChST": "ChST", "EST": "EST", "HADT": "HADT", "WIT": "WIT", "AWST": "AWST", "HNPMX": "HNPMX", "WITA": "WITA", "EAT": "EAT", "WAT": "WAT", "ADT": "ADT", "WESZ": "WESZ", "HEOG": "HEOG", "AEST": "AEST", "HEEG": "HEEG", "WART": "WART", "ART": "ART", "NZST": "NZST", "JDT": "JDT", "AKST": "AKST", "CST": "CST", "ACWDT": "ACWDT", "JST": "JST", "HNCU": "HNCU", "ECT": "ECT", "HENOMX": "HENOMX", "MYT": "MYT", "AKDT": "AKDT", "HNOG": "HNOG", "HKT": "HKT", "NZDT": "NZDT", "WAST": "WAST", "HNNOMX": "HNNOMX", "HAST": "HAST", "PST": "PST", "WEZ": "WEZ", "BOT": "BOT", "SGT": "SGT", "EDT": "EDT", "CDT": "CDT", "GYT": "GYT", "SRT": "SRT", "AEDT": "AEDT", "AWDT": "AWDT", "ACDT": "ACDT", "CAT": "CAT", "COT": "COT", "HECU": "HECU", "UYT": "UYT", "LHDT": "LHDT", "∅∅∅": "∅∅∅", "ACST": "ACST", "AST": "AST", "MST": "MST", "MDT": "MDT", "HAT": "HAT", "HKST": "HKST", "COST": "COST", "CLT": "CLT", "BT": "BT", "GFT": "GFT", "TMST": "TMST", "HNPM": "HNPM", "MESZ": "MESZ", "HNEG": "HNEG", "OEZ": "OEZ", "OESZ": "OESZ", "VET": "VET", "HNT": "HNT", "ARST": "ARST"}, } } @@ -335,7 +335,12 @@ func (nd *nd_ZW) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -349,7 +354,12 @@ func (nd *nd_ZW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -363,7 +373,12 @@ func (nd *nd_ZW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -379,7 +394,12 @@ func (nd *nd_ZW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nd.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,13 +409,11 @@ func (nd *nd_ZW) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -403,13 +421,6 @@ func (nd *nd_ZW) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } return string(b) } @@ -419,13 +430,11 @@ func (nd *nd_ZW) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -440,13 +449,6 @@ func (nd *nd_ZW) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } return string(b) } @@ -456,13 +458,11 @@ func (nd *nd_ZW) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -479,14 +479,6 @@ func (nd *nd_ZW) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -498,13 +490,11 @@ func (nd *nd_ZW) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, nd.timeSeparator...) if t.Minute() < 10 { @@ -521,14 +511,6 @@ func (nd *nd_ZW) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, nd.periodsAbbreviated[0]...) - } else { - b = append(b, nd.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := nd.timezones[tz]; ok { diff --git a/nds/nds.go b/nds/nds.go new file mode 100644 index 000000000..012c09e84 --- /dev/null +++ b/nds/nds.go @@ -0,0 +1,576 @@ +package nds + +import ( + "math" + "strconv" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +type nds struct { + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string +} + +// New returns a new instance of translator for the 'nds' locale +func New() locales.Translator { + return &nds{ + locale: "nds", + pluralsCardinal: nil, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: ",", + group: ".", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Januaar", "Februaar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktover", "November", "Dezember"}, + daysAbbreviated: []string{"Sü.", "Ma.", "Di.", "Mi.", "Du.", "Fr.", "Sa."}, + daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, + daysWide: []string{"Sünndag", "Maandag", "Dingsdag", "Middeweken", "Dunnersdag", "Freedag", "Sünnavend"}, + periodsAbbreviated: []string{"vm", "nm"}, + periodsWide: []string{"vm", "nm"}, + erasAbbreviated: []string{"v.Chr.", "n.Chr."}, + erasNarrow: []string{"vC", "nC"}, + erasWide: []string{"vör Christus", "na Christus"}, + timezones: map[string]string{"NZST": "NZST", "SAST": "Söödafrikaansch Tiet", "HECU": "HECU", "AST": "Noordamerikaansch Atlantik-Standardtiet", "ADT": "Noordamerikaansch Atlantik-Summertiet", "HAST": "HAST", "CHAST": "CHAST", "TMST": "TMST", "ACDT": "Zentraalaustraalsch Summertiet", "SGT": "SGT", "SRT": "SRT", "AEST": "Oostaustraalsch Standardtiet", "HADT": "HADT", "HENOMX": "HENOMX", "GMT": "Gröönwisch-Welttiet", "UYST": "UYST", "AKST": "AKST", "HEPM": "HEPM", "MESZ": "Zentraaleuropääsch Summertiet", "EAT": "Oostafrikaansch Tiet", "WEZ": "Westeuropääsch Standardtiet", "MEZ": "Zentraaleuropääsch Standardtiet", "CLT": "CLT", "ACST": "Zentraalaustraalsch Standardtiet", "ECT": "ECT", "CDT": "Noordamerikaansch zentraal Summertiet", "ARST": "ARST", "LHDT": "LHDT", "NZDT": "NZDT", "GFT": "GFT", "CST": "Noordamerikaansch zentraal Standardtiet", "GYT": "GYT", "WIB": "Westindoneesch Tiet", "BT": "BT", "HEOG": "HEOG", "CHADT": "CHADT", "CLST": "CLST", "HEEG": "HEEG", "CAT": "Zentraalafrikaansch Tiet", "WESZ": "Westeuropääsch Summertiet", "HNT": "HNT", "ART": "ART", "UYT": "UYT", "∅∅∅": "∅∅∅", "BOT": "BOT", "COST": "COST", "HNNOMX": "HNNOMX", "MDT": "MDT", "AKDT": "AKDT", "ACWST": "Westzentraalaustraalsch Standardtiet", "AWST": "Westaustraalsch Standardtiet", "HKST": "HKST", "JST": "Japaansch Standardtiet", "TMT": "TMT", "MST": "MST", "HNPMX": "HNPMX", "WITA": "Indoneesch Zentraaltiet", "ChST": "ChST", "WAST": "Westafrikaansch Summertiet", "COT": "COT", "PDT": "Noordamerikaansch Pazifik-Summertiet", "OEZ": "Oosteuropääsch Standardtiet", "HEPMX": "HEPMX", "VET": "VET", "HAT": "HAT", "WIT": "Oostindoneesch Tiet", "PST": "Noordamerikaansch Pazifik-Standardtiet", "AEDT": "Oostaustraalsch Summertiet", "HNPM": "HNPM", "JDT": "Japaansch Summertiet", "HNCU": "HNCU", "MYT": "MYT", "LHST": "LHST", "HNEG": "HNEG", "WART": "WART", "EST": "Noordamerikaansch oosten Standardtiet", "EDT": "Noordamerikaansch oosten Summertiet", "HNOG": "HNOG", "ACWDT": "Westzentraalaustraalsch Summertiet", "AWDT": "Westaustraalsch Summertiet", "HKT": "HKT", "IST": "Indien-Tiet", "WAT": "Westafrikaansch Standardtiet", "OESZ": "Oosteuropääsch Summertiet", "WARST": "WARST"}, + } +} + +// Locale returns the current translators string locale +func (nds *nds) Locale() string { + return nds.locale +} + +// PluralsCardinal returns the list of cardinal plural rules associated with 'nds' +func (nds *nds) PluralsCardinal() []locales.PluralRule { + return nds.pluralsCardinal +} + +// PluralsOrdinal returns the list of ordinal plural rules associated with 'nds' +func (nds *nds) PluralsOrdinal() []locales.PluralRule { + return nds.pluralsOrdinal +} + +// PluralsRange returns the list of range plural rules associated with 'nds' +func (nds *nds) PluralsRange() []locales.PluralRule { + return nds.pluralsRange +} + +// CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'nds' +func (nds *nds) CardinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'nds' +func (nds *nds) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'nds' +func (nds *nds) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// MonthAbbreviated returns the locales abbreviated month given the 'month' provided +func (nds *nds) MonthAbbreviated(month time.Month) string { + return nds.monthsAbbreviated[month] +} + +// MonthsAbbreviated returns the locales abbreviated months +func (nds *nds) MonthsAbbreviated() []string { + return nds.monthsAbbreviated[1:] +} + +// MonthNarrow returns the locales narrow month given the 'month' provided +func (nds *nds) MonthNarrow(month time.Month) string { + return nds.monthsNarrow[month] +} + +// MonthsNarrow returns the locales narrow months +func (nds *nds) MonthsNarrow() []string { + return nds.monthsNarrow[1:] +} + +// MonthWide returns the locales wide month given the 'month' provided +func (nds *nds) MonthWide(month time.Month) string { + return nds.monthsWide[month] +} + +// MonthsWide returns the locales wide months +func (nds *nds) MonthsWide() []string { + return nds.monthsWide[1:] +} + +// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided +func (nds *nds) WeekdayAbbreviated(weekday time.Weekday) string { + return nds.daysAbbreviated[weekday] +} + +// WeekdaysAbbreviated returns the locales abbreviated weekdays +func (nds *nds) WeekdaysAbbreviated() []string { + return nds.daysAbbreviated +} + +// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided +func (nds *nds) WeekdayNarrow(weekday time.Weekday) string { + return nds.daysNarrow[weekday] +} + +// WeekdaysNarrow returns the locales narrow weekdays +func (nds *nds) WeekdaysNarrow() []string { + return nds.daysNarrow +} + +// WeekdayShort returns the locales short weekday given the 'weekday' provided +func (nds *nds) WeekdayShort(weekday time.Weekday) string { + return nds.daysShort[weekday] +} + +// WeekdaysShort returns the locales short weekdays +func (nds *nds) WeekdaysShort() []string { + return nds.daysShort +} + +// WeekdayWide returns the locales wide weekday given the 'weekday' provided +func (nds *nds) WeekdayWide(weekday time.Weekday) string { + return nds.daysWide[weekday] +} + +// WeekdaysWide returns the locales wide weekdays +func (nds *nds) WeekdaysWide() []string { + return nds.daysWide +} + +// FmtNumber returns 'num' with digits/precision of 'v' for 'nds' and handles both Whole and Real numbers based on 'v' +func (nds *nds) FmtNumber(num float64, v uint64) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) +} + +// FmtPercent returns 'num' with digits/precision of 'v' for 'nds' and handles both Whole and Real numbers based on 'v' +// NOTE: 'num' passed into FmtPercent is assumed to be in percent already +func (nds *nds) FmtPercent(num float64, v uint64) string { + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, nds.percentSuffix...) + + b = append(b, nds.percent...) + + return string(b) +} + +// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'nds' +func (nds *nds) FmtCurrency(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, nds.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) +} + +// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'nds' +// in accounting notation. +func (nds *nds) FmtAccounting(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, nds.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, nds.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nds.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) +} + +// FmtDateShort returns the short date representation of 't' for 'nds' +func (nds *nds) FmtDateShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2e}...) + + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) + } + + return string(b) +} + +// FmtDateMedium returns the medium date representation of 't' for 'nds' +func (nds *nds) FmtDateMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateLong returns the long date representation of 't' for 'nds' +func (nds *nds) FmtDateLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateFull returns the full date representation of 't' for 'nds' +func (nds *nds) FmtDateFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, nds.daysWide[t.Weekday()]...) + b = append(b, []byte{0x2c, 0x20, 0x64, 0x65}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtTimeShort returns the short time representation of 't' for 'nds' +func (nds *nds) FmtTimeShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c}...) + b = append(b, []byte{0x2e, 0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + + return string(b) +} + +// FmtTimeMedium returns the medium time representation of 't' for 'nds' +func (nds *nds) FmtTimeMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + + return string(b) +} + +// FmtTimeLong returns the long time representation of 't' for 'nds' +func (nds *nds) FmtTimeLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + b = append(b, tz...) + + b = append(b, []byte{0x29}...) + + return string(b) +} + +// FmtTimeFull returns the full time representation of 't' for 'nds' +func (nds *nds) FmtTimeFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + + if btz, ok := nds.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + b = append(b, []byte{0x29}...) + + return string(b) +} diff --git a/nds/nds_test.go b/nds/nds_test.go new file mode 100644 index 000000000..a4e2afac2 --- /dev/null +++ b/nds/nds_test.go @@ -0,0 +1,1120 @@ +package nds + +import ( + "testing" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +func TestLocale(t *testing.T) { + + trans := New() + expected := "nds" + + if trans.Locale() != expected { + t.Errorf("Expected '%s' Got '%s'", expected, trans.Locale()) + } +} + +func TestPluralsRange(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsRange() + // expected := 1 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsOrdinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleTwo, + // }, + // { + // expected: locales.PluralRuleFew, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsOrdinal() + // expected := 4 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsCardinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsCardinal() + // expected := 2 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestRangePlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num1 float64 + v1 uint64 + num2 float64 + v2 uint64 + expected locales.PluralRule + }{ + // { + // num1: 1, + // v1: 1, + // num2: 2, + // v2: 2, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.RangePluralRule(tt.num1, tt.v1, tt.num2, tt.v2) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestOrdinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 2, + // v: 0, + // expected: locales.PluralRuleTwo, + // }, + // { + // num: 3, + // v: 0, + // expected: locales.PluralRuleFew, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.OrdinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestCardinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.CardinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestDaysAbbreviated(t *testing.T) { + + trans := New() + days := trans.WeekdaysAbbreviated() + + for i, day := range days { + s := trans.WeekdayAbbreviated(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sun", + // }, + // { + // idx: 1, + // expected: "Mon", + // }, + // { + // idx: 2, + // expected: "Tue", + // }, + // { + // idx: 3, + // expected: "Wed", + // }, + // { + // idx: 4, + // expected: "Thu", + // }, + // { + // idx: 5, + // expected: "Fri", + // }, + // { + // idx: 6, + // expected: "Sat", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayAbbreviated(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysNarrow(t *testing.T) { + + trans := New() + days := trans.WeekdaysNarrow() + + for i, day := range days { + s := trans.WeekdayNarrow(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", string(day), s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "S", + // }, + // { + // idx: 1, + // expected: "M", + // }, + // { + // idx: 2, + // expected: "T", + // }, + // { + // idx: 3, + // expected: "W", + // }, + // { + // idx: 4, + // expected: "T", + // }, + // { + // idx: 5, + // expected: "F", + // }, + // { + // idx: 6, + // expected: "S", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayNarrow(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysShort(t *testing.T) { + + trans := New() + days := trans.WeekdaysShort() + + for i, day := range days { + s := trans.WeekdayShort(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Su", + // }, + // { + // idx: 1, + // expected: "Mo", + // }, + // { + // idx: 2, + // expected: "Tu", + // }, + // { + // idx: 3, + // expected: "We", + // }, + // { + // idx: 4, + // expected: "Th", + // }, + // { + // idx: 5, + // expected: "Fr", + // }, + // { + // idx: 6, + // expected: "Sa", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayShort(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysWide(t *testing.T) { + + trans := New() + days := trans.WeekdaysWide() + + for i, day := range days { + s := trans.WeekdayWide(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sunday", + // }, + // { + // idx: 1, + // expected: "Monday", + // }, + // { + // idx: 2, + // expected: "Tuesday", + // }, + // { + // idx: 3, + // expected: "Wednesday", + // }, + // { + // idx: 4, + // expected: "Thursday", + // }, + // { + // idx: 5, + // expected: "Friday", + // }, + // { + // idx: 6, + // expected: "Saturday", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayWide(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsAbbreviated(t *testing.T) { + + trans := New() + months := trans.MonthsAbbreviated() + + for i, month := range months { + s := trans.MonthAbbreviated(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "Jan", + // }, + // { + // idx: 2, + // expected: "Feb", + // }, + // { + // idx: 3, + // expected: "Mar", + // }, + // { + // idx: 4, + // expected: "Apr", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "Jun", + // }, + // { + // idx: 7, + // expected: "Jul", + // }, + // { + // idx: 8, + // expected: "Aug", + // }, + // { + // idx: 9, + // expected: "Sep", + // }, + // { + // idx: 10, + // expected: "Oct", + // }, + // { + // idx: 11, + // expected: "Nov", + // }, + // { + // idx: 12, + // expected: "Dec", + // }, + } + + for _, tt := range tests { + s := trans.MonthAbbreviated(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsNarrow(t *testing.T) { + + trans := New() + months := trans.MonthsNarrow() + + for i, month := range months { + s := trans.MonthNarrow(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "J", + // }, + // { + // idx: 2, + // expected: "F", + // }, + // { + // idx: 3, + // expected: "M", + // }, + // { + // idx: 4, + // expected: "A", + // }, + // { + // idx: 5, + // expected: "M", + // }, + // { + // idx: 6, + // expected: "J", + // }, + // { + // idx: 7, + // expected: "J", + // }, + // { + // idx: 8, + // expected: "A", + // }, + // { + // idx: 9, + // expected: "S", + // }, + // { + // idx: 10, + // expected: "O", + // }, + // { + // idx: 11, + // expected: "N", + // }, + // { + // idx: 12, + // expected: "D", + // }, + } + + for _, tt := range tests { + s := trans.MonthNarrow(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsWide(t *testing.T) { + + trans := New() + months := trans.MonthsWide() + + for i, month := range months { + s := trans.MonthWide(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "January", + // }, + // { + // idx: 2, + // expected: "February", + // }, + // { + // idx: 3, + // expected: "March", + // }, + // { + // idx: 4, + // expected: "April", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "June", + // }, + // { + // idx: 7, + // expected: "July", + // }, + // { + // idx: 8, + // expected: "August", + // }, + // { + // idx: 9, + // expected: "September", + // }, + // { + // idx: 10, + // expected: "October", + // }, + // { + // idx: 11, + // expected: "November", + // }, + // { + // idx: 12, + // expected: "December", + // }, + } + + for _, tt := range tests { + s := string(trans.MonthWide(time.Month(tt.idx))) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeFull(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + // fixed := time.FixedZone("OTHER", -4) + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am Eastern Standard Time", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, fixed), + // expected: "8:05:01 pm OTHER", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeLong(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am EST", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, loc), + // expected: "8:05:01 pm EST", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05:01 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05:01 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateFull(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Wednesday, February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateLong(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Feb 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/16", + // }, + // { + // t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/500", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtNumber(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // expected: "1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // expected: "1,123,456.6", + // }, + // { + // num: 221123456.5643, + // v: 3, + // expected: "221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtNumber(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtCurrency(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "-$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "-CAD 221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtCurrency(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtAccounting(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "($221,123,456.564)", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "(CAD 221,123,456.564)", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtAccounting(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtPercent(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 15, + // v: 0, + // expected: "15%", + // }, + // { + // num: 15, + // v: 2, + // expected: "15.00%", + // }, + // { + // num: 434.45, + // v: 0, + // expected: "434%", + // }, + // { + // num: 34.4, + // v: 2, + // expected: "34.40%", + // }, + // { + // num: -34, + // v: 0, + // expected: "-34%", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtPercent(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} diff --git a/nds_DE/nds_DE.go b/nds_DE/nds_DE.go new file mode 100644 index 000000000..051b9c824 --- /dev/null +++ b/nds_DE/nds_DE.go @@ -0,0 +1,576 @@ +package nds_DE + +import ( + "math" + "strconv" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +type nds_DE struct { + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string +} + +// New returns a new instance of translator for the 'nds_DE' locale +func New() locales.Translator { + return &nds_DE{ + locale: "nds_DE", + pluralsCardinal: nil, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: ",", + group: ".", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Januaar", "Februaar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktover", "November", "Dezember"}, + daysAbbreviated: []string{"Sü.", "Ma.", "Di.", "Mi.", "Du.", "Fr.", "Sa."}, + daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, + daysWide: []string{"Sünndag", "Maandag", "Dingsdag", "Middeweken", "Dunnersdag", "Freedag", "Sünnavend"}, + periodsAbbreviated: []string{"vm", "nm"}, + periodsWide: []string{"vm", "nm"}, + erasAbbreviated: []string{"v.Chr.", "n.Chr."}, + erasNarrow: []string{"vC", "nC"}, + erasWide: []string{"vör Christus", "na Christus"}, + timezones: map[string]string{"NZDT": "NZDT", "CLST": "CLST", "EST": "Noordamerikaansch oosten Standardtiet", "HEPMX": "HEPMX", "HAST": "HAST", "ART": "ART", "HNPM": "HNPM", "HKT": "HKT", "SAST": "Söödafrikaansch Tiet", "CLT": "CLT", "WAST": "Westafrikaansch Summertiet", "MYT": "MYT", "UYT": "UYT", "UYST": "UYST", "AWDT": "Westaustraalsch Summertiet", "TMT": "TMT", "HAT": "HAT", "HEOG": "HEOG", "AKST": "AKST", "CST": "Noordamerikaansch zentraal Standardtiet", "GYT": "GYT", "SRT": "SRT", "JST": "Japaansch Standardtiet", "WAT": "Westafrikaansch Standardtiet", "WART": "WART", "HECU": "HECU", "MDT": "MDT", "AKDT": "AKDT", "ChST": "ChST", "OEZ": "Oosteuropääsch Standardtiet", "COST": "COST", "AEST": "Oostaustraalsch Standardtiet", "WITA": "Indoneesch Zentraaltiet", "LHDT": "LHDT", "ACST": "Zentraalaustraalsch Standardtiet", "GMT": "Gröönwisch-Welttiet", "HADT": "HADT", "VET": "VET", "ACWDT": "Westzentraalaustraalsch Summertiet", "AWST": "Westaustraalsch Standardtiet", "JDT": "Japaansch Summertiet", "HNEG": "HNEG", "GFT": "GFT", "EDT": "Noordamerikaansch oosten Summertiet", "CDT": "Noordamerikaansch zentraal Summertiet", "BT": "BT", "MEZ": "Zentraaleuropääsch Standardtiet", "BOT": "BOT", "COT": "COT", "HNNOMX": "HNNOMX", "ACWST": "Westzentraalaustraalsch Standardtiet", "HEPM": "HEPM", "WARST": "WARST", "WIB": "Westindoneesch Tiet", "CAT": "Zentraalafrikaansch Tiet", "WEZ": "Westeuropääsch Standardtiet", "ARST": "ARST", "HKST": "HKST", "NZST": "NZST", "IST": "Indien-Tiet", "EAT": "Oostafrikaansch Tiet", "HNPMX": "HNPMX", "HNT": "HNT", "HNOG": "HNOG", "CHAST": "CHAST", "CHADT": "CHADT", "TMST": "TMST", "SGT": "SGT", "AST": "Noordamerikaansch Atlantik-Standardtiet", "WESZ": "Westeuropääsch Summertiet", "ECT": "ECT", "HNCU": "HNCU", "WIT": "Oostindoneesch Tiet", "AEDT": "Oostaustraalsch Summertiet", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "OESZ": "Oosteuropääsch Summertiet", "MST": "MST", "PDT": "Noordamerikaansch Pazifik-Summertiet", "ACDT": "Zentraalaustraalsch Summertiet", "HENOMX": "HENOMX", "ADT": "Noordamerikaansch Atlantik-Summertiet", "PST": "Noordamerikaansch Pazifik-Standardtiet", "MESZ": "Zentraaleuropääsch Summertiet", "LHST": "LHST"}, + } +} + +// Locale returns the current translators string locale +func (nds *nds_DE) Locale() string { + return nds.locale +} + +// PluralsCardinal returns the list of cardinal plural rules associated with 'nds_DE' +func (nds *nds_DE) PluralsCardinal() []locales.PluralRule { + return nds.pluralsCardinal +} + +// PluralsOrdinal returns the list of ordinal plural rules associated with 'nds_DE' +func (nds *nds_DE) PluralsOrdinal() []locales.PluralRule { + return nds.pluralsOrdinal +} + +// PluralsRange returns the list of range plural rules associated with 'nds_DE' +func (nds *nds_DE) PluralsRange() []locales.PluralRule { + return nds.pluralsRange +} + +// CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'nds_DE' +func (nds *nds_DE) CardinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'nds_DE' +func (nds *nds_DE) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'nds_DE' +func (nds *nds_DE) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// MonthAbbreviated returns the locales abbreviated month given the 'month' provided +func (nds *nds_DE) MonthAbbreviated(month time.Month) string { + return nds.monthsAbbreviated[month] +} + +// MonthsAbbreviated returns the locales abbreviated months +func (nds *nds_DE) MonthsAbbreviated() []string { + return nds.monthsAbbreviated[1:] +} + +// MonthNarrow returns the locales narrow month given the 'month' provided +func (nds *nds_DE) MonthNarrow(month time.Month) string { + return nds.monthsNarrow[month] +} + +// MonthsNarrow returns the locales narrow months +func (nds *nds_DE) MonthsNarrow() []string { + return nds.monthsNarrow[1:] +} + +// MonthWide returns the locales wide month given the 'month' provided +func (nds *nds_DE) MonthWide(month time.Month) string { + return nds.monthsWide[month] +} + +// MonthsWide returns the locales wide months +func (nds *nds_DE) MonthsWide() []string { + return nds.monthsWide[1:] +} + +// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided +func (nds *nds_DE) WeekdayAbbreviated(weekday time.Weekday) string { + return nds.daysAbbreviated[weekday] +} + +// WeekdaysAbbreviated returns the locales abbreviated weekdays +func (nds *nds_DE) WeekdaysAbbreviated() []string { + return nds.daysAbbreviated +} + +// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided +func (nds *nds_DE) WeekdayNarrow(weekday time.Weekday) string { + return nds.daysNarrow[weekday] +} + +// WeekdaysNarrow returns the locales narrow weekdays +func (nds *nds_DE) WeekdaysNarrow() []string { + return nds.daysNarrow +} + +// WeekdayShort returns the locales short weekday given the 'weekday' provided +func (nds *nds_DE) WeekdayShort(weekday time.Weekday) string { + return nds.daysShort[weekday] +} + +// WeekdaysShort returns the locales short weekdays +func (nds *nds_DE) WeekdaysShort() []string { + return nds.daysShort +} + +// WeekdayWide returns the locales wide weekday given the 'weekday' provided +func (nds *nds_DE) WeekdayWide(weekday time.Weekday) string { + return nds.daysWide[weekday] +} + +// WeekdaysWide returns the locales wide weekdays +func (nds *nds_DE) WeekdaysWide() []string { + return nds.daysWide +} + +// FmtNumber returns 'num' with digits/precision of 'v' for 'nds_DE' and handles both Whole and Real numbers based on 'v' +func (nds *nds_DE) FmtNumber(num float64, v uint64) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) +} + +// FmtPercent returns 'num' with digits/precision of 'v' for 'nds_DE' and handles both Whole and Real numbers based on 'v' +// NOTE: 'num' passed into FmtPercent is assumed to be in percent already +func (nds *nds_DE) FmtPercent(num float64, v uint64) string { + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, nds.percentSuffix...) + + b = append(b, nds.percent...) + + return string(b) +} + +// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'nds_DE' +func (nds *nds_DE) FmtCurrency(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, nds.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) +} + +// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'nds_DE' +// in accounting notation. +func (nds *nds_DE) FmtAccounting(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, nds.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, nds.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nds.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) +} + +// FmtDateShort returns the short date representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtDateShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2e}...) + + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) + } + + return string(b) +} + +// FmtDateMedium returns the medium date representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtDateMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateLong returns the long date representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtDateLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateFull returns the full date representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtDateFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, nds.daysWide[t.Weekday()]...) + b = append(b, []byte{0x2c, 0x20, 0x64, 0x65}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtTimeShort returns the short time representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtTimeShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c}...) + b = append(b, []byte{0x2e, 0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + + return string(b) +} + +// FmtTimeMedium returns the medium time representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtTimeMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + + return string(b) +} + +// FmtTimeLong returns the long time representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtTimeLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + b = append(b, tz...) + + b = append(b, []byte{0x29}...) + + return string(b) +} + +// FmtTimeFull returns the full time representation of 't' for 'nds_DE' +func (nds *nds_DE) FmtTimeFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + + if btz, ok := nds.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + b = append(b, []byte{0x29}...) + + return string(b) +} diff --git a/nds_DE/nds_DE_test.go b/nds_DE/nds_DE_test.go new file mode 100644 index 000000000..39061716d --- /dev/null +++ b/nds_DE/nds_DE_test.go @@ -0,0 +1,1120 @@ +package nds_DE + +import ( + "testing" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +func TestLocale(t *testing.T) { + + trans := New() + expected := "nds_DE" + + if trans.Locale() != expected { + t.Errorf("Expected '%s' Got '%s'", expected, trans.Locale()) + } +} + +func TestPluralsRange(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsRange() + // expected := 1 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsOrdinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleTwo, + // }, + // { + // expected: locales.PluralRuleFew, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsOrdinal() + // expected := 4 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsCardinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsCardinal() + // expected := 2 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestRangePlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num1 float64 + v1 uint64 + num2 float64 + v2 uint64 + expected locales.PluralRule + }{ + // { + // num1: 1, + // v1: 1, + // num2: 2, + // v2: 2, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.RangePluralRule(tt.num1, tt.v1, tt.num2, tt.v2) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestOrdinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 2, + // v: 0, + // expected: locales.PluralRuleTwo, + // }, + // { + // num: 3, + // v: 0, + // expected: locales.PluralRuleFew, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.OrdinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestCardinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.CardinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestDaysAbbreviated(t *testing.T) { + + trans := New() + days := trans.WeekdaysAbbreviated() + + for i, day := range days { + s := trans.WeekdayAbbreviated(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sun", + // }, + // { + // idx: 1, + // expected: "Mon", + // }, + // { + // idx: 2, + // expected: "Tue", + // }, + // { + // idx: 3, + // expected: "Wed", + // }, + // { + // idx: 4, + // expected: "Thu", + // }, + // { + // idx: 5, + // expected: "Fri", + // }, + // { + // idx: 6, + // expected: "Sat", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayAbbreviated(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysNarrow(t *testing.T) { + + trans := New() + days := trans.WeekdaysNarrow() + + for i, day := range days { + s := trans.WeekdayNarrow(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", string(day), s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "S", + // }, + // { + // idx: 1, + // expected: "M", + // }, + // { + // idx: 2, + // expected: "T", + // }, + // { + // idx: 3, + // expected: "W", + // }, + // { + // idx: 4, + // expected: "T", + // }, + // { + // idx: 5, + // expected: "F", + // }, + // { + // idx: 6, + // expected: "S", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayNarrow(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysShort(t *testing.T) { + + trans := New() + days := trans.WeekdaysShort() + + for i, day := range days { + s := trans.WeekdayShort(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Su", + // }, + // { + // idx: 1, + // expected: "Mo", + // }, + // { + // idx: 2, + // expected: "Tu", + // }, + // { + // idx: 3, + // expected: "We", + // }, + // { + // idx: 4, + // expected: "Th", + // }, + // { + // idx: 5, + // expected: "Fr", + // }, + // { + // idx: 6, + // expected: "Sa", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayShort(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysWide(t *testing.T) { + + trans := New() + days := trans.WeekdaysWide() + + for i, day := range days { + s := trans.WeekdayWide(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sunday", + // }, + // { + // idx: 1, + // expected: "Monday", + // }, + // { + // idx: 2, + // expected: "Tuesday", + // }, + // { + // idx: 3, + // expected: "Wednesday", + // }, + // { + // idx: 4, + // expected: "Thursday", + // }, + // { + // idx: 5, + // expected: "Friday", + // }, + // { + // idx: 6, + // expected: "Saturday", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayWide(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsAbbreviated(t *testing.T) { + + trans := New() + months := trans.MonthsAbbreviated() + + for i, month := range months { + s := trans.MonthAbbreviated(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "Jan", + // }, + // { + // idx: 2, + // expected: "Feb", + // }, + // { + // idx: 3, + // expected: "Mar", + // }, + // { + // idx: 4, + // expected: "Apr", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "Jun", + // }, + // { + // idx: 7, + // expected: "Jul", + // }, + // { + // idx: 8, + // expected: "Aug", + // }, + // { + // idx: 9, + // expected: "Sep", + // }, + // { + // idx: 10, + // expected: "Oct", + // }, + // { + // idx: 11, + // expected: "Nov", + // }, + // { + // idx: 12, + // expected: "Dec", + // }, + } + + for _, tt := range tests { + s := trans.MonthAbbreviated(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsNarrow(t *testing.T) { + + trans := New() + months := trans.MonthsNarrow() + + for i, month := range months { + s := trans.MonthNarrow(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "J", + // }, + // { + // idx: 2, + // expected: "F", + // }, + // { + // idx: 3, + // expected: "M", + // }, + // { + // idx: 4, + // expected: "A", + // }, + // { + // idx: 5, + // expected: "M", + // }, + // { + // idx: 6, + // expected: "J", + // }, + // { + // idx: 7, + // expected: "J", + // }, + // { + // idx: 8, + // expected: "A", + // }, + // { + // idx: 9, + // expected: "S", + // }, + // { + // idx: 10, + // expected: "O", + // }, + // { + // idx: 11, + // expected: "N", + // }, + // { + // idx: 12, + // expected: "D", + // }, + } + + for _, tt := range tests { + s := trans.MonthNarrow(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsWide(t *testing.T) { + + trans := New() + months := trans.MonthsWide() + + for i, month := range months { + s := trans.MonthWide(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "January", + // }, + // { + // idx: 2, + // expected: "February", + // }, + // { + // idx: 3, + // expected: "March", + // }, + // { + // idx: 4, + // expected: "April", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "June", + // }, + // { + // idx: 7, + // expected: "July", + // }, + // { + // idx: 8, + // expected: "August", + // }, + // { + // idx: 9, + // expected: "September", + // }, + // { + // idx: 10, + // expected: "October", + // }, + // { + // idx: 11, + // expected: "November", + // }, + // { + // idx: 12, + // expected: "December", + // }, + } + + for _, tt := range tests { + s := string(trans.MonthWide(time.Month(tt.idx))) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeFull(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + // fixed := time.FixedZone("OTHER", -4) + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am Eastern Standard Time", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, fixed), + // expected: "8:05:01 pm OTHER", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeLong(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am EST", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, loc), + // expected: "8:05:01 pm EST", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05:01 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05:01 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateFull(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Wednesday, February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateLong(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Feb 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/16", + // }, + // { + // t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/500", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtNumber(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // expected: "1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // expected: "1,123,456.6", + // }, + // { + // num: 221123456.5643, + // v: 3, + // expected: "221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtNumber(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtCurrency(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "-$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "-CAD 221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtCurrency(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtAccounting(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "($221,123,456.564)", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "(CAD 221,123,456.564)", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtAccounting(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtPercent(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 15, + // v: 0, + // expected: "15%", + // }, + // { + // num: 15, + // v: 2, + // expected: "15.00%", + // }, + // { + // num: 434.45, + // v: 0, + // expected: "434%", + // }, + // { + // num: 34.4, + // v: 2, + // expected: "34.40%", + // }, + // { + // num: -34, + // v: 0, + // expected: "-34%", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtPercent(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} diff --git a/nds_NL/nds_NL.go b/nds_NL/nds_NL.go new file mode 100644 index 000000000..daf803bf7 --- /dev/null +++ b/nds_NL/nds_NL.go @@ -0,0 +1,576 @@ +package nds_NL + +import ( + "math" + "strconv" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +type nds_NL struct { + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + percentSuffix string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string +} + +// New returns a new instance of translator for the 'nds_NL' locale +func New() locales.Translator { + return &nds_NL{ + locale: "nds_NL", + pluralsCardinal: nil, + pluralsOrdinal: nil, + pluralsRange: nil, + decimal: ",", + group: ".", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Januaar", "Februaar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktover", "November", "Dezember"}, + daysAbbreviated: []string{"Sü.", "Ma.", "Di.", "Mi.", "Du.", "Fr.", "Sa."}, + daysNarrow: []string{"S", "M", "D", "M", "D", "F", "S"}, + daysWide: []string{"Sünndag", "Maandag", "Dingsdag", "Middeweken", "Dunnersdag", "Freedag", "Sünnavend"}, + periodsAbbreviated: []string{"vm", "nm"}, + periodsWide: []string{"vm", "nm"}, + erasAbbreviated: []string{"v.Chr.", "n.Chr."}, + erasNarrow: []string{"vC", "nC"}, + erasWide: []string{"vör Christus", "na Christus"}, + timezones: map[string]string{"ECT": "ECT", "GYT": "GYT", "HNOG": "HNOG", "WITA": "Indoneesch Zentraaltiet", "NZST": "NZST", "MESZ": "Zentraaleuropääsch Summertiet", "WAT": "Westafrikaansch Standardtiet", "GMT": "Gröönwisch-Welttiet", "ART": "ART", "HEOG": "HEOG", "HKST": "HKST", "CLST": "CLST", "AWDT": "Westaustraalsch Summertiet", "HEEG": "HEEG", "ACDT": "Zentraalaustraalsch Summertiet", "AKDT": "AKDT", "HADT": "HADT", "EAT": "Oostafrikaansch Tiet", "TMT": "TMT", "TMST": "TMST", "ChST": "ChST", "HNCU": "HNCU", "HECU": "HECU", "AST": "Noordamerikaansch Atlantik-Standardtiet", "ADT": "Noordamerikaansch Atlantik-Summertiet", "GFT": "GFT", "CAT": "Zentraalafrikaansch Tiet", "IST": "Indien-Tiet", "WAST": "Westafrikaansch Summertiet", "EDT": "Noordamerikaansch oosten Summertiet", "WIT": "Oostindoneesch Tiet", "AEST": "Oostaustraalsch Standardtiet", "CHADT": "CHADT", "LHDT": "LHDT", "CDT": "Noordamerikaansch zentraal Summertiet", "ACWST": "Westzentraalaustraalsch Standardtiet", "ARST": "ARST", "HAST": "HAST", "WEZ": "Westeuropääsch Standardtiet", "HEPM": "HEPM", "JST": "Japaansch Standardtiet", "LHST": "LHST", "COT": "COT", "AKST": "AKST", "BT": "BT", "SRT": "SRT", "PDT": "Noordamerikaansch Pazifik-Summertiet", "HKT": "HKT", "OESZ": "Oosteuropääsch Summertiet", "HEPMX": "HEPMX", "EST": "Noordamerikaansch oosten Standardtiet", "AEDT": "Oostaustraalsch Summertiet", "HNPM": "HNPM", "JDT": "Japaansch Summertiet", "MEZ": "Zentraaleuropääsch Standardtiet", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "UYT": "UYT", "ACWDT": "Westzentraalaustraalsch Summertiet", "HNNOMX": "HNNOMX", "WARST": "WARST", "HAT": "HAT", "CHAST": "CHAST", "CLT": "CLT", "HNEG": "HNEG", "ACST": "Zentraalaustraalsch Standardtiet", "CST": "Noordamerikaansch zentraal Standardtiet", "VET": "VET", "PST": "Noordamerikaansch Pazifik-Standardtiet", "WESZ": "Westeuropääsch Summertiet", "SAST": "Söödafrikaansch Tiet", "MYT": "MYT", "UYST": "UYST", "WIB": "Westindoneesch Tiet", "HNT": "HNT", "NZDT": "NZDT", "BOT": "BOT", "OEZ": "Oosteuropääsch Standardtiet", "WART": "WART", "∅∅∅": "∅∅∅", "SGT": "SGT", "MST": "MST", "MDT": "MDT", "AWST": "Westaustraalsch Standardtiet", "COST": "COST"}, + } +} + +// Locale returns the current translators string locale +func (nds *nds_NL) Locale() string { + return nds.locale +} + +// PluralsCardinal returns the list of cardinal plural rules associated with 'nds_NL' +func (nds *nds_NL) PluralsCardinal() []locales.PluralRule { + return nds.pluralsCardinal +} + +// PluralsOrdinal returns the list of ordinal plural rules associated with 'nds_NL' +func (nds *nds_NL) PluralsOrdinal() []locales.PluralRule { + return nds.pluralsOrdinal +} + +// PluralsRange returns the list of range plural rules associated with 'nds_NL' +func (nds *nds_NL) PluralsRange() []locales.PluralRule { + return nds.pluralsRange +} + +// CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'nds_NL' +func (nds *nds_NL) CardinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'nds_NL' +func (nds *nds_NL) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'nds_NL' +func (nds *nds_NL) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { + return locales.PluralRuleUnknown +} + +// MonthAbbreviated returns the locales abbreviated month given the 'month' provided +func (nds *nds_NL) MonthAbbreviated(month time.Month) string { + return nds.monthsAbbreviated[month] +} + +// MonthsAbbreviated returns the locales abbreviated months +func (nds *nds_NL) MonthsAbbreviated() []string { + return nds.monthsAbbreviated[1:] +} + +// MonthNarrow returns the locales narrow month given the 'month' provided +func (nds *nds_NL) MonthNarrow(month time.Month) string { + return nds.monthsNarrow[month] +} + +// MonthsNarrow returns the locales narrow months +func (nds *nds_NL) MonthsNarrow() []string { + return nds.monthsNarrow[1:] +} + +// MonthWide returns the locales wide month given the 'month' provided +func (nds *nds_NL) MonthWide(month time.Month) string { + return nds.monthsWide[month] +} + +// MonthsWide returns the locales wide months +func (nds *nds_NL) MonthsWide() []string { + return nds.monthsWide[1:] +} + +// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided +func (nds *nds_NL) WeekdayAbbreviated(weekday time.Weekday) string { + return nds.daysAbbreviated[weekday] +} + +// WeekdaysAbbreviated returns the locales abbreviated weekdays +func (nds *nds_NL) WeekdaysAbbreviated() []string { + return nds.daysAbbreviated +} + +// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided +func (nds *nds_NL) WeekdayNarrow(weekday time.Weekday) string { + return nds.daysNarrow[weekday] +} + +// WeekdaysNarrow returns the locales narrow weekdays +func (nds *nds_NL) WeekdaysNarrow() []string { + return nds.daysNarrow +} + +// WeekdayShort returns the locales short weekday given the 'weekday' provided +func (nds *nds_NL) WeekdayShort(weekday time.Weekday) string { + return nds.daysShort[weekday] +} + +// WeekdaysShort returns the locales short weekdays +func (nds *nds_NL) WeekdaysShort() []string { + return nds.daysShort +} + +// WeekdayWide returns the locales wide weekday given the 'weekday' provided +func (nds *nds_NL) WeekdayWide(weekday time.Weekday) string { + return nds.daysWide[weekday] +} + +// WeekdaysWide returns the locales wide weekdays +func (nds *nds_NL) WeekdaysWide() []string { + return nds.daysWide +} + +// FmtNumber returns 'num' with digits/precision of 'v' for 'nds_NL' and handles both Whole and Real numbers based on 'v' +func (nds *nds_NL) FmtNumber(num float64, v uint64) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) +} + +// FmtPercent returns 'num' with digits/precision of 'v' for 'nds_NL' and handles both Whole and Real numbers based on 'v' +// NOTE: 'num' passed into FmtPercent is assumed to be in percent already +func (nds *nds_NL) FmtPercent(num float64, v uint64) string { + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, nds.percentSuffix...) + + b = append(b, nds.percent...) + + return string(b) +} + +// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'nds_NL' +func (nds *nds_NL) FmtCurrency(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, nds.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + b = append(b, nds.currencyPositiveSuffix...) + + b = append(b, symbol...) + + return string(b) +} + +// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'nds_NL' +// in accounting notation. +func (nds *nds_NL) FmtAccounting(num float64, v uint64, currency currency.Type) string { + + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + symbol := nds.currencies[currency] + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, nds.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, nds.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + + b = append(b, nds.minus[0]) + + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + if int(v) < 2 { + + if v == 0 { + b = append(b, nds.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + + if num < 0 { + b = append(b, nds.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nds.currencyPositiveSuffix...) + b = append(b, symbol...) + } + + return string(b) +} + +// FmtDateShort returns the short date representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtDateShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2e}...) + + if t.Year() > 9 { + b = append(b, strconv.Itoa(t.Year())[2:]...) + } else { + b = append(b, strconv.Itoa(t.Year())[1:]...) + } + + return string(b) +} + +// FmtDateMedium returns the medium date representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtDateMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateLong returns the long date representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtDateLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtDateFull returns the full date representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtDateFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, nds.daysWide[t.Weekday()]...) + b = append(b, []byte{0x2c, 0x20, 0x64, 0x65}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + b = append(b, nds.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + return string(b) +} + +// FmtTimeShort returns the short time representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtTimeShort(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c}...) + b = append(b, []byte{0x2e, 0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + + return string(b) +} + +// FmtTimeMedium returns the medium time representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtTimeMedium(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + + return string(b) +} + +// FmtTimeLong returns the long time representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtTimeLong(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + b = append(b, tz...) + + b = append(b, []byte{0x29}...) + + return string(b) +} + +// FmtTimeFull returns the full time representation of 't' for 'nds_NL' +func (nds *nds_NL) FmtTimeFull(t time.Time) string { + + b := make([]byte, 0, 32) + + b = append(b, []byte{0x4b, 0x6c, 0x6f, 0x63, 0x6b}...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, nds.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20, 0x28}...) + + tz, _ := t.Zone() + + if btz, ok := nds.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + + b = append(b, []byte{0x29}...) + + return string(b) +} diff --git a/nds_NL/nds_NL_test.go b/nds_NL/nds_NL_test.go new file mode 100644 index 000000000..5bb346dcf --- /dev/null +++ b/nds_NL/nds_NL_test.go @@ -0,0 +1,1120 @@ +package nds_NL + +import ( + "testing" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +func TestLocale(t *testing.T) { + + trans := New() + expected := "nds_NL" + + if trans.Locale() != expected { + t.Errorf("Expected '%s' Got '%s'", expected, trans.Locale()) + } +} + +func TestPluralsRange(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsRange() + // expected := 1 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsOrdinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleTwo, + // }, + // { + // expected: locales.PluralRuleFew, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsOrdinal() + // expected := 4 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsCardinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsCardinal() + // expected := 2 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestRangePlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num1 float64 + v1 uint64 + num2 float64 + v2 uint64 + expected locales.PluralRule + }{ + // { + // num1: 1, + // v1: 1, + // num2: 2, + // v2: 2, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.RangePluralRule(tt.num1, tt.v1, tt.num2, tt.v2) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestOrdinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 2, + // v: 0, + // expected: locales.PluralRuleTwo, + // }, + // { + // num: 3, + // v: 0, + // expected: locales.PluralRuleFew, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.OrdinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestCardinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.CardinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestDaysAbbreviated(t *testing.T) { + + trans := New() + days := trans.WeekdaysAbbreviated() + + for i, day := range days { + s := trans.WeekdayAbbreviated(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sun", + // }, + // { + // idx: 1, + // expected: "Mon", + // }, + // { + // idx: 2, + // expected: "Tue", + // }, + // { + // idx: 3, + // expected: "Wed", + // }, + // { + // idx: 4, + // expected: "Thu", + // }, + // { + // idx: 5, + // expected: "Fri", + // }, + // { + // idx: 6, + // expected: "Sat", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayAbbreviated(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysNarrow(t *testing.T) { + + trans := New() + days := trans.WeekdaysNarrow() + + for i, day := range days { + s := trans.WeekdayNarrow(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", string(day), s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "S", + // }, + // { + // idx: 1, + // expected: "M", + // }, + // { + // idx: 2, + // expected: "T", + // }, + // { + // idx: 3, + // expected: "W", + // }, + // { + // idx: 4, + // expected: "T", + // }, + // { + // idx: 5, + // expected: "F", + // }, + // { + // idx: 6, + // expected: "S", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayNarrow(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysShort(t *testing.T) { + + trans := New() + days := trans.WeekdaysShort() + + for i, day := range days { + s := trans.WeekdayShort(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Su", + // }, + // { + // idx: 1, + // expected: "Mo", + // }, + // { + // idx: 2, + // expected: "Tu", + // }, + // { + // idx: 3, + // expected: "We", + // }, + // { + // idx: 4, + // expected: "Th", + // }, + // { + // idx: 5, + // expected: "Fr", + // }, + // { + // idx: 6, + // expected: "Sa", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayShort(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysWide(t *testing.T) { + + trans := New() + days := trans.WeekdaysWide() + + for i, day := range days { + s := trans.WeekdayWide(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sunday", + // }, + // { + // idx: 1, + // expected: "Monday", + // }, + // { + // idx: 2, + // expected: "Tuesday", + // }, + // { + // idx: 3, + // expected: "Wednesday", + // }, + // { + // idx: 4, + // expected: "Thursday", + // }, + // { + // idx: 5, + // expected: "Friday", + // }, + // { + // idx: 6, + // expected: "Saturday", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayWide(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsAbbreviated(t *testing.T) { + + trans := New() + months := trans.MonthsAbbreviated() + + for i, month := range months { + s := trans.MonthAbbreviated(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "Jan", + // }, + // { + // idx: 2, + // expected: "Feb", + // }, + // { + // idx: 3, + // expected: "Mar", + // }, + // { + // idx: 4, + // expected: "Apr", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "Jun", + // }, + // { + // idx: 7, + // expected: "Jul", + // }, + // { + // idx: 8, + // expected: "Aug", + // }, + // { + // idx: 9, + // expected: "Sep", + // }, + // { + // idx: 10, + // expected: "Oct", + // }, + // { + // idx: 11, + // expected: "Nov", + // }, + // { + // idx: 12, + // expected: "Dec", + // }, + } + + for _, tt := range tests { + s := trans.MonthAbbreviated(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsNarrow(t *testing.T) { + + trans := New() + months := trans.MonthsNarrow() + + for i, month := range months { + s := trans.MonthNarrow(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "J", + // }, + // { + // idx: 2, + // expected: "F", + // }, + // { + // idx: 3, + // expected: "M", + // }, + // { + // idx: 4, + // expected: "A", + // }, + // { + // idx: 5, + // expected: "M", + // }, + // { + // idx: 6, + // expected: "J", + // }, + // { + // idx: 7, + // expected: "J", + // }, + // { + // idx: 8, + // expected: "A", + // }, + // { + // idx: 9, + // expected: "S", + // }, + // { + // idx: 10, + // expected: "O", + // }, + // { + // idx: 11, + // expected: "N", + // }, + // { + // idx: 12, + // expected: "D", + // }, + } + + for _, tt := range tests { + s := trans.MonthNarrow(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsWide(t *testing.T) { + + trans := New() + months := trans.MonthsWide() + + for i, month := range months { + s := trans.MonthWide(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "January", + // }, + // { + // idx: 2, + // expected: "February", + // }, + // { + // idx: 3, + // expected: "March", + // }, + // { + // idx: 4, + // expected: "April", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "June", + // }, + // { + // idx: 7, + // expected: "July", + // }, + // { + // idx: 8, + // expected: "August", + // }, + // { + // idx: 9, + // expected: "September", + // }, + // { + // idx: 10, + // expected: "October", + // }, + // { + // idx: 11, + // expected: "November", + // }, + // { + // idx: 12, + // expected: "December", + // }, + } + + for _, tt := range tests { + s := string(trans.MonthWide(time.Month(tt.idx))) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeFull(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + // fixed := time.FixedZone("OTHER", -4) + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am Eastern Standard Time", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, fixed), + // expected: "8:05:01 pm OTHER", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeLong(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '' Got '%s'", err) + // } + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am EST", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, loc), + // expected: "8:05:01 pm EST", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05:01 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05:01 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateFull(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Wednesday, February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateLong(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Feb 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/16", + // }, + // { + // t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/500", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtNumber(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // expected: "1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // expected: "1,123,456.6", + // }, + // { + // num: 221123456.5643, + // v: 3, + // expected: "221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtNumber(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtCurrency(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "-$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "-CAD 221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtCurrency(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtAccounting(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "($221,123,456.564)", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "(CAD 221,123,456.564)", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtAccounting(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtPercent(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 15, + // v: 0, + // expected: "15%", + // }, + // { + // num: 15, + // v: 2, + // expected: "15.00%", + // }, + // { + // num: 434.45, + // v: 0, + // expected: "434%", + // }, + // { + // num: 34.4, + // v: 2, + // expected: "34.40%", + // }, + // { + // num: -34, + // v: 0, + // expected: "-34%", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtPercent(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} diff --git a/ne/ne.go b/ne/ne.go index 1b65618fa..de8e5d4d7 100644 --- a/ne/ne.go +++ b/ne/ne.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "नेरू", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "नेरू", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मे", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, monthsNarrow: []string{"", "१", "२", "३", "४", "५", "६", "७", "८", "९", "१०", "११", "१२"}, monthsWide: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मई", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, - daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysNarrow: []string{"आ", "सो", "म", "बु", "बि", "शु", "श"}, - daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysWide: []string{"आइतबार", "सोमबार", "मङ्गलबार", "बुधबार", "बिहिबार", "शुक्रबार", "शनिबार"}, periodsAbbreviated: []string{"पूर्वाह्न", "अपराह्न"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"पूर्वाह्न", "अपराह्न"}, periodsWide: []string{"पूर्वाह्न", "अपराह्न"}, erasAbbreviated: []string{"ईसा पूर्व", "सन्"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "AKDT": "अलस्का दिवा समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "CHAST": "चाथाम मानक समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "CDT": "केन्द्रीय दिवा समय", "MDT": "हिमाली दिवा समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "ART": "अर्जेनटिनी मानक समय", "IST": "भारतीय मानक समय", "HAT": "न्यूफाउन्ल्याण्ड दिवा समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "HADT": "हवाई-एलुटियन दिवा समय", "CST": "केन्द्रीय मानक समय", "BT": "भुटानी समय", "JST": "जापान मानक समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "EAT": "पूर्वी अफ्रिकी समय", "SAST": "दक्षिण अफ्रिकी समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "EST": "पूर्वी मानक समय", "∅∅∅": "ब्राजिलीया ग्रीष्मकालीन समय", "OEZ": "पूर्वी युरोपेली मानक समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "WART": "पश्चिमी अर्जेनटिनी मानक समय", "AST": "एट्लान्टिक मानक समय", "AKST": "अलास्का मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "WIT": "पूर्वी इन्डोनेशिया समय", "UYT": "उरूग्वे मानक समय", "CHADT": "चाथाम दिवा समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "MST": "हिमाली मानक समय", "NZST": "न्यूजिल्यान्ड मानक समय", "BOT": "बोलिभिया समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "HNT": "न्यूफाउन्डल्याण्ड मानक समय", "CLT": "चिली मानक समय", "LHDT": "लर्ड हावे दिवा समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "PST": "प्यासिफिक मानक समय", "ADT": "एट्लान्टिक दिवा समय", "GYT": "गुयाना समय", "GMT": "ग्रीनविच मिन समय", "COT": "कोलम्बियाली मानक समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "SRT": "सुरिनामा समय", "SGT": "सिंगापुर मानक समय", "ECT": "ईक्वोडोर समय", "HAST": "हवाई-एलुटियन मानक समय", "GFT": "फ्रेन्च ग्वाना समय", "PDT": "प्यासिफिक दिवा समय", "CAT": "केन्द्रीय अफ्रिकी समय", "VET": "भेनेज्युएला समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "EDT": "पूर्वी दिवा समय", "MYT": "मलेसिया समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "LHST": "लर्ड हावे मानक समय", "HKT": "हङकङ मानक समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "JDT": "जापान दिवा समय", "TMT": "तुर्कमेनिस्तान मानक समय", "ChST": "चामोर्रो मानक समय"}, + erasWide: []string{"ईसा पूर्व", "सन्"}, + timezones: map[string]string{"HEOG": "पश्चिमी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "TMT": "तुर्कमेनिस्तान मानक समय", "ECT": "ईक्वोडोर समय", "HENOMX": "उत्तर पश्चिम मेक्सिकोको दिवा समय", "HAST": "हवाई-एलुटियन मानक समय", "GMT": "ग्रीनविच मिन समय", "EST": "पूर्वी मानक समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "MST": "MST", "AST": "एट्लान्टिक मानक समय", "GYT": "गुयाना समय", "IST": "भारतीय मानक समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "HNPMX": "मेक्सिकन प्यासिफिक मानक समय", "HNT": "न्यूफाउनडल्यान्डको मानक समय", "HKT": "हङकङ मानक समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "BOT": "बोलिभिया समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "JDT": "जापान दिवा समय", "HNEG": "पूर्वी ग्रीनल्यान्डको मानक समय", "ART": "अर्जेनटिनी मानक समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "∅∅∅": "अमेजन ग्रीष्मकालीन समय", "EAT": "पूर्वी अफ्रिकी समय", "HADT": "हवाई-एलुटियन दिवा समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "SAST": "दक्षिण अफ्रिकी समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "SRT": "सुरिनामा समय", "LHST": "लर्ड हावे मानक समय", "AKDT": "अलस्काको दिवा समय", "WIT": "पूर्वी इन्डोनेशिया समय", "LHDT": "लर्ड हावे दिवा समय", "CHADT": "चाथाम दिवा समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "OEZ": "पूर्वी युरोपेली मानक समय", "WART": "पश्चिमी अर्जेनटिनी मानक समय", "UYT": "उरूग्वे मानक समय", "HNCU": "क्यूबाको मानक समय", "HEPMX": "मेक्सिकन प्यासिफिक दिवा समय", "ADT": "एट्लान्टिक दिवा समय", "PST": "प्यासिफिक मानक समय", "CLT": "चिली मानक समय", "JST": "जापान मानक समय", "HEEG": "पूर्वी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "COT": "कोलम्बियाली मानक समय", "PDT": "प्यासिफिक दिवा समय", "HEPM": "सेन्ट पियर्रे र मिक्युलोनको दिवा समय", "GFT": "फ्रेन्च ग्वाना समय", "CHAST": "चाथाम मानक समय", "CAT": "केन्द्रीय अफ्रिकी समय", "HNOG": "पश्चिमी ग्रीनल्यान्डको मानक समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "SGT": "सिंगापुर मानक समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "HAT": "न्यूफाउनल्यान्डको दिवा समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "HNPM": "सेन्ट पियर्रे र मिक्युलोनको मानक समय", "ChST": "चामोर्रो मानक समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "EDT": "पूर्वी दिवा समय", "CDT": "केन्द्रीय दिवा समय", "BT": "भुटानी समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "AKST": "अलस्काको मानक समय", "CST": "केन्द्रीय मानक समय", "MYT": "मलेसिया समय", "VET": "भेनेज्युएला समय", "NZST": "न्यूजिल्यान्ड मानक समय", "ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय", "HNNOMX": "उत्तर पश्चिम मेक्सिकोको मानक समय", "HECU": "क्यूबाको दिवा समय", "MDT": "MDT"}, } } @@ -417,7 +417,12 @@ func (ne *ne) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -442,7 +447,12 @@ func (ne *ne) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -456,7 +466,12 @@ func (ne *ne) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -470,7 +485,12 @@ func (ne *ne) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ne_IN/ne_IN.go b/ne_IN/ne_IN.go index 99d703411..2a7220ded 100644 --- a/ne_IN/ne_IN.go +++ b/ne_IN/ne_IN.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मे", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, monthsNarrow: []string{"", "१", "२", "३", "४", "५", "६", "७", "८", "९", "१०", "११", "१२"}, monthsWide: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मई", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, - daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysNarrow: []string{"आ", "सो", "म", "बु", "बि", "शु", "श"}, - daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysWide: []string{"आइतबार", "सोमबार", "मङ्गलबार", "बुधबार", "बिहिबार", "शुक्रबार", "शनिबार"}, periodsAbbreviated: []string{"पूर्वाह्न", "अपराह्न"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"पूर्वाह्न", "अपराह्न"}, periodsWide: []string{"पूर्वाह्न", "अपराह्न"}, erasAbbreviated: []string{"ईसा पूर्व", "सन्"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"WART": "पश्चिमी अर्जेनटिनी मानक समय", "UYT": "उरूग्वे मानक समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "AKDT": "अलस्का दिवा समय", "GFT": "फ्रेन्च ग्वाना समय", "ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "HAST": "हवाई-एलुटियन मानक समय", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "GYT": "गुयाना समय", "CHADT": "चाथाम दिवा समय", "IST": "भारतीय मानक समय", "CAT": "केन्द्रीय अफ्रिकी समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "∅∅∅": "पेरु ग्रीष्मकालीन समय", "ChST": "चामोर्रो मानक समय", "CLT": "चिली मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "AST": "एट्लान्टिक मानक समय", "EAT": "पूर्वी अफ्रिकी समय", "TMT": "तुर्कमेनिस्तान मानक समय", "NZST": "न्यूजिल्यान्ड मानक समय", "SAST": "दक्षिण अफ्रिकी समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "LHST": "लर्ड हावे मानक समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "PDT": "प्यासिफिक दिवा समय", "CDT": "केन्द्रीय दिवा समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "MDT": "हिमाली दिवा समय", "BT": "भुटानी समय", "JDT": "जापान दिवा समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "ADT": "एट्लान्टिक दिवा समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "MST": "हिमाली मानक समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "ECT": "ईक्वोडोर समय", "HADT": "हवाई-एलुटियन दिवा समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "EST": "पूर्वी मानक समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "CHAST": "चाथाम मानक समय", "SRT": "सुरिनामा समय", "COT": "कोलम्बियाली मानक समय", "VET": "भेनेज्युएला समय", "GMT": "ग्रीनविच मिन समय", "SGT": "सिंगापुर मानक समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "CST": "केन्द्रीय मानक समय", "HNT": "न्यूफाउन्डल्याण्ड मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "HKT": "हङकङ मानक समय", "AKST": "अलास्का मानक समय", "EDT": "पूर्वी दिवा समय", "HAT": "न्यूफाउन्ल्याण्ड दिवा समय", "WIT": "पूर्वी इन्डोनेशिया समय", "LHDT": "लर्ड हावे दिवा समय", "OEZ": "पूर्वी युरोपेली मानक समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "ART": "अर्जेनटिनी मानक समय", "PST": "प्यासिफिक मानक समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "MYT": "मलेसिया समय", "BOT": "बोलिभिया समय", "JST": "जापान मानक समय"}, + erasWide: []string{"ईसा पूर्व", "सन्"}, + timezones: map[string]string{"HNPMX": "मेक्सिकन प्यासिफिक मानक समय", "ADT": "एट्लान्टिक दिवा समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "IST": "भारतीय मानक समय", "ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय", "HEEG": "पूर्वी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "ECT": "ईक्वोडोर समय", "MST": "MST", "HNT": "न्यूफाउनडल्यान्डको मानक समय", "ART": "अर्जेनटिनी मानक समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "HADT": "हवाई-एलुटियन दिवा समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "BOT": "बोलिभिया समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "HENOMX": "उत्तर पश्चिम मेक्सिकोको दिवा समय", "EST": "पूर्वी मानक समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "JST": "जापान मानक समय", "HECU": "क्यूबाको दिवा समय", "VET": "भेनेज्युएला समय", "PST": "प्यासिफिक मानक समय", "CLT": "चिली मानक समय", "SRT": "सुरिनामा समय", "NZST": "न्यूजिल्यान्ड मानक समय", "CHADT": "चाथाम दिवा समय", "ChST": "चामोर्रो मानक समय", "GFT": "फ्रेन्च ग्वाना समय", "EDT": "पूर्वी दिवा समय", "HEOG": "पश्चिमी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "∅∅∅": "पेरु ग्रीष्मकालीन समय", "HNCU": "क्यूबाको मानक समय", "CST": "केन्द्रीय मानक समय", "HEPM": "सेन्ट पियर्रे र मिक्युलोनको दिवा समय", "LHST": "लर्ड हावे मानक समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "TMT": "तुर्कमेनिस्तान मानक समय", "GMT": "ग्रीनविच मिन समय", "PDT": "प्यासिफिक दिवा समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "HKT": "हङकङ मानक समय", "WART": "पश्चिमी अर्जेनटिनी मानक समय", "HEPMX": "मेक्सिकन प्यासिफिक दिवा समय", "AST": "एट्लान्टिक मानक समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "CHAST": "चाथाम मानक समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "LHDT": "लर्ड हावे दिवा समय", "HNEG": "पूर्वी ग्रीनल्यान्डको मानक समय", "CAT": "केन्द्रीय अफ्रिकी समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "OEZ": "पूर्वी युरोपेली मानक समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "HNOG": "पश्चिमी ग्रीनल्यान्डको मानक समय", "BT": "भुटानी समय", "JDT": "जापान दिवा समय", "AKST": "अलस्काको मानक समय", "AKDT": "अलस्काको दिवा समय", "HAST": "हवाई-एलुटियन मानक समय", "EAT": "पूर्वी अफ्रिकी समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "GYT": "गुयाना समय", "MYT": "मलेसिया समय", "WIT": "पूर्वी इन्डोनेशिया समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "HNPM": "सेन्ट पियर्रे र मिक्युलोनको मानक समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "CDT": "केन्द्रीय दिवा समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "COT": "कोलम्बियाली मानक समय", "HNNOMX": "उत्तर पश्चिम मेक्सिकोको मानक समय", "SGT": "सिंगापुर मानक समय", "MDT": "MDT", "UYT": "उरूग्वे मानक समय", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "HAT": "न्यूफाउनल्यान्डको दिवा समय", "SAST": "दक्षिण अफ्रिकी समय", "CLST": "चिली ग्रीष्मकालीन समय"}, } } @@ -417,7 +417,12 @@ func (ne *ne_IN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -442,7 +447,12 @@ func (ne *ne_IN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -456,7 +466,12 @@ func (ne *ne_IN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -470,7 +485,12 @@ func (ne *ne_IN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ne_NP/ne_NP.go b/ne_NP/ne_NP.go index 64019b831..6e3edd2b4 100644 --- a/ne_NP/ne_NP.go +++ b/ne_NP/ne_NP.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मे", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, monthsNarrow: []string{"", "१", "२", "३", "४", "५", "६", "७", "८", "९", "१०", "११", "१२"}, monthsWide: []string{"", "जनवरी", "फेब्रुअरी", "मार्च", "अप्रिल", "मई", "जुन", "जुलाई", "अगस्ट", "सेप्टेम्बर", "अक्टोबर", "नोभेम्बर", "डिसेम्बर"}, - daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysAbbreviated: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysNarrow: []string{"आ", "सो", "म", "बु", "बि", "शु", "श"}, - daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिही", "शुक्र", "शनि"}, + daysShort: []string{"आइत", "सोम", "मङ्गल", "बुध", "बिहि", "शुक्र", "शनि"}, daysWide: []string{"आइतबार", "सोमबार", "मङ्गलबार", "बुधबार", "बिहिबार", "शुक्रबार", "शनिबार"}, periodsAbbreviated: []string{"पूर्वाह्न", "अपराह्न"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"पूर्वाह्न", "अपराह्न"}, periodsWide: []string{"पूर्वाह्न", "अपराह्न"}, erasAbbreviated: []string{"ईसा पूर्व", "सन्"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"WIT": "पूर्वी इन्डोनेशिया समय", "UYT": "उरूग्वे मानक समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "IST": "भारतीय मानक समय", "CDT": "केन्द्रीय दिवा समय", "NZST": "न्यूजिल्यान्ड मानक समय", "EST": "पूर्वी मानक समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "CLT": "चिली मानक समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "WART": "पश्चिमी अर्जेनटिनी मानक समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "AST": "एट्लान्टिक मानक समय", "ADT": "एट्लान्टिक दिवा समय", "EDT": "पूर्वी दिवा समय", "BOT": "बोलिभिया समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "SAST": "दक्षिण अफ्रिकी समय", "PDT": "प्यासिफिक दिवा समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "SGT": "सिंगापुर मानक समय", "HAST": "हवाई-एलुटियन मानक समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "ChST": "चामोर्रो मानक समय", "HNT": "न्यूफाउन्डल्याण्ड मानक समय", "HAT": "न्यूफाउन्ल्याण्ड दिवा समय", "CST": "केन्द्रीय मानक समय", "BT": "भुटानी समय", "SRT": "सुरिनामा समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "ART": "अर्जेनटिनी मानक समय", "AKST": "अलास्का मानक समय", "GMT": "ग्रीनविच मिन समय", "LHDT": "लर्ड हावे दिवा समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "AKDT": "अलस्का दिवा समय", "MDT": "हिमाली दिवा समय", "JDT": "जापान दिवा समय", "OEZ": "पूर्वी युरोपेली मानक समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "CHADT": "चाथाम दिवा समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "COT": "कोलम्बियाली मानक समय", "PST": "प्यासिफिक मानक समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "MYT": "मलेसिया समय", "CAT": "केन्द्रीय अफ्रिकी समय", "JST": "जापान मानक समय", "EAT": "पूर्वी अफ्रिकी समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "∅∅∅": "ब्राजिलीया ग्रीष्मकालीन समय", "ECT": "ईक्वोडोर समय", "TMT": "तुर्कमेनिस्तान मानक समय", "MST": "हिमाली मानक समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "GFT": "फ्रेन्च ग्वाना समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "GYT": "गुयाना समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "LHST": "लर्ड हावे मानक समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "VET": "भेनेज्युएला समय", "HADT": "हवाई-एलुटियन दिवा समय", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "CLST": "चिली ग्रीष्मकालीन समय", "HKT": "हङकङ मानक समय", "CHAST": "चाथाम मानक समय", "ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय"}, + erasWide: []string{"ईसा पूर्व", "सन्"}, + timezones: map[string]string{"LHDT": "लर्ड हावे दिवा समय", "HEPMX": "मेक्सिकन प्यासिफिक दिवा समय", "AWST": "पश्चिमी अस्ट्रेलिया मानक समय", "WART": "पश्चिमी अर्जेनटिनी मानक समय", "HNCU": "क्यूबाको मानक समय", "HECU": "क्यूबाको दिवा समय", "GMT": "ग्रीनविच मिन समय", "PST": "प्यासिफिक मानक समय", "HEPM": "सेन्ट पियर्रे र मिक्युलोनको दिवा समय", "OEZ": "पूर्वी युरोपेली मानक समय", "CAT": "केन्द्रीय अफ्रिकी समय", "MST": "MST", "ACWST": "केन्द्रीय पश्चिमी अस्ट्रेलिया मानक समय", "HNPM": "सेन्ट पियर्रे र मिक्युलोनको मानक समय", "NZST": "न्यूजिल्यान्ड मानक समय", "TMT": "तुर्कमेनिस्तान मानक समय", "EDT": "पूर्वी दिवा समय", "HEOG": "पश्चिमी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "SGT": "सिंगापुर मानक समय", "MYT": "मलेसिया समय", "WIB": "पश्चिमी इन्डोनेशिया समय", "CHADT": "चाथाम दिवा समय", "HNPMX": "मेक्सिकन प्यासिफिक मानक समय", "UYT": "उरूग्वे मानक समय", "CST": "केन्द्रीय मानक समय", "AST": "एट्लान्टिक मानक समय", "ARST": "अर्जेनटिनी ग्रीष्मकालीन समय", "MESZ": "केन्द्रीय युरोपेली ग्रीष्मकालीन समय", "CLT": "चिली मानक समय", "COT": "कोलम्बियाली मानक समय", "EST": "पूर्वी मानक समय", "HAST": "हवाई-एलुटियन मानक समय", "SRT": "सुरिनामा समय", "ART": "अर्जेनटिनी मानक समय", "PDT": "प्यासिफिक दिवा समय", "WEZ": "पश्चिमी युरोपेली मानक समय", "ACST": "केन्द्रीय अस्ट्रेलिया मानक समय", "WAT": "पश्चिम अफ्रिकी मानक समय", "ADT": "एट्लान्टिक दिवा समय", "GYT": "गुयाना समय", "IST": "भारतीय मानक समय", "GFT": "फ्रेन्च ग्वाना समय", "ChST": "चामोर्रो मानक समय", "COST": "कोलम्बियाली ग्रीष्मकालीन समय", "UYST": "उरुग्वे ग्रीष्मकालीन समय", "CLST": "चिली ग्रीष्मकालीन समय", "HNNOMX": "उत्तर पश्चिम मेक्सिकोको मानक समय", "WARST": "पश्चिमी अर्जेनटिनी ग्रीष्मकालीन समय", "LHST": "लर्ड हावे मानक समय", "EAT": "पूर्वी अफ्रिकी समय", "AKST": "अलस्काको मानक समय", "AKDT": "अलस्काको दिवा समय", "CDT": "केन्द्रीय दिवा समय", "HADT": "हवाई-एलुटियन दिवा समय", "WITA": "केन्द्रीय इन्डोनेशिया समय", "ACDT": "केन्द्रीय अस्ट्रेलिया दिवा समय", "OESZ": "पूर्वी युरोपेली ग्रीष्मकालीन समय", "AEST": "पूर्वी अस्ट्रेलिया मानक समय", "ECT": "ईक्वोडोर समय", "MDT": "MDT", "HAT": "न्यूफाउनल्यान्डको दिवा समय", "HKT": "हङकङ मानक समय", "AWDT": "पश्चिमी अस्ट्रेलिया दिवा समय", "CHAST": "चाथाम मानक समय", "HEEG": "पूर्वी ग्रीनल्यान्डको ग्रीष्मकालीन समय", "TMST": "तुर्कमेनिस्तान ग्रीष्मकालीन मानक समय", "MEZ": "केन्द्रीय युरोपेली मानक समय", "SAST": "दक्षिण अफ्रिकी समय", "HNOG": "पश्चिमी ग्रीनल्यान्डको मानक समय", "AEDT": "पूर्वी अस्ट्रेलिया दिवा समय", "WAST": "पश्चिम अफ्रिकी ग्रीष्मकालीन समय", "BT": "भुटानी समय", "BOT": "बोलिभिया समय", "HKST": "हङकङ ग्रीष्मकालीन समय", "∅∅∅": "अमेजन ग्रीष्मकालीन समय", "JST": "जापान मानक समय", "HNT": "न्यूफाउनडल्यान्डको मानक समय", "WESZ": "युरोपेली ग्रीष्मकालीन समय", "HENOMX": "उत्तर पश्चिम मेक्सिकोको दिवा समय", "WIT": "पूर्वी इन्डोनेशिया समय", "VET": "भेनेज्युएला समय", "ACWDT": "केन्द्रीय पश्चिमी अस्ट्रेलिया दिवा समय", "NZDT": "न्यूजिल्यान्ड दिवा समय", "JDT": "जापान दिवा समय", "HNEG": "पूर्वी ग्रीनल्यान्डको मानक समय"}, } } @@ -417,7 +417,12 @@ func (ne *ne_NP) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -442,7 +447,12 @@ func (ne *ne_NP) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -456,7 +466,12 @@ func (ne *ne_NP) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -470,7 +485,12 @@ func (ne *ne_NP) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ne.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/nl/nl.go b/nl/nl.go index c8dd1c8f7..59b0a5b55 100644 --- a/nl/nl.go +++ b/nl/nl.go @@ -18,12 +18,12 @@ type nl struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "C$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJ$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SI$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "C$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJ$", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SI$", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"EDT": "Eastern-zomertijd", "WITA": "Centraal-Indonesische tijd", "NZST": "Nieuw-Zeelandse standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "WEZ": "West-Europese standaardtijd", "ADT": "Atlantic-zomertijd", "MDT": "Macause zomertijd", "OESZ": "Oost-Europese zomertijd", "BT": "Bhutaanse tijd", "OEZ": "Oost-Europese standaardtijd", "SGT": "Singaporese standaardtijd", "MESZ": "Midden-Europese zomertijd", "WAT": "West-Afrikaanse standaardtijd", "PDT": "Pacific-zomertijd", "HAT": "Newfoundland-zomertijd", "CLST": "Chileense zomertijd", "ACST": "Midden-Australische standaardtijd", "WART": "West-Argentijnse standaardtijd", "AKDT": "Alaska-zomertijd", "WIT": "Oost-Indonesische tijd", "WIB": "West-Indonesische tijd", "HKST": "Hongkongse zomertijd", "COT": "Colombiaanse standaardtijd", "EST": "Eastern-standaardtijd", "PST": "Pacific-standaardtijd", "BOT": "Boliviaanse tijd", "UYT": "Uruguayaanse standaardtijd", "GFT": "Frans-Guyaanse tijd", "AEDT": "Oost-Australische zomertijd", "CHADT": "Chatham-zomertijd", "MEZ": "Midden-Europese standaardtijd", "AST": "Atlantic-standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "GYT": "Guyaanse tijd", "UYST": "Uruguayaanse zomertijd", "JDT": "Japanse zomertijd", "VET": "Venezolaanse tijd", "CAT": "Centraal-Afrikaanse tijd", "CHAST": "Chatham-standaardtijd", "AWDT": "West-Australische zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "ECT": "Ecuadoraanse tijd", "ART": "Argentijnse standaardtijd", "EAT": "Oost-Afrikaanse tijd", "ChST": "Chamorro-tijd", "NZDT": "Nieuw-Zeelandse zomertijd", "HKT": "Hongkongse standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "MYT": "Maleisische tijd", "AWST": "West-Australische standaardtijd", "CLT": "Chileense standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "TMST": "Turkmeense zomertijd", "CST": "Central-standaardtijd", "CDT": "Central-zomertijd", "SRT": "Surinaamse tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "ACDT": "Midden-Australische zomertijd", "HNT": "Newfoundland-standaardtijd", "∅∅∅": "Braziliaanse zomertijd", "WARST": "West-Argentijnse zomertijd", "WAST": "West-Afrikaanse zomertijd", "AKST": "Alaska-standaardtijd", "TMT": "Turkmeense standaardtijd", "AEST": "Oost-Australische standaardtijd", "ARST": "Argentijnse zomertijd", "GMT": "Greenwich Mean Time", "WESZ": "West-Europese zomertijd", "MST": "Macause standaardtijd", "JST": "Japanse standaardtijd", "COST": "Colombiaanse zomertijd", "IST": "Indiase tijd"}, + timezones: map[string]string{"HENOMX": "Noordwest-Mexicaanse zomertijd", "GMT": "Greenwich Mean Time", "SRT": "Surinaamse tijd", "WART": "West-Argentijnse standaardtijd", "EDT": "Eastern-zomertijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "AEST": "Oost-Australische standaardtijd", "HKT": "Hongkongse standaardtijd", "WAST": "West-Afrikaanse zomertijd", "WEZ": "West-Europese standaardtijd", "ART": "Argentijnse standaardtijd", "MEZ": "Midden-Europese standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "JDT": "Japanse zomertijd", "ECT": "Ecuadoraanse tijd", "∅∅∅": "Peruaanse zomertijd", "MDT": "Macause zomertijd", "AKDT": "Alaska-zomertijd", "WESZ": "West-Europese zomertijd", "CHAST": "Chatham-standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "HECU": "Cubaanse zomertijd", "CST": "Central-standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "WIT": "Oost-Indonesische tijd", "AWST": "West-Australische standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "IST": "Indiase tijd", "CAT": "Centraal-Afrikaanse tijd", "WARST": "West-Argentijnse zomertijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "PDT": "Pacific-zomertijd", "HEOG": "West-Groenlandse zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "ChST": "Chamorro-tijd", "EST": "Eastern-standaardtijd", "ARST": "Argentijnse zomertijd", "MESZ": "Midden-Europese zomertijd", "HNEG": "Oost-Groenlandse standaardtijd", "TMT": "Turkmeense standaardtijd", "TMST": "Turkmeense zomertijd", "COT": "Colombiaanse standaardtijd", "ADT": "Atlantic-zomertijd", "PST": "Pacific-standaardtijd", "WITA": "Centraal-Indonesische tijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "JST": "Japanse standaardtijd", "COST": "Colombiaanse zomertijd", "AKST": "Alaska-standaardtijd", "AWDT": "West-Australische zomertijd", "CHADT": "Chatham-zomertijd", "ACST": "Midden-Australische standaardtijd", "OESZ": "Oost-Europese zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "GFT": "Frans-Guyaanse tijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "MYT": "Maleisische tijd", "UYT": "Uruguayaanse standaardtijd", "HAST": "Hawaii-Aleoetische standaardtijd", "VET": "Venezolaanse tijd", "BT": "Bhutaanse tijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "OEZ": "Oost-Europese standaardtijd", "WIB": "West-Indonesische tijd", "ACWDT": "Midden-Australische westelijke zomertijd", "HNOG": "West-Groenlandse standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "HNT": "Newfoundland-standaardtijd", "CLT": "Chileense standaardtijd", "BOT": "Boliviaanse tijd", "HNCU": "Cubaanse standaardtijd", "MST": "Macause standaardtijd", "CDT": "Central-zomertijd", "AST": "Atlantic-standaardtijd", "HAT": "Newfoundland-zomertijd", "AEDT": "Oost-Australische zomertijd", "HKST": "Hongkongse zomertijd", "HEEG": "Oost-Groenlandse zomertijd", "ACDT": "Midden-Australische zomertijd", "EAT": "Oost-Afrikaanse tijd", "SGT": "Singaporese standaardtijd", "CLST": "Chileense zomertijd", "GYT": "Guyaanse tijd", "UYST": "Uruguayaanse zomertijd", "SAST": "Zuid-Afrikaanse tijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_AW/nl_AW.go b/nl_AW/nl_AW.go index d5135ba1b..dfd74669c 100644 --- a/nl_AW/nl_AW.go +++ b/nl_AW/nl_AW.go @@ -18,12 +18,12 @@ type nl_AW struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "Afl.", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "Afl.", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"BOT": "Boliviaanse tijd", "HAT": "Newfoundland-zomertijd", "MEZ": "Midden-Europese standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "AEST": "Oost-Australische standaardtijd", "PST": "Pacific-standaardtijd", "AWST": "West-Australische standaardtijd", "CHAST": "Chatham-standaardtijd", "WIB": "West-Indonesische tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "ART": "Argentijnse standaardtijd", "WART": "West-Argentijnse standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "WAST": "West-Afrikaanse zomertijd", "MST": "Mountain-standaardtijd", "CHADT": "Chatham-zomertijd", "AEDT": "Oost-Australische zomertijd", "IST": "Indiase tijd", "ADT": "Atlantic-zomertijd", "CDT": "Central-zomertijd", "WESZ": "West-Europese zomertijd", "ACDT": "Midden-Australische zomertijd", "COST": "Colombiaanse zomertijd", "MDT": "Mountain-zomertijd", "HNT": "Newfoundland-standaardtijd", "AKDT": "Alaska-zomertijd", "EST": "Eastern-standaardtijd", "TMT": "Turkmeense standaardtijd", "WIT": "Oost-Indonesische tijd", "LHDT": "Lord Howe-eilandse zomertijd", "AST": "Atlantic-standaardtijd", "CST": "Central-standaardtijd", "BT": "Bhutaanse tijd", "UYT": "Uruguayaanse standaardtijd", "MESZ": "Midden-Europese zomertijd", "SGT": "Singaporese standaardtijd", "∅∅∅": "Azoren-zomertijd", "ARST": "Argentijnse zomertijd", "MYT": "Maleisische tijd", "NZDT": "Nieuw-Zeelandse zomertijd", "JST": "Japanse standaardtijd", "JDT": "Japanse zomertijd", "OEZ": "Oost-Europese standaardtijd", "ECT": "Ecuadoraanse tijd", "HADT": "Hawaii-Aleoetische zomertijd", "AKST": "Alaska-standaardtijd", "HKST": "Hongkongse zomertijd", "SRT": "Surinaamse tijd", "TMST": "Turkmeense zomertijd", "GMT": "Greenwich Mean Time", "WEZ": "West-Europese standaardtijd", "HKT": "Hongkongse standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "UYST": "Uruguayaanse zomertijd", "COT": "Colombiaanse standaardtijd", "EAT": "Oost-Afrikaanse tijd", "EDT": "Eastern-zomertijd", "GYT": "Guyaanse tijd", "AWDT": "West-Australische zomertijd", "ChST": "Chamorro-tijd", "CAT": "Centraal-Afrikaanse tijd", "CLT": "Chileense standaardtijd", "VET": "Venezolaanse tijd", "ACWST": "Midden-Australische westelijke standaardtijd", "WITA": "Centraal-Indonesische tijd", "NZST": "Nieuw-Zeelandse standaardtijd", "CLST": "Chileense zomertijd", "OESZ": "Oost-Europese zomertijd", "GFT": "Frans-Guyaanse tijd", "WARST": "West-Argentijnse zomertijd", "PDT": "Pacific-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "ACST": "Midden-Australische standaardtijd"}, + timezones: map[string]string{"AWDT": "West-Australische zomertijd", "MESZ": "Midden-Europese zomertijd", "BOT": "Boliviaanse tijd", "SGT": "Singaporese standaardtijd", "EST": "Eastern-standaardtijd", "CST": "Central-standaardtijd", "HEOG": "West-Groenlandse zomertijd", "ACST": "Midden-Australische standaardtijd", "OEZ": "Oost-Europese standaardtijd", "AKDT": "Alaska-zomertijd", "ADT": "Atlantic-zomertijd", "GYT": "Guyaanse tijd", "WIB": "West-Indonesische tijd", "PST": "Pacific-standaardtijd", "PDT": "Pacific-zomertijd", "AEST": "Oost-Australische standaardtijd", "JDT": "Japanse zomertijd", "ChST": "Chamorro-tijd", "GFT": "Frans-Guyaanse tijd", "TMST": "Turkmeense zomertijd", "CDT": "Central-zomertijd", "ART": "Argentijnse standaardtijd", "HKT": "Hongkongse standaardtijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "CLT": "Chileense standaardtijd", "ECT": "Ecuadoraanse tijd", "COT": "Colombiaanse standaardtijd", "HAST": "Hawaii-Aleoetische standaardtijd", "WEZ": "West-Europese standaardtijd", "HECU": "Cubaanse zomertijd", "EDT": "Eastern-zomertijd", "ACWDT": "Midden-Australische westelijke zomertijd", "ARST": "Argentijnse zomertijd", "CLST": "Chileense zomertijd", "SRT": "Surinaamse tijd", "AEDT": "Oost-Australische zomertijd", "∅∅∅": "Amazone-zomertijd", "WAT": "West-Afrikaanse standaardtijd", "OESZ": "Oost-Europese zomertijd", "GMT": "Greenwich Mean Time", "WART": "West-Argentijnse standaardtijd", "HAT": "Newfoundland-zomertijd", "IST": "Indiase tijd", "HEEG": "Oost-Groenlandse zomertijd", "ACDT": "Midden-Australische zomertijd", "MDT": "Macause zomertijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "WESZ": "West-Europese zomertijd", "HKST": "Hongkongse zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "MST": "Macause standaardtijd", "MYT": "Maleisische tijd", "HNOG": "West-Groenlandse standaardtijd", "CHADT": "Chatham-zomertijd", "BT": "Bhutaanse tijd", "CHAST": "Chatham-standaardtijd", "HNEG": "Oost-Groenlandse standaardtijd", "COST": "Colombiaanse zomertijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "HNCU": "Cubaanse standaardtijd", "UYT": "Uruguayaanse standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "MEZ": "Midden-Europese standaardtijd", "LHST": "Lord Howe-eilandse standaardtijd", "WAST": "West-Afrikaanse zomertijd", "WARST": "West-Argentijnse zomertijd", "HADT": "Hawaii-Aleoetische zomertijd", "AWST": "West-Australische standaardtijd", "TMT": "Turkmeense standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "EAT": "Oost-Afrikaanse tijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "UYST": "Uruguayaanse zomertijd", "VET": "Venezolaanse tijd", "HNT": "Newfoundland-standaardtijd", "NZST": "Nieuw-Zeelandse standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "SAST": "Zuid-Afrikaanse tijd", "AKST": "Alaska-standaardtijd", "WITA": "Centraal-Indonesische tijd", "JST": "Japanse standaardtijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "AST": "Atlantic-standaardtijd", "WIT": "Oost-Indonesische tijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_AW) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_AW) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_AW) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_AW) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_AW) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_AW) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_AW) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_AW) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_AW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_AW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_AW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_BE/nl_BE.go b/nl_BE/nl_BE.go index b65cf2c2c..edb940ae6 100644 --- a/nl_BE/nl_BE.go +++ b/nl_BE/nl_BE.go @@ -18,6 +18,7 @@ type nl_BE struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -55,7 +56,8 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, @@ -71,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"EDT": "Eastern-zomertijd", "EAT": "Oost-Afrikaanse tijd", "HKST": "Hongkongse zomertijd", "AEST": "Oost-Australische standaardtijd", "MST": "Mountain-standaardtijd", "WIT": "Oost-Indonesische tijd", "UYT": "Uruguayaanse standaardtijd", "WEZ": "West-Europese standaardtijd", "MESZ": "Midden-Europese zomertijd", "ACDT": "Midden-Australische zomertijd", "WART": "West-Argentijnse standaardtijd", "PST": "Pacific-standaardtijd", "MYT": "Maleisische tijd", "ChST": "Chamorro-tijd", "JDT": "Japanse zomertijd", "HKT": "Hongkongse standaardtijd", "CLST": "Chileense zomertijd", "AWDT": "West-Australische zomertijd", "AEDT": "Oost-Australische zomertijd", "ART": "Argentijnse standaardtijd", "AST": "Atlantic-standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "TMST": "Turkmeense zomertijd", "MDT": "Mountain-zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "WIB": "West-Indonesische tijd", "NZST": "Nieuw-Zeelandse standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "HAST": "Hawaii-Aleoetische standaardtijd", "EST": "Eastern-standaardtijd", "GYT": "Guyaanse tijd", "SRT": "Surinaamse tijd", "ECT": "Ecuadoraanse tijd", "TMT": "Turkmeense standaardtijd", "BOT": "Boliviaanse tijd", "UYST": "Uruguayaanse zomertijd", "WAST": "West-Afrikaanse zomertijd", "AKST": "Alaska-standaardtijd", "ADT": "Atlantic-zomertijd", "WITA": "Centraal-Indonesische tijd", "HNT": "Newfoundland-standaardtijd", "OESZ": "Oost-Europese zomertijd", "WESZ": "West-Europese zomertijd", "SGT": "Singaporese standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "IST": "Indiase tijd", "CST": "Central-standaardtijd", "AWST": "West-Australische standaardtijd", "GMT": "Greenwich Mean Time", "MEZ": "Midden-Europese standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "HAT": "Newfoundland-zomertijd", "BT": "Bhutaanse tijd", "CHADT": "Chatham-zomertijd", "WARST": "West-Argentijnse zomertijd", "GFT": "Frans-Guyaanse tijd", "CHAST": "Chatham-standaardtijd", "COST": "Colombiaanse zomertijd", "HADT": "Hawaii-Aleoetische zomertijd", "ARST": "Argentijnse zomertijd", "CDT": "Central-zomertijd", "∅∅∅": "Braziliaanse zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "ACST": "Midden-Australische standaardtijd", "COT": "Colombiaanse standaardtijd", "CLT": "Chileense standaardtijd", "AKDT": "Alaska-zomertijd", "PDT": "Pacific-zomertijd", "VET": "Venezolaanse tijd", "JST": "Japanse standaardtijd", "OEZ": "Oost-Europese standaardtijd"}, + timezones: map[string]string{"EST": "Eastern-standaardtijd", "CDT": "Central-zomertijd", "WESZ": "West-Europese zomertijd", "AWDT": "West-Australische zomertijd", "CAT": "Centraal-Afrikaanse tijd", "HECU": "Cubaanse zomertijd", "BT": "Bhutaanse tijd", "HEOG": "West-Groenlandse zomertijd", "HAT": "Newfoundland-zomertijd", "HNCU": "Cubaanse standaardtijd", "AKST": "Alaska-standaardtijd", "TMT": "Turkmeense standaardtijd", "WART": "West-Argentijnse standaardtijd", "SGT": "Singaporese standaardtijd", "GYT": "Guyaanse tijd", "ACWDT": "Midden-Australische westelijke zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "JDT": "Japanse zomertijd", "BOT": "Boliviaanse tijd", "WAT": "West-Afrikaanse standaardtijd", "ECT": "Ecuadoraanse tijd", "UYT": "Uruguayaanse standaardtijd", "AST": "Atlantic-standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "HKT": "Hongkongse standaardtijd", "CLT": "Chileense standaardtijd", "GFT": "Frans-Guyaanse tijd", "HKST": "Hongkongse zomertijd", "WITA": "Centraal-Indonesische tijd", "ADT": "Atlantic-zomertijd", "HAST": "Hawaii-Aleoetische standaardtijd", "HNOG": "West-Groenlandse standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "TMST": "Turkmeense zomertijd", "EAT": "Oost-Afrikaanse tijd", "UYST": "Uruguayaanse zomertijd", "MEZ": "Midden-Europese standaardtijd", "∅∅∅": "Amazone-zomertijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "AEST": "Oost-Australische standaardtijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "EDT": "Eastern-zomertijd", "MST": "Macause standaardtijd", "MDT": "Macause zomertijd", "PST": "Pacific-standaardtijd", "AWST": "West-Australische standaardtijd", "MESZ": "Midden-Europese zomertijd", "SAST": "Zuid-Afrikaanse tijd", "JST": "Japanse standaardtijd", "OESZ": "Oost-Europese zomertijd", "CST": "Central-standaardtijd", "WIT": "Oost-Indonesische tijd", "WEZ": "West-Europese standaardtijd", "ACST": "Midden-Australische standaardtijd", "ACDT": "Midden-Australische zomertijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "CHADT": "Chatham-zomertijd", "IST": "Indiase tijd", "HNEG": "Oost-Groenlandse standaardtijd", "ART": "Argentijnse standaardtijd", "MYT": "Maleisische tijd", "HNT": "Newfoundland-standaardtijd", "SRT": "Surinaamse tijd", "ARST": "Argentijnse zomertijd", "COST": "Colombiaanse zomertijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "GMT": "Greenwich Mean Time", "HADT": "Hawaii-Aleoetische zomertijd", "CLST": "Chileense zomertijd", "OEZ": "Oost-Europese standaardtijd", "WAST": "West-Afrikaanse zomertijd", "AEDT": "Oost-Australische zomertijd", "PDT": "Pacific-zomertijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "CHAST": "Chatham-standaardtijd", "HEEG": "Oost-Groenlandse zomertijd", "COT": "Colombiaanse standaardtijd", "AKDT": "Alaska-zomertijd", "WIB": "West-Indonesische tijd", "VET": "Venezolaanse tijd", "ChST": "Chamorro-tijd", "WARST": "West-Argentijnse zomertijd"}, } } @@ -244,7 +246,7 @@ func (nl *nl_BE) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_BE) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -266,6 +268,8 @@ func (nl *nl_BE) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -427,7 +431,12 @@ func (nl *nl_BE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -441,7 +450,12 @@ func (nl *nl_BE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -457,7 +471,12 @@ func (nl *nl_BE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_BQ/nl_BQ.go b/nl_BQ/nl_BQ.go index 170a2af15..279027c05 100644 --- a/nl_BQ/nl_BQ.go +++ b/nl_BQ/nl_BQ.go @@ -18,12 +18,12 @@ type nl_BQ struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"ACDT": "Midden-Australische zomertijd", "ECT": "Ecuadoraanse tijd", "ART": "Argentijnse standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "ACST": "Midden-Australische standaardtijd", "SGT": "Singaporese standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "WITA": "Centraal-Indonesische tijd", "MDT": "Macause zomertijd", "HNT": "Newfoundland-standaardtijd", "MESZ": "Midden-Europese zomertijd", "AEST": "Oost-Australische standaardtijd", "TMST": "Turkmeense zomertijd", "TMT": "Turkmeense standaardtijd", "NZST": "Nieuw-Zeelandse standaardtijd", "BOT": "Boliviaanse tijd", "AWST": "West-Australische standaardtijd", "HAT": "Newfoundland-zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "ACWDT": "Midden-Australische westelijke zomertijd", "PDT": "Pacific-zomertijd", "WESZ": "West-Europese zomertijd", "PST": "Pacific-standaardtijd", "MYT": "Maleisische tijd", "WEZ": "West-Europese standaardtijd", "HKT": "Hongkongse standaardtijd", "CHADT": "Chatham-zomertijd", "IST": "Indiase tijd", "LHST": "Lord Howe-eilandse standaardtijd", "WARST": "West-Argentijnse zomertijd", "WAST": "West-Afrikaanse zomertijd", "EAT": "Oost-Afrikaanse tijd", "CDT": "Central-zomertijd", "CLT": "Chileense standaardtijd", "JST": "Japanse standaardtijd", "∅∅∅": "Braziliaanse zomertijd", "GFT": "Frans-Guyaanse tijd", "SRT": "Surinaamse tijd", "EST": "Eastern-standaardtijd", "ChST": "Chamorro-tijd", "AWDT": "West-Australische zomertijd", "JDT": "Japanse zomertijd", "ACWST": "Midden-Australische westelijke standaardtijd", "ARST": "Argentijnse zomertijd", "BT": "Bhutaanse tijd", "CHAST": "Chatham-standaardtijd", "HAST": "Hawaii-Aleoetische standaardtijd", "WIB": "West-Indonesische tijd", "WART": "West-Argentijnse standaardtijd", "OESZ": "Oost-Europese zomertijd", "COST": "Colombiaanse zomertijd", "AEDT": "Oost-Australische zomertijd", "HADT": "Hawaii-Aleoetische zomertijd", "MEZ": "Midden-Europese standaardtijd", "ADT": "Atlantic-zomertijd", "CST": "Central-standaardtijd", "MST": "Macause standaardtijd", "CLST": "Chileense zomertijd", "WIT": "Oost-Indonesische tijd", "OEZ": "Oost-Europese standaardtijd", "UYT": "Uruguayaanse standaardtijd", "VET": "Venezolaanse tijd", "WAT": "West-Afrikaanse standaardtijd", "AKST": "Alaska-standaardtijd", "EDT": "Eastern-zomertijd", "AST": "Atlantic-standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "UYST": "Uruguayaanse zomertijd", "GMT": "Greenwich Mean Time", "HKST": "Hongkongse zomertijd", "COT": "Colombiaanse standaardtijd", "AKDT": "Alaska-zomertijd", "GYT": "Guyaanse tijd"}, + timezones: map[string]string{"UYT": "Uruguayaanse standaardtijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "IST": "Indiase tijd", "CLST": "Chileense zomertijd", "COST": "Colombiaanse zomertijd", "ADT": "Atlantic-zomertijd", "WEZ": "West-Europese standaardtijd", "ACST": "Midden-Australische standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "WESZ": "West-Europese zomertijd", "AEDT": "Oost-Australische zomertijd", "HKT": "Hongkongse standaardtijd", "HEEG": "Oost-Groenlandse zomertijd", "VET": "Venezolaanse tijd", "EST": "Eastern-standaardtijd", "AST": "Atlantic-standaardtijd", "GYT": "Guyaanse tijd", "ACWST": "Midden-Australische westelijke standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "COT": "Colombiaanse standaardtijd", "AKDT": "Alaska-zomertijd", "WIB": "West-Indonesische tijd", "CHAST": "Chatham-standaardtijd", "CHADT": "Chatham-zomertijd", "JDT": "Japanse zomertijd", "CLT": "Chileense standaardtijd", "ChST": "Chamorro-tijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "HECU": "Cubaanse zomertijd", "EDT": "Eastern-zomertijd", "MYT": "Maleisische tijd", "UYST": "Uruguayaanse zomertijd", "WIT": "Oost-Indonesische tijd", "GFT": "Frans-Guyaanse tijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "HNCU": "Cubaanse standaardtijd", "HNT": "Newfoundland-standaardtijd", "NZST": "Nieuw-Zeelandse standaardtijd", "SGT": "Singaporese standaardtijd", "HAST": "Hawaii-Aleoetische standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "ARST": "Argentijnse zomertijd", "AEST": "Oost-Australische standaardtijd", "WART": "West-Argentijnse standaardtijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "CDT": "Central-zomertijd", "SRT": "Surinaamse tijd", "HAT": "Newfoundland-zomertijd", "HKST": "Hongkongse zomertijd", "ACDT": "Midden-Australische zomertijd", "ECT": "Ecuadoraanse tijd", "MDT": "Macause zomertijd", "HEOG": "West-Groenlandse zomertijd", "PDT": "Pacific-zomertijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "TMT": "Turkmeense standaardtijd", "OEZ": "Oost-Europese standaardtijd", "GMT": "Greenwich Mean Time", "AKST": "Alaska-standaardtijd", "AWDT": "West-Australische zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "NZDT": "Nieuw-Zeelandse zomertijd", "OESZ": "Oost-Europese zomertijd", "∅∅∅": "Azoren-zomertijd", "WITA": "Centraal-Indonesische tijd", "MESZ": "Midden-Europese zomertijd", "JST": "Japanse standaardtijd", "TMST": "Turkmeense zomertijd", "BOT": "Boliviaanse tijd", "HNOG": "West-Groenlandse standaardtijd", "BT": "Bhutaanse tijd", "ACWDT": "Midden-Australische westelijke zomertijd", "MEZ": "Midden-Europese standaardtijd", "HNEG": "Oost-Groenlandse standaardtijd", "EAT": "Oost-Afrikaanse tijd", "WAST": "West-Afrikaanse zomertijd", "MST": "Macause standaardtijd", "CST": "Central-standaardtijd", "ART": "Argentijnse standaardtijd", "PST": "Pacific-standaardtijd", "AWST": "West-Australische standaardtijd", "LHST": "Lord Howe-eilandse standaardtijd", "WARST": "West-Argentijnse zomertijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_BQ) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_BQ) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_BQ) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_BQ) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_BQ) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_BQ) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_BQ) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_BQ) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_BQ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_BQ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_BQ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_CW/nl_CW.go b/nl_CW/nl_CW.go index f104f8400..e324f5304 100644 --- a/nl_CW/nl_CW.go +++ b/nl_CW/nl_CW.go @@ -18,12 +18,12 @@ type nl_CW struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"SGT": "Singaporese standaardtijd", "WART": "West-Argentijnse standaardtijd", "PST": "Pacific-standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "WESZ": "West-Europese zomertijd", "CHAST": "Chatham-standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "ARST": "Argentijnse zomertijd", "SRT": "Surinaamse tijd", "OEZ": "Oost-Europese standaardtijd", "WARST": "West-Argentijnse zomertijd", "PDT": "Pacific-zomertijd", "IST": "Indiase tijd", "WEZ": "West-Europese standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "HAT": "Newfoundland-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "HNT": "Newfoundland-standaardtijd", "ACST": "Midden-Australische standaardtijd", "COST": "Colombiaanse zomertijd", "HAST": "Hawaii-Aleoetische standaardtijd", "AST": "Atlantic-standaardtijd", "AKST": "Alaska-standaardtijd", "MDT": "Mountain-zomertijd", "HKST": "Hongkongse zomertijd", "CHADT": "Chatham-zomertijd", "WAT": "West-Afrikaanse standaardtijd", "EST": "Eastern-standaardtijd", "EDT": "Eastern-zomertijd", "UYST": "Uruguayaanse zomertijd", "COT": "Colombiaanse standaardtijd", "AWST": "West-Australische standaardtijd", "GMT": "Greenwich Mean Time", "OESZ": "Oost-Europese zomertijd", "MEZ": "Midden-Europese standaardtijd", "UYT": "Uruguayaanse standaardtijd", "CLT": "Chileense standaardtijd", "ACDT": "Midden-Australische zomertijd", "VET": "Venezolaanse tijd", "AEDT": "Oost-Australische zomertijd", "ART": "Argentijnse standaardtijd", "EAT": "Oost-Afrikaanse tijd", "MST": "Mountain-standaardtijd", "MESZ": "Midden-Europese zomertijd", "GYT": "Guyaanse tijd", "WIT": "Oost-Indonesische tijd", "ECT": "Ecuadoraanse tijd", "AKDT": "Alaska-zomertijd", "TMST": "Turkmeense zomertijd", "JDT": "Japanse zomertijd", "WIB": "West-Indonesische tijd", "ACWST": "Midden-Australische westelijke standaardtijd", "CDT": "Central-zomertijd", "∅∅∅": "Peruaanse zomertijd", "BT": "Bhutaanse tijd", "CLST": "Chileense zomertijd", "CST": "Central-standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "JST": "Japanse standaardtijd", "HKT": "Hongkongse standaardtijd", "AEST": "Oost-Australische standaardtijd", "ADT": "Atlantic-zomertijd", "SAST": "Zuid-Afrikaanse tijd", "WITA": "Centraal-Indonesische tijd", "TMT": "Turkmeense standaardtijd", "BOT": "Boliviaanse tijd", "WAST": "West-Afrikaanse zomertijd", "MYT": "Maleisische tijd", "ChST": "Chamorro-tijd", "AWDT": "West-Australische zomertijd", "GFT": "Frans-Guyaanse tijd"}, + timezones: map[string]string{"MEZ": "Midden-Europese standaardtijd", "CLT": "Chileense standaardtijd", "CLST": "Chileense zomertijd", "ChST": "Chamorro-tijd", "EST": "Eastern-standaardtijd", "EDT": "Eastern-zomertijd", "HNOG": "West-Groenlandse standaardtijd", "ACDT": "Midden-Australische zomertijd", "COT": "Colombiaanse standaardtijd", "HEOG": "West-Groenlandse zomertijd", "ACST": "Midden-Australische standaardtijd", "AKDT": "Alaska-zomertijd", "WIB": "West-Indonesische tijd", "OEZ": "Oost-Europese standaardtijd", "SGT": "Singaporese standaardtijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "UYT": "Uruguayaanse standaardtijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "ARST": "Argentijnse zomertijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "HNCU": "Cubaanse standaardtijd", "UYST": "Uruguayaanse zomertijd", "OESZ": "Oost-Europese zomertijd", "WIT": "Oost-Indonesische tijd", "AEST": "Oost-Australische standaardtijd", "AWDT": "West-Australische zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "JST": "Japanse standaardtijd", "TMT": "Turkmeense standaardtijd", "WAST": "West-Afrikaanse zomertijd", "MST": "Macause standaardtijd", "MYT": "Maleisische tijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "IST": "Indiase tijd", "TMST": "Turkmeense zomertijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "WESZ": "West-Europese zomertijd", "WITA": "Centraal-Indonesische tijd", "HEEG": "Oost-Groenlandse zomertijd", "GFT": "Frans-Guyaanse tijd", "HNT": "Newfoundland-standaardtijd", "AWST": "West-Australische standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "CAT": "Centraal-Afrikaanse tijd", "HECU": "Cubaanse zomertijd", "SRT": "Surinaamse tijd", "BOT": "Boliviaanse tijd", "CDT": "Central-zomertijd", "PST": "Pacific-standaardtijd", "CHAST": "Chatham-standaardtijd", "CHADT": "Chatham-zomertijd", "∅∅∅": "Peruaanse zomertijd", "EAT": "Oost-Afrikaanse tijd", "MDT": "Macause zomertijd", "GYT": "Guyaanse tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "ART": "Argentijnse standaardtijd", "HKT": "Hongkongse standaardtijd", "WART": "West-Argentijnse standaardtijd", "COST": "Colombiaanse zomertijd", "AST": "Atlantic-standaardtijd", "AEDT": "Oost-Australische zomertijd", "NZDT": "Nieuw-Zeelandse zomertijd", "JDT": "Japanse zomertijd", "AKST": "Alaska-standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "HAT": "Newfoundland-zomertijd", "PDT": "Pacific-zomertijd", "ACWST": "Midden-Australische westelijke standaardtijd", "MESZ": "Midden-Europese zomertijd", "HNEG": "Oost-Groenlandse standaardtijd", "GMT": "Greenwich Mean Time", "ADT": "Atlantic-zomertijd", "BT": "Bhutaanse tijd", "WEZ": "West-Europese standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "WARST": "West-Argentijnse zomertijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "HKST": "Hongkongse zomertijd", "ECT": "Ecuadoraanse tijd", "CST": "Central-standaardtijd", "VET": "Venezolaanse tijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_CW) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_CW) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_CW) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_CW) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_CW) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_CW) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_CW) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_CW) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_CW) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_CW) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_CW) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_NL/nl_NL.go b/nl_NL/nl_NL.go index 012e3d242..afd954630 100644 --- a/nl_NL/nl_NL.go +++ b/nl_NL/nl_NL.go @@ -18,12 +18,12 @@ type nl_NL struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"HADT": "Hawaii-Aleoetische zomertijd", "AEST": "Oost-Australische standaardtijd", "ADT": "Atlantic-zomertijd", "HNT": "Newfoundland-standaardtijd", "CDT": "Central-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "CHAST": "Chatham-standaardtijd", "CHADT": "Chatham-zomertijd", "ACDT": "Midden-Australische zomertijd", "MYT": "Maleisische tijd", "AEDT": "Oost-Australische zomertijd", "EST": "Eastern-standaardtijd", "NZST": "Nieuw-Zeelandse standaardtijd", "CLST": "Chileense zomertijd", "WIT": "Oost-Indonesische tijd", "MEZ": "Midden-Europese standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "GYT": "Guyaanse tijd", "CAT": "Centraal-Afrikaanse tijd", "EAT": "Oost-Afrikaanse tijd", "PDT": "Pacific-zomertijd", "TMST": "Turkmeense zomertijd", "MST": "Mountain-standaardtijd", "WEZ": "West-Europese standaardtijd", "ART": "Argentijnse standaardtijd", "WAST": "West-Afrikaanse zomertijd", "AKST": "Alaska-standaardtijd", "AWST": "West-Australische standaardtijd", "CLT": "Chileense standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "MDT": "Mountain-zomertijd", "HAT": "Newfoundland-zomertijd", "JDT": "Japanse zomertijd", "WESZ": "West-Europese zomertijd", "ARST": "Argentijnse zomertijd", "TMT": "Turkmeense standaardtijd", "ChST": "Chamorro-tijd", "UYT": "Uruguayaanse standaardtijd", "ECT": "Ecuadoraanse tijd", "AWDT": "West-Australische zomertijd", "AKDT": "Alaska-zomertijd", "PST": "Pacific-standaardtijd", "VET": "Venezolaanse tijd", "EDT": "Eastern-zomertijd", "BT": "Bhutaanse tijd", "GMT": "Greenwich Mean Time", "OESZ": "Oost-Europese zomertijd", "HKT": "Hongkongse standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "SGT": "Singaporese standaardtijd", "COT": "Colombiaanse standaardtijd", "WIB": "West-Indonesische tijd", "WART": "West-Argentijnse standaardtijd", "AST": "Atlantic-standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "NZDT": "Nieuw-Zeelandse zomertijd", "UYST": "Uruguayaanse zomertijd", "GFT": "Frans-Guyaanse tijd", "SRT": "Surinaamse tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "WARST": "West-Argentijnse zomertijd", "IST": "Indiase tijd", "WITA": "Centraal-Indonesische tijd", "JST": "Japanse standaardtijd", "OEZ": "Oost-Europese standaardtijd", "MESZ": "Midden-Europese zomertijd", "ACST": "Midden-Australische standaardtijd", "COST": "Colombiaanse zomertijd", "WAT": "West-Afrikaanse standaardtijd", "CST": "Central-standaardtijd", "∅∅∅": "Peruaanse zomertijd", "BOT": "Boliviaanse tijd", "HKST": "Hongkongse zomertijd"}, + timezones: map[string]string{"HAST": "Hawaii-Aleoetische standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "HNT": "Newfoundland-standaardtijd", "AWST": "West-Australische standaardtijd", "BOT": "Boliviaanse tijd", "TMST": "Turkmeense zomertijd", "ECT": "Ecuadoraanse tijd", "HECU": "Cubaanse zomertijd", "GFT": "Frans-Guyaanse tijd", "HNOG": "West-Groenlandse standaardtijd", "HKST": "Hongkongse zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "WITA": "Centraal-Indonesische tijd", "WAT": "West-Afrikaanse standaardtijd", "WARST": "West-Argentijnse zomertijd", "EDT": "Eastern-zomertijd", "AWDT": "West-Australische zomertijd", "VET": "Venezolaanse tijd", "CHAST": "Chatham-standaardtijd", "CLT": "Chileense standaardtijd", "WART": "West-Argentijnse standaardtijd", "MDT": "Macause zomertijd", "WIB": "West-Indonesische tijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "AKDT": "Alaska-zomertijd", "HADT": "Hawaii-Aleoetische zomertijd", "IST": "Indiase tijd", "HNEG": "Oost-Groenlandse standaardtijd", "ACST": "Midden-Australische standaardtijd", "WAST": "West-Afrikaanse zomertijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "JDT": "Japanse zomertijd", "HNCU": "Cubaanse standaardtijd", "ART": "Argentijnse standaardtijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "MEZ": "Midden-Europese standaardtijd", "AST": "Atlantic-standaardtijd", "BT": "Bhutaanse tijd", "PST": "Pacific-standaardtijd", "HAT": "Newfoundland-zomertijd", "CST": "Central-standaardtijd", "ARST": "Argentijnse zomertijd", "CHADT": "Chatham-zomertijd", "JST": "Japanse standaardtijd", "OESZ": "Oost-Europese zomertijd", "MST": "Macause standaardtijd", "UYT": "Uruguayaanse standaardtijd", "TMT": "Turkmeense standaardtijd", "ACDT": "Midden-Australische zomertijd", "AEST": "Oost-Australische standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "CAT": "Centraal-Afrikaanse tijd", "EST": "Eastern-standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "HEOG": "West-Groenlandse zomertijd", "AKST": "Alaska-standaardtijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "MESZ": "Midden-Europese zomertijd", "CLST": "Chileense zomertijd", "ChST": "Chamorro-tijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "AEDT": "Oost-Australische zomertijd", "∅∅∅": "Amazone-zomertijd", "COT": "Colombiaanse standaardtijd", "SGT": "Singaporese standaardtijd", "GYT": "Guyaanse tijd", "ADT": "Atlantic-zomertijd", "PDT": "Pacific-zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "HEEG": "Oost-Groenlandse zomertijd", "MYT": "Maleisische tijd", "UYST": "Uruguayaanse zomertijd", "CDT": "Central-zomertijd", "WEZ": "West-Europese standaardtijd", "WESZ": "West-Europese zomertijd", "SAST": "Zuid-Afrikaanse tijd", "EAT": "Oost-Afrikaanse tijd", "OEZ": "Oost-Europese standaardtijd", "GMT": "Greenwich Mean Time", "WIT": "Oost-Indonesische tijd", "COST": "Colombiaanse zomertijd", "SRT": "Surinaamse tijd", "HKT": "Hongkongse standaardtijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_NL) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_NL) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_NL) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_NL) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_NL) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_NL) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_NL) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_NL) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_NL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_NL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_NL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_SR/nl_SR.go b/nl_SR/nl_SR.go index 64c5ea118..3ca7382de 100644 --- a/nl_SR/nl_SR.go +++ b/nl_SR/nl_SR.go @@ -18,12 +18,12 @@ type nl_SR struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "$", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "$", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"BT": "Bhutaanse tijd", "HKT": "Hongkongse standaardtijd", "CHADT": "Chatham-zomertijd", "COT": "Colombiaanse standaardtijd", "IST": "Indiase tijd", "MYT": "Maleisische tijd", "JST": "Japanse standaardtijd", "∅∅∅": "Braziliaanse zomertijd", "HAST": "Hawaii-Aleoetische standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "SAST": "Zuid-Afrikaanse tijd", "TMT": "Turkmeense standaardtijd", "GYT": "Guyaanse tijd", "AWST": "West-Australische standaardtijd", "WESZ": "West-Europese zomertijd", "ART": "Argentijnse standaardtijd", "ARST": "Argentijnse zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "UYT": "Uruguayaanse standaardtijd", "WAST": "West-Afrikaanse zomertijd", "EST": "Eastern-standaardtijd", "PST": "Pacific-standaardtijd", "CDT": "Central-zomertijd", "CLST": "Chileense zomertijd", "OEZ": "Oost-Europese standaardtijd", "OESZ": "Oost-Europese zomertijd", "AEDT": "Oost-Australische zomertijd", "EDT": "Eastern-zomertijd", "ChST": "Chamorro-tijd", "MESZ": "Midden-Europese zomertijd", "AKST": "Alaska-standaardtijd", "AKDT": "Alaska-zomertijd", "WITA": "Centraal-Indonesische tijd", "HNT": "Newfoundland-standaardtijd", "WIT": "Oost-Indonesische tijd", "JDT": "Japanse zomertijd", "SRT": "Surinaamse tijd", "AEST": "Oost-Australische standaardtijd", "AST": "Atlantic-standaardtijd", "PDT": "Pacific-zomertijd", "TMST": "Turkmeense zomertijd", "HAT": "Newfoundland-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "CAT": "Centraal-Afrikaanse tijd", "GMT": "Greenwich Mean Time", "GFT": "Frans-Guyaanse tijd", "ACDT": "Midden-Australische zomertijd", "WIB": "West-Indonesische tijd", "ADT": "Atlantic-zomertijd", "MST": "Mountain-standaardtijd", "AWDT": "West-Australische zomertijd", "WEZ": "West-Europese standaardtijd", "ACWDT": "Midden-Australische westelijke zomertijd", "EAT": "Oost-Afrikaanse tijd", "NZDT": "Nieuw-Zeelandse zomertijd", "BOT": "Boliviaanse tijd", "CHAST": "Chatham-standaardtijd", "WART": "West-Argentijnse standaardtijd", "HKST": "Hongkongse zomertijd", "MEZ": "Midden-Europese standaardtijd", "COST": "Colombiaanse zomertijd", "WARST": "West-Argentijnse zomertijd", "UYST": "Uruguayaanse zomertijd", "ACST": "Midden-Australische standaardtijd", "SGT": "Singaporese standaardtijd", "ECT": "Ecuadoraanse tijd", "WAT": "West-Afrikaanse standaardtijd", "CLT": "Chileense standaardtijd", "VET": "Venezolaanse tijd", "HADT": "Hawaii-Aleoetische zomertijd", "MDT": "Mountain-zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "CST": "Central-standaardtijd"}, + timezones: map[string]string{"NZST": "Nieuw-Zeelandse standaardtijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "WIT": "Oost-Indonesische tijd", "ACWST": "Midden-Australische westelijke standaardtijd", "UYST": "Uruguayaanse zomertijd", "WESZ": "West-Europese zomertijd", "MEZ": "Midden-Europese standaardtijd", "IST": "Indiase tijd", "CLST": "Chileense zomertijd", "GMT": "Greenwich Mean Time", "EDT": "Eastern-zomertijd", "GYT": "Guyaanse tijd", "TMST": "Turkmeense zomertijd", "ACWDT": "Midden-Australische westelijke zomertijd", "WEZ": "West-Europese standaardtijd", "HKT": "Hongkongse standaardtijd", "HNEG": "Oost-Groenlandse standaardtijd", "ACST": "Midden-Australische standaardtijd", "COST": "Colombiaanse zomertijd", "MYT": "Maleisische tijd", "UYT": "Uruguayaanse standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "VET": "Venezolaanse tijd", "BT": "Bhutaanse tijd", "ARST": "Argentijnse zomertijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "GFT": "Frans-Guyaanse tijd", "TMT": "Turkmeense standaardtijd", "EAT": "Oost-Afrikaanse tijd", "WIB": "West-Indonesische tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "AEDT": "Oost-Australische zomertijd", "HKST": "Hongkongse zomertijd", "ECT": "Ecuadoraanse tijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "PST": "Pacific-standaardtijd", "OESZ": "Oost-Europese zomertijd", "HADT": "Hawaii-Aleoetische zomertijd", "HEOG": "West-Groenlandse zomertijd", "AWST": "West-Australische standaardtijd", "CHADT": "Chatham-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "∅∅∅": "Azoren-zomertijd", "AKDT": "Alaska-zomertijd", "AST": "Atlantic-standaardtijd", "CHAST": "Chatham-standaardtijd", "ChST": "Chamorro-tijd", "OEZ": "Oost-Europese standaardtijd", "SGT": "Singaporese standaardtijd", "AKST": "Alaska-standaardtijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "HNCU": "Cubaanse standaardtijd", "MST": "Macause standaardtijd", "HEEG": "Oost-Groenlandse zomertijd", "AWDT": "West-Australische zomertijd", "NZDT": "Nieuw-Zeelandse zomertijd", "MESZ": "Midden-Europese zomertijd", "LHDT": "Lord Howe-eilandse zomertijd", "JST": "Japanse standaardtijd", "MDT": "Macause zomertijd", "CDT": "Central-zomertijd", "SRT": "Surinaamse tijd", "JDT": "Japanse zomertijd", "ACDT": "Midden-Australische zomertijd", "CAT": "Centraal-Afrikaanse tijd", "WARST": "West-Argentijnse zomertijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "HNOG": "West-Groenlandse standaardtijd", "WAST": "West-Afrikaanse zomertijd", "HAT": "Newfoundland-zomertijd", "WITA": "Centraal-Indonesische tijd", "SAST": "Zuid-Afrikaanse tijd", "ADT": "Atlantic-zomertijd", "HNT": "Newfoundland-standaardtijd", "ART": "Argentijnse standaardtijd", "AEST": "Oost-Australische standaardtijd", "CLT": "Chileense standaardtijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "EST": "Eastern-standaardtijd", "CST": "Central-standaardtijd", "BOT": "Boliviaanse tijd", "PDT": "Pacific-zomertijd", "WART": "West-Argentijnse standaardtijd", "COT": "Colombiaanse standaardtijd", "HECU": "Cubaanse zomertijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_SR) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_SR) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_SR) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_SR) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_SR) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_SR) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_SR) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_SR) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_SR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_SR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_SR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nl_SX/nl_SX.go b/nl_SX/nl_SX.go index 0fe7a1048..0b06797fe 100644 --- a/nl_SX/nl_SX.go +++ b/nl_SX/nl_SX.go @@ -18,12 +18,12 @@ type nl_SX struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -56,10 +56,10 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: "( ", - currencyNegativeSuffix: ")", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "NAf.", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "jan.", "feb.", "mrt.", "apr.", "mei", "jun.", "jul.", "aug.", "sep.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v.Chr.", "n.Chr."}, erasNarrow: []string{"v.C.", "n.C."}, erasWide: []string{"voor Christus", "na Christus"}, - timezones: map[string]string{"WEZ": "West-Europese standaardtijd", "VET": "Venezolaanse tijd", "WIT": "Oost-Indonesische tijd", "CAT": "Centraal-Afrikaanse tijd", "BT": "Bhutaanse tijd", "JST": "Japanse standaardtijd", "OESZ": "Oost-Europese zomertijd", "ACWST": "Midden-Australische westelijke standaardtijd", "IST": "Indiase tijd", "ACST": "Midden-Australische standaardtijd", "ART": "Argentijnse standaardtijd", "ChST": "Chamorro-tijd", "WAST": "West-Afrikaanse zomertijd", "CST": "Central-standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "MESZ": "Midden-Europese zomertijd", "SGT": "Singaporese standaardtijd", "COT": "Colombiaanse standaardtijd", "PST": "Pacific-standaardtijd", "OEZ": "Oost-Europese standaardtijd", "ECT": "Ecuadoraanse tijd", "UYT": "Uruguayaanse standaardtijd", "JDT": "Japanse zomertijd", "COST": "Colombiaanse zomertijd", "AST": "Atlantic-standaardtijd", "MDT": "Mountain-zomertijd", "AWDT": "West-Australische zomertijd", "BOT": "Boliviaanse tijd", "TMT": "Turkmeense standaardtijd", "UYST": "Uruguayaanse zomertijd", "WARST": "West-Argentijnse zomertijd", "EST": "Eastern-standaardtijd", "ADT": "Atlantic-zomertijd", "AKDT": "Alaska-zomertijd", "LHST": "Lord Howe-eilandse standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "ACWDT": "Midden-Australische westelijke zomertijd", "PDT": "Pacific-zomertijd", "SAST": "Zuid-Afrikaanse tijd", "CLST": "Chileense zomertijd", "AEST": "Oost-Australische standaardtijd", "CDT": "Central-zomertijd", "EDT": "Eastern-zomertijd", "GMT": "Greenwich Mean Time", "HKST": "Hongkongse zomertijd", "CHAST": "Chatham-standaardtijd", "CHADT": "Chatham-zomertijd", "WIB": "West-Indonesische tijd", "MST": "Mountain-standaardtijd", "NZDT": "Nieuw-Zeelandse zomertijd", "HNT": "Newfoundland-standaardtijd", "CLT": "Chileense standaardtijd", "AEDT": "Oost-Australische zomertijd", "WAT": "West-Afrikaanse standaardtijd", "WITA": "Centraal-Indonesische tijd", "WESZ": "West-Europese zomertijd", "GYT": "Guyaanse tijd", "NZST": "Nieuw-Zeelandse standaardtijd", "HAST": "Hawaii-Aleoetische standaardtijd", "TMST": "Turkmeense zomertijd", "HAT": "Newfoundland-zomertijd", "∅∅∅": "Amazone-zomertijd", "HKT": "Hongkongse standaardtijd", "MEZ": "Midden-Europese standaardtijd", "ACDT": "Midden-Australische zomertijd", "AWST": "West-Australische standaardtijd", "GFT": "Frans-Guyaanse tijd", "WART": "West-Argentijnse standaardtijd", "EAT": "Oost-Afrikaanse tijd", "MYT": "Maleisische tijd", "SRT": "Surinaamse tijd", "ARST": "Argentijnse zomertijd", "AKST": "Alaska-standaardtijd"}, + timezones: map[string]string{"MYT": "Maleisische tijd", "UYT": "Uruguayaanse standaardtijd", "AEDT": "Oost-Australische zomertijd", "HNNOMX": "Noordwest-Mexicaanse standaardtijd", "HNCU": "Cubaanse standaardtijd", "CDT": "Central-zomertijd", "UYST": "Uruguayaanse zomertijd", "NZST": "Nieuw-Zeelandse standaardtijd", "TMST": "Turkmeense zomertijd", "EAT": "Oost-Afrikaanse tijd", "MDT": "Macause zomertijd", "ACWDT": "Midden-Australische westelijke zomertijd", "HAT": "Newfoundland-zomertijd", "HNOG": "West-Groenlandse standaardtijd", "AEST": "Oost-Australische standaardtijd", "HNEG": "Oost-Groenlandse standaardtijd", "OEZ": "Oost-Europese standaardtijd", "TMT": "Turkmeense standaardtijd", "WAT": "West-Afrikaanse standaardtijd", "SGT": "Singaporese standaardtijd", "BT": "Bhutaanse tijd", "AWDT": "West-Australische zomertijd", "HNPM": "Saint Pierre en Miquelon-standaardtijd", "JDT": "Japanse zomertijd", "BOT": "Boliviaanse tijd", "WARST": "West-Argentijnse zomertijd", "HENOMX": "Noordwest-Mexicaanse zomertijd", "HECU": "Cubaanse zomertijd", "SRT": "Surinaamse tijd", "PDT": "Pacific-zomertijd", "HEOG": "West-Groenlandse zomertijd", "WART": "West-Argentijnse standaardtijd", "WIB": "West-Indonesische tijd", "WEZ": "West-Europese standaardtijd", "LHST": "Lord Howe-eilandse standaardtijd", "LHDT": "Lord Howe-eilandse zomertijd", "JST": "Japanse standaardtijd", "HEPMX": "Mexicaanse Pacific-zomertijd", "CST": "Central-standaardtijd", "HADT": "Hawaii-Aleoetische zomertijd", "WITA": "Centraal-Indonesische tijd", "CHADT": "Chatham-zomertijd", "VET": "Venezolaanse tijd", "WIT": "Oost-Indonesische tijd", "CHAST": "Chatham-standaardtijd", "ACDT": "Midden-Australische zomertijd", "∅∅∅": "Azoren-zomertijd", "EST": "Eastern-standaardtijd", "HKST": "Hongkongse zomertijd", "CAT": "Centraal-Afrikaanse tijd", "WAST": "West-Afrikaanse zomertijd", "COT": "Colombiaanse standaardtijd", "AKDT": "Alaska-zomertijd", "HKT": "Hongkongse standaardtijd", "ACST": "Midden-Australische standaardtijd", "ADT": "Atlantic-zomertijd", "WESZ": "West-Europese zomertijd", "HEPM": "Saint Pierre en Miquelon-zomertijd", "IST": "Indiase tijd", "OESZ": "Oost-Europese zomertijd", "ECT": "Ecuadoraanse tijd", "AKST": "Alaska-standaardtijd", "HNT": "Newfoundland-standaardtijd", "ART": "Argentijnse standaardtijd", "ARST": "Argentijnse zomertijd", "NZDT": "Nieuw-Zeelandse zomertijd", "SAST": "Zuid-Afrikaanse tijd", "ChST": "Chamorro-tijd", "HAST": "Hawaii-Aleoetische standaardtijd", "PST": "Pacific-standaardtijd", "ACWST": "Midden-Australische westelijke standaardtijd", "MESZ": "Midden-Europese zomertijd", "GFT": "Frans-Guyaanse tijd", "GMT": "Greenwich Mean Time", "EDT": "Eastern-zomertijd", "HNPMX": "Mexicaanse Pacific-standaardtijd", "GYT": "Guyaanse tijd", "AWST": "West-Australische standaardtijd", "CLT": "Chileense standaardtijd", "CLST": "Chileense zomertijd", "COST": "Colombiaanse zomertijd", "MST": "Macause standaardtijd", "AST": "Atlantic-standaardtijd", "MEZ": "Midden-Europese standaardtijd", "HEEG": "Oost-Groenlandse zomertijd"}, } } @@ -246,7 +246,7 @@ func (nl *nl_SX) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (nl *nl_SX) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -268,6 +268,8 @@ func (nl *nl_SX) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, nl.percentSuffix...) + b = append(b, nl.percent...) return string(b) @@ -303,14 +305,6 @@ func (nl *nl_SX) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, nl.minus[0]) } @@ -331,6 +325,10 @@ func (nl *nl_SX) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } + b = append(b, nl.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -340,7 +338,7 @@ func (nl *nl_SX) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := nl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -367,23 +365,7 @@ func (nl *nl_SX) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyNegativePrefix[j]) - } - - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(nl.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, nl.currencyPositivePrefix[j]) - } + b = append(b, nl.minus[0]) } @@ -405,6 +387,11 @@ func (nl *nl_SX) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, nl.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, nl.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -448,7 +435,12 @@ func (nl *nl_SX) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -462,7 +454,12 @@ func (nl *nl_SX) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +475,12 @@ func (nl *nl_SX) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nmg/nmg.go b/nmg/nmg.go index 44b54b7d8..6ad3bc8be 100644 --- a/nmg/nmg.go +++ b/nmg/nmg.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ng1", "ng2", "ng3", "ng4", "ng5", "ng6", "ng7", "ng8", "ng9", "ng10", "ng11", "kris"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BL", "PB"}, erasNarrow: []string{"", ""}, erasWide: []string{"Bó Lahlɛ̄", "Pfiɛ Burī"}, - timezones: map[string]string{"COT": "COT", "SGT": "SGT", "WART": "WART", "PST": "PST", "SAST": "SAST", "WIT": "WIT", "CHAST": "CHAST", "AEDT": "AEDT", "WAST": "WAST", "MST": "MST", "NZDT": "NZDT", "OESZ": "OESZ", "AEST": "AEST", "AKST": "AKST", "CAT": "CAT", "SRT": "SRT", "HAST": "HAST", "IST": "IST", "CLT": "CLT", "HKT": "HKT", "UYST": "UYST", "WEZ": "WEZ", "WIB": "WIB", "MEZ": "MEZ", "WAT": "WAT", "NZST": "NZST", "LHDT": "LHDT", "BT": "BT", "GMT": "GMT", "LHST": "LHST", "ACWST": "ACWST", "ADT": "ADT", "TMT": "TMT", "BOT": "BOT", "WITA": "WITA", "∅∅∅": "∅∅∅", "HAT": "HAT", "ACDT": "ACDT", "ACWDT": "ACWDT", "CLST": "CLST", "JDT": "JDT", "ECT": "ECT", "HADT": "HADT", "PDT": "PDT", "JST": "JST", "HKST": "HKST", "AWDT": "AWDT", "CHADT": "CHADT", "VET": "VET", "UYT": "UYT", "OEZ": "OEZ", "ACST": "ACST", "WARST": "WARST", "AKDT": "AKDT", "EST": "EST", "CDT": "CDT", "HNT": "HNT", "WESZ": "WESZ", "ART": "ART", "EAT": "EAT", "TMST": "TMST", "CST": "CST", "COST": "COST", "ARST": "ARST", "GYT": "GYT", "MDT": "MDT", "GFT": "GFT", "AWST": "AWST", "MESZ": "MESZ", "ChST": "ChST", "EDT": "EDT", "AST": "AST", "MYT": "MYT"}, + timezones: map[string]string{"MEZ": "MEZ", "NZDT": "NZDT", "AKDT": "AKDT", "AWST": "AWST", "CHADT": "CHADT", "EAT": "EAT", "HEPMX": "HEPMX", "CDT": "CDT", "MDT": "MDT", "AEST": "AEST", "AEDT": "AEDT", "NZST": "NZST", "CLT": "CLT", "OEZ": "OEZ", "GYT": "GYT", "SRT": "SRT", "WESZ": "WESZ", "LHDT": "LHDT", "WARST": "WARST", "WIB": "WIB", "ARST": "ARST", "HNOG": "HNOG", "HEOG": "HEOG", "HEEG": "HEEG", "CAT": "CAT", "WAST": "WAST", "AST": "AST", "ADT": "ADT", "IST": "IST", "HECU": "HECU", "ACWST": "ACWST", "ACST": "ACST", "WAT": "WAT", "HNCU": "HNCU", "UYT": "UYT", "WIT": "WIT", "WEZ": "WEZ", "WITA": "WITA", "HNPM": "HNPM", "JST": "JST", "GMT": "GMT", "UYST": "UYST", "VET": "VET", "HKST": "HKST", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "COST": "COST", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "MESZ": "MESZ", "LHST": "LHST", "PST": "PST", "HNT": "HNT", "HAT": "HAT", "COT": "COT", "AKST": "AKST", "HADT": "HADT", "JDT": "JDT", "ECT": "ECT", "ART": "ART", "HEPM": "HEPM", "SAST": "SAST", "CLST": "CLST", "ACDT": "ACDT", "EDT": "EDT", "WART": "WART", "MYT": "MYT", "HAST": "HAST", "BT": "BT", "AWDT": "AWDT", "ChST": "ChST", "GFT": "GFT", "TMST": "TMST", "HNNOMX": "HNNOMX", "SGT": "SGT", "EST": "EST", "MST": "MST", "ACWDT": "ACWDT", "CST": "CST", "PDT": "PDT", "HKT": "HKT", "CHAST": "CHAST", "BOT": "BOT", "HNEG": "HNEG", "TMT": "TMT"}, } } @@ -382,7 +382,12 @@ func (nmg *nmg) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -396,7 +401,12 @@ func (nmg *nmg) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -410,7 +420,12 @@ func (nmg *nmg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +441,12 @@ func (nmg *nmg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nmg_CM/nmg_CM.go b/nmg_CM/nmg_CM.go index 8d5f8aace..ecb7d995f 100644 --- a/nmg_CM/nmg_CM.go +++ b/nmg_CM/nmg_CM.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "ng1", "ng2", "ng3", "ng4", "ng5", "ng6", "ng7", "ng8", "ng9", "ng10", "ng11", "kris"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BL", "PB"}, erasNarrow: []string{"", ""}, erasWide: []string{"Bó Lahlɛ̄", "Pfiɛ Burī"}, - timezones: map[string]string{"PDT": "PDT", "ChST": "ChST", "AWDT": "AWDT", "SRT": "SRT", "WEZ": "WEZ", "JST": "JST", "VET": "VET", "WART": "WART", "WARST": "WARST", "SAST": "SAST", "BT": "BT", "CST": "CST", "HNT": "HNT", "UYST": "UYST", "MEZ": "MEZ", "ACDT": "ACDT", "AKST": "AKST", "EST": "EST", "WITA": "WITA", "GMT": "GMT", "LHDT": "LHDT", "WAST": "WAST", "MYT": "MYT", "NZST": "NZST", "CLT": "CLT", "CLST": "CLST", "HADT": "HADT", "ECT": "ECT", "MESZ": "MESZ", "SGT": "SGT", "UYT": "UYT", "AKDT": "AKDT", "HKST": "HKST", "COT": "COT", "AWST": "AWST", "CHAST": "CHAST", "COST": "COST", "AEST": "AEST", "CHADT": "CHADT", "WIB": "WIB", "BOT": "BOT", "CAT": "CAT", "OEZ": "OEZ", "WESZ": "WESZ", "TMT": "TMT", "CDT": "CDT", "MST": "MST", "ART": "ART", "IST": "IST", "AST": "AST", "ADT": "ADT", "WAT": "WAT", "MDT": "MDT", "WIT": "WIT", "LHST": "LHST", "GFT": "GFT", "HKT": "HKT", "ARST": "ARST", "AEDT": "AEDT", "PST": "PST", "HAT": "HAT", "HAST": "HAST", "ACWDT": "ACWDT", "ACST": "ACST", "EDT": "EDT", "TMST": "TMST", "NZDT": "NZDT", "OESZ": "OESZ", "ACWST": "ACWST", "EAT": "EAT", "∅∅∅": "∅∅∅", "GYT": "GYT", "JDT": "JDT"}, + timezones: map[string]string{"JST": "JST", "TMST": "TMST", "COT": "COT", "EDT": "EDT", "HNPMX": "HNPMX", "MYT": "MYT", "BT": "BT", "GFT": "GFT", "IST": "IST", "HEOG": "HEOG", "CLST": "CLST", "HEEG": "HEEG", "MDT": "MDT", "HNT": "HNT", "WAST": "WAST", "ECT": "ECT", "GMT": "GMT", "HKST": "HKST", "HAT": "HAT", "ART": "ART", "NZDT": "NZDT", "CHAST": "CHAST", "SAST": "SAST", "SGT": "SGT", "CDT": "CDT", "ACWST": "ACWST", "UYT": "UYT", "HENOMX": "HENOMX", "ChST": "ChST", "∅∅∅": "∅∅∅", "TMT": "TMT", "ACST": "ACST", "WIT": "WIT", "OESZ": "OESZ", "HNCU": "HNCU", "ADT": "ADT", "ACWDT": "ACWDT", "WITA": "WITA", "ACDT": "ACDT", "UYST": "UYST", "WIB": "WIB", "AEDT": "AEDT", "PST": "PST", "MEZ": "MEZ", "HNEG": "HNEG", "WAT": "WAT", "HNNOMX": "HNNOMX", "EST": "EST", "HADT": "HADT", "AWST": "AWST", "HKT": "HKT", "WART": "WART", "CST": "CST", "WESZ": "WESZ", "MESZ": "MESZ", "CLT": "CLT", "BOT": "BOT", "WARST": "WARST", "MST": "MST", "AKST": "AKST", "AST": "AST", "ARST": "ARST", "GYT": "GYT", "HNPM": "HNPM", "EAT": "EAT", "COST": "COST", "SRT": "SRT", "VET": "VET", "AEST": "AEST", "HEPM": "HEPM", "NZST": "NZST", "JDT": "JDT", "AKDT": "AKDT", "HAST": "HAST", "AWDT": "AWDT", "LHST": "LHST", "LHDT": "LHDT", "CHADT": "CHADT", "CAT": "CAT", "OEZ": "OEZ", "HNOG": "HNOG", "WEZ": "WEZ", "HECU": "HECU", "HEPMX": "HEPMX", "PDT": "PDT"}, } } @@ -382,7 +382,12 @@ func (nmg *nmg_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -396,7 +401,12 @@ func (nmg *nmg_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -410,7 +420,12 @@ func (nmg *nmg_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -426,7 +441,12 @@ func (nmg *nmg_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nmg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nn/nn.go b/nn/nn.go index 2cb330eb3..247e70ece 100644 --- a/nn/nn.go +++ b/nn/nn.go @@ -54,9 +54,9 @@ func New() locales.Translator { minus: "−", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,6 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"}, daysAbbreviated: []string{"sø.", "må.", "ty.", "on.", "to.", "fr.", "la."}, daysNarrow: []string{"S", "M", "T", "O", "T", "F", "L"}, + daysShort: []string{"sø.", "må.", "ty.", "on.", "to.", "fr.", "la."}, daysWide: []string{"søndag", "måndag", "tysdag", "onsdag", "torsdag", "fredag", "laurdag"}, periodsAbbreviated: []string{"f.m.", "e.m."}, periodsNarrow: []string{"f.m.", "e.m."}, @@ -72,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"f.Kr.", "e.Kr."}, - timezones: map[string]string{"AKDT": "AKDT", "PDT": "PDT", "NZDT": "NZDT", "AST": "AST", "WARST": "WARST", "NZST": "NZST", "BOT": "BOT", "CHAST": "CHAST", "HAST": "HAST", "AEST": "austaustralsk standardtid", "EAT": "austafrikansk tid", "LHDT": "LHDT", "MESZ": "sentraleuropeisk sommartid", "SGT": "SGT", "EST": "EST", "HAT": "HAT", "HKT": "HKT", "COST": "COST", "ACWST": "vest-sentralaustralsk standardtid", "GYT": "GYT", "SRT": "SRT", "GFT": "GFT", "ACST": "sentralaustralsk standardtid", "HADT": "HADT", "ART": "ART", "WAT": "vestafrikansk standardtid", "ChST": "ChST", "CLST": "CLST", "JDT": "JDT", "WESZ": "vesteuropeisk sommartid", "WIB": "WIB", "JST": "JST", "AWST": "vestaustralsk standardtid", "HNT": "HNT", "MDT": "MDT", "∅∅∅": "∅∅∅", "WEZ": "vesteuropeisk standardtid", "VET": "VET", "AKST": "AKST", "CDT": "CDT", "CAT": "sentralafrikansk tid", "UYT": "UYT", "OESZ": "austeuropeisk sommartid", "MYT": "MYT", "AWDT": "vestaustralsk sommartid", "GMT": "greenwich middeltid", "ARST": "ARST", "TMST": "TMST", "AEDT": "austaustralsk sommartid", "WITA": "WITA", "MST": "MST", "OEZ": "austeuropeisk standardtid", "WART": "WART", "TMT": "TMT", "CHADT": "CHADT", "COT": "COT", "ECT": "ECT", "ADT": "ADT", "WAST": "vestafrikansk sommartid", "IST": "IST", "PST": "PST", "CLT": "CLT", "HKST": "HKST", "ACDT": "sentralaustralsk sommartid", "ACWDT": "vest-sentralaustralsk sommartid", "SAST": "sørafrikansk tid", "MEZ": "sentraleuropeisk standardtid", "UYST": "UYST", "EDT": "EDT", "CST": "CST", "BT": "BT", "WIT": "WIT", "LHST": "LHST"}, + timezones: map[string]string{"ACDT": "sentralaustralsk sommartid", "CST": "CST", "WIB": "WIB", "HAST": "HAST", "BOT": "BOT", "ChST": "ChST", "HKST": "HKST", "AEST": "austaustralsk standardtid", "HEEG": "HEEG", "WAT": "vestafrikansk standardtid", "CAT": "sentralafrikansk tid", "SGT": "SGT", "AKDT": "AKDT", "UYT": "UYT", "COT": "COT", "MST": "MST", "WITA": "WITA", "LHDT": "LHDT", "HNT": "HNT", "HNEG": "HNEG", "HEPM": "HEPM", "JDT": "JDT", "GYT": "GYT", "WIT": "WIT", "ACWST": "vest-sentralaustralsk standardtid", "ACWDT": "vest-sentralaustralsk sommartid", "HAT": "HAT", "ACST": "sentralaustralsk standardtid", "HEPMX": "HEPMX", "AST": "AST", "BT": "BT", "NZST": "NZST", "MEZ": "sentraleuropeisk standardtid", "WART": "WART", "WEZ": "vesteuropeisk standardtid", "PDT": "PDT", "LHST": "LHST", "NZDT": "NZDT", "JST": "JST", "TMT": "TMT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "ARST": "ARST", "AWDT": "vestaustralsk sommartid", "AEDT": "austaustralsk sommartid", "COST": "COST", "WARST": "WARST", "EST": "EST", "SRT": "SRT", "WESZ": "vesteuropeisk sommartid", "CDT": "CDT", "ART": "ART", "HNPM": "HNPM", "TMST": "TMST", "EAT": "austafrikansk tid", "WAST": "vestafrikansk sommartid", "∅∅∅": "∅∅∅", "GMT": "greenwich middeltid", "HKT": "HKT", "MDT": "MDT", "SAST": "sørafrikansk tid", "CLST": "CLST", "GFT": "GFT", "OEZ": "austeuropeisk standardtid", "HEOG": "HEOG", "CHADT": "CHADT", "MESZ": "sentraleuropeisk sommartid", "UYST": "UYST", "VET": "VET", "CHAST": "CHAST", "ECT": "ECT", "HNCU": "HNCU", "AKST": "AKST", "ADT": "ADT", "MYT": "MYT", "IST": "IST", "CLT": "CLT", "PST": "PST", "AWST": "vestaustralsk standardtid", "OESZ": "austeuropeisk sommartid", "HECU": "HECU", "EDT": "EDT", "HADT": "HADT", "HNOG": "HNOG"}, } } @@ -417,7 +418,12 @@ func (nn *nn) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +437,12 @@ func (nn *nn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +456,12 @@ func (nn *nn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +477,12 @@ func (nn *nn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +497,7 @@ func (nn *nn) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -497,14 +518,14 @@ func (nn *nn) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -525,14 +546,14 @@ func (nn *nn) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +581,14 @@ func (nn *nn) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/nn_NO/nn_NO.go b/nn_NO/nn_NO.go index b0f440f6f..825ec9031 100644 --- a/nn_NO/nn_NO.go +++ b/nn_NO/nn_NO.go @@ -54,9 +54,9 @@ func New() locales.Translator { minus: "−", percent: "%", perMille: "‰", - timeSeparator: ".", + timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,6 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"}, daysAbbreviated: []string{"sø.", "må.", "ty.", "on.", "to.", "fr.", "la."}, daysNarrow: []string{"S", "M", "T", "O", "T", "F", "L"}, + daysShort: []string{"sø.", "må.", "ty.", "on.", "to.", "fr.", "la."}, daysWide: []string{"søndag", "måndag", "tysdag", "onsdag", "torsdag", "fredag", "laurdag"}, periodsAbbreviated: []string{"f.m.", "e.m."}, periodsNarrow: []string{"f.m.", "e.m."}, @@ -72,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"f.Kr.", "e.Kr."}, - timezones: map[string]string{"WAT": "vestafrikansk standardtid", "MESZ": "sentraleuropeisk sommartid", "VET": "VET", "HADT": "HADT", "ACWDT": "vest-sentralaustralsk sommartid", "LHDT": "LHDT", "GFT": "GFT", "COT": "COT", "TMT": "TMT", "BT": "BT", "HNT": "HNT", "GMT": "greenwich middeltid", "UYT": "UYT", "MEZ": "sentraleuropeisk standardtid", "WARST": "WARST", "SAST": "sørafrikansk tid", "HKST": "HKST", "ACDT": "sentralaustralsk sommartid", "AEDT": "austaustralsk sommartid", "WART": "WART", "PDT": "PDT", "CST": "CST", "CDT": "CDT", "WIB": "WIB", "EST": "EST", "HAT": "HAT", "ACWST": "vest-sentralaustralsk standardtid", "AST": "AST", "EAT": "austafrikansk tid", "ChST": "ChST", "LHST": "LHST", "OEZ": "austeuropeisk standardtid", "GYT": "GYT", "MYT": "MYT", "CAT": "sentralafrikansk tid", "HKT": "HKT", "PST": "PST", "IST": "IST", "JST": "JST", "SGT": "SGT", "COST": "COST", "ADT": "ADT", "TMST": "TMST", "UYST": "UYST", "HAST": "HAST", "ART": "ART", "WITA": "WITA", "AWDT": "vestaustralsk sommartid", "WESZ": "vesteuropeisk sommartid", "ACST": "sentralaustralsk standardtid", "AWST": "vestaustralsk standardtid", "WEZ": "vesteuropeisk standardtid", "CHADT": "CHADT", "AEST": "austaustralsk standardtid", "WAST": "vestafrikansk sommartid", "MDT": "MDT", "ECT": "ECT", "ARST": "ARST", "AKDT": "AKDT", "NZDT": "NZDT", "JDT": "JDT", "SRT": "SRT", "OESZ": "austeuropeisk sommartid", "CHAST": "CHAST", "CLT": "CLT", "CLST": "CLST", "AKST": "AKST", "EDT": "EDT", "MST": "MST", "∅∅∅": "∅∅∅", "NZST": "NZST", "BOT": "BOT", "WIT": "WIT"}, + timezones: map[string]string{"EDT": "EDT", "MST": "MST", "HEOG": "HEOG", "IST": "IST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "OESZ": "austeuropeisk sommartid", "CDT": "CDT", "HAST": "HAST", "ART": "ART", "HEPM": "HEPM", "LHDT": "LHDT", "HNNOMX": "HNNOMX", "WIB": "WIB", "BT": "BT", "HAT": "HAT", "HKT": "HKT", "MEZ": "sentraleuropeisk standardtid", "ACDT": "sentralaustralsk sommartid", "AWST": "vestaustralsk standardtid", "CHADT": "CHADT", "MESZ": "sentraleuropeisk sommartid", "WART": "WART", "COT": "COT", "HADT": "HADT", "VET": "VET", "PDT": "PDT", "GMT": "greenwich middeltid", "ACWDT": "vest-sentralaustralsk sommartid", "COST": "COST", "AKST": "AKST", "MYT": "MYT", "UYST": "UYST", "PST": "PST", "JDT": "JDT", "CLST": "CLST", "WAT": "vestafrikansk standardtid", "WARST": "WARST", "HNCU": "HNCU", "AKDT": "AKDT", "AEST": "austaustralsk standardtid", "TMT": "TMT", "TMST": "TMST", "UYT": "UYT", "WITA": "WITA", "LHST": "LHST", "WAST": "vestafrikansk sommartid", "HEEG": "HEEG", "OEZ": "austeuropeisk standardtid", "AST": "AST", "ARST": "ARST", "HKST": "HKST", "SAST": "sørafrikansk tid", "CHAST": "CHAST", "HEPMX": "HEPMX", "WIT": "WIT", "WEZ": "vesteuropeisk standardtid", "NZST": "NZST", "ACST": "sentralaustralsk standardtid", "HENOMX": "HENOMX", "EST": "EST", "SRT": "SRT", "CLT": "CLT", "GFT": "GFT", "NZDT": "NZDT", "JST": "JST", "CAT": "sentralafrikansk tid", "GYT": "GYT", "MDT": "MDT", "AEDT": "austaustralsk sommartid", "AWDT": "vestaustralsk sommartid", "ACWST": "vest-sentralaustralsk standardtid", "HNPM": "HNPM", "HNPMX": "HNPMX", "SGT": "SGT", "CST": "CST", "ECT": "ECT", "EAT": "austafrikansk tid", "HECU": "HECU", "ChST": "ChST", "BOT": "BOT", "ADT": "ADT", "HNT": "HNT", "HNOG": "HNOG", "WESZ": "vesteuropeisk sommartid"}, } } @@ -417,7 +418,12 @@ func (nn *nn_NO) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +437,12 @@ func (nn *nn_NO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +456,12 @@ func (nn *nn_NO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +477,12 @@ func (nn *nn_NO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, nn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +497,7 @@ func (nn *nn_NO) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -497,14 +518,14 @@ func (nn *nn_NO) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -525,14 +546,14 @@ func (nn *nn_NO) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +581,14 @@ func (nn *nn_NO) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, nn.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/nnh/nnh.go b/nnh/nnh.go index 08a9b46e1..3b62fed38 100644 --- a/nnh/nnh.go +++ b/nnh/nnh.go @@ -52,7 +52,7 @@ func New() locales.Translator { group: ".", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "saŋ tsetsɛ̀ɛ lùm", "saŋ kàg ngwóŋ", "saŋ lepyè shúm", "saŋ cÿó", "saŋ tsɛ̀ɛ cÿó", "saŋ njÿoláʼ", "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ", "saŋ mbʉ̀ŋ", "saŋ ngwɔ̀ʼ mbÿɛ", "saŋ tàŋa tsetsáʼ", "saŋ mejwoŋó", "saŋ lùm"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"m.z.Y.", "m.g.n.Y."}, erasNarrow: []string{"", ""}, erasWide: []string{"mé zyé Yěsô", "mé gÿo ńzyé Yěsô"}, - timezones: map[string]string{"ChST": "ChST", "MST": "MST", "BT": "BT", "CLT": "CLT", "ADT": "ADT", "COST": "COST", "AKST": "AKST", "WITA": "WITA", "HKST": "HKST", "SGT": "SGT", "IST": "IST", "NZST": "NZST", "GFT": "GFT", "SRT": "SRT", "HADT": "HADT", "HAST": "HAST", "AEDT": "AEDT", "TMST": "TMST", "MDT": "MDT", "GMT": "GMT", "LHST": "LHST", "ACDT": "ACDT", "TMT": "TMT", "PST": "PST", "EDT": "EDT", "BOT": "BOT", "LHDT": "LHDT", "WESZ": "WESZ", "HKT": "HKT", "MESZ": "MESZ", "ACWDT": "ACWDT", "ARST": "ARST", "WAT": "WAT", "OEZ": "OEZ", "ACST": "ACST", "WAST": "WAST", "NZDT": "NZDT", "AWDT": "AWDT", "WIT": "WIT", "UYT": "UYT", "VET": "VET", "WIB": "WIB", "CDT": "CDT", "CAT": "CAT", "AWST": "AWST", "MEZ": "MEZ", "EAT": "EAT", "CLST": "CLST", "JST": "JST", "WEZ": "WEZ", "WART": "WART", "AKDT": "AKDT", "EST": "EST", "PDT": "PDT", "CST": "CST", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "COT": "COT", "MYT": "MYT", "HNT": "HNT", "CHADT": "CHADT", "ART": "ART", "AEST": "AEST", "AST": "AST", "GYT": "GYT", "HAT": "HAT", "JDT": "JDT", "CHAST": "CHAST", "ACWST": "ACWST", "SAST": "SAST", "ECT": "ECT", "UYST": "UYST", "WARST": "WARST"}, + timezones: map[string]string{"WIB": "WIB", "HADT": "HADT", "HKST": "HKST", "OEZ": "OEZ", "HENOMX": "HENOMX", "MST": "MST", "UYST": "UYST", "GYT": "GYT", "SRT": "SRT", "ACWST": "ACWST", "PST": "PST", "TMST": "TMST", "COST": "COST", "HNCU": "HNCU", "SGT": "SGT", "AEST": "AEST", "CST": "CST", "BT": "BT", "CDT": "CDT", "UYT": "UYT", "HNPM": "HNPM", "HEEG": "HEEG", "ChST": "ChST", "CAT": "CAT", "JST": "JST", "ACWDT": "ACWDT", "LHDT": "LHDT", "HECU": "HECU", "EDT": "EDT", "HAT": "HAT", "HAST": "HAST", "VET": "VET", "HNT": "HNT", "HNOG": "HNOG", "CHAST": "CHAST", "IST": "IST", "CLT": "CLT", "WIT": "WIT", "HKT": "HKT", "CLST": "CLST", "EAT": "EAT", "AEDT": "AEDT", "NZDT": "NZDT", "LHST": "LHST", "SAST": "SAST", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "AWST": "AWST", "JDT": "JDT", "TMT": "TMT", "ACST": "ACST", "ART": "ART", "BOT": "BOT", "GMT": "GMT", "HEOG": "HEOG", "WEZ": "WEZ", "WAT": "WAT", "COT": "COT", "EST": "EST", "MDT": "MDT", "ADT": "ADT", "CHADT": "CHADT", "MEZ": "MEZ", "HNEG": "HNEG", "GFT": "GFT", "AKST": "AKST", "MYT": "MYT", "WITA": "WITA", "ACDT": "ACDT", "ECT": "ECT", "WARST": "WARST", "HNPMX": "HNPMX", "PDT": "PDT", "AWDT": "AWDT", "WAST": "WAST", "HEPMX": "HEPMX", "AKDT": "AKDT", "ARST": "ARST", "HEPM": "HEPM", "NZST": "NZST", "OESZ": "OESZ", "AST": "AST", "MESZ": "MESZ", "HNNOMX": "HNNOMX", "WART": "WART"}, } } @@ -401,7 +401,12 @@ func (nnh *nnh) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -418,7 +423,12 @@ func (nnh *nnh) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +446,12 @@ func (nnh *nnh) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nnh_CM/nnh_CM.go b/nnh_CM/nnh_CM.go index c82e26105..59e73c366 100644 --- a/nnh_CM/nnh_CM.go +++ b/nnh_CM/nnh_CM.go @@ -52,7 +52,7 @@ func New() locales.Translator { group: ".", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "saŋ tsetsɛ̀ɛ lùm", "saŋ kàg ngwóŋ", "saŋ lepyè shúm", "saŋ cÿó", "saŋ tsɛ̀ɛ cÿó", "saŋ njÿoláʼ", "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ", "saŋ mbʉ̀ŋ", "saŋ ngwɔ̀ʼ mbÿɛ", "saŋ tàŋa tsetsáʼ", "saŋ mejwoŋó", "saŋ lùm"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"m.z.Y.", "m.g.n.Y."}, erasNarrow: []string{"", ""}, erasWide: []string{"mé zyé Yěsô", "mé gÿo ńzyé Yěsô"}, - timezones: map[string]string{"HKT": "HKT", "LHDT": "LHDT", "CHAST": "CHAST", "ACWDT": "ACWDT", "ADT": "ADT", "MDT": "MDT", "NZST": "NZST", "COST": "COST", "EST": "EST", "GFT": "GFT", "OESZ": "OESZ", "AKST": "AKST", "AKDT": "AKDT", "JST": "JST", "AEST": "AEST", "CAT": "CAT", "UYT": "UYT", "ART": "ART", "MST": "MST", "CDT": "CDT", "OEZ": "OEZ", "ARST": "ARST", "ChST": "ChST", "CLST": "CLST", "SRT": "SRT", "ACST": "ACST", "WART": "WART", "WIT": "WIT", "LHST": "LHST", "HAST": "HAST", "WAST": "WAST", "EAT": "EAT", "TMST": "TMST", "HAT": "HAT", "WIB": "WIB", "MEZ": "MEZ", "ACDT": "ACDT", "ACWST": "ACWST", "WAT": "WAT", "EDT": "EDT", "GYT": "GYT", "UYST": "UYST", "HKST": "HKST", "MESZ": "MESZ", "AEDT": "AEDT", "PST": "PST", "WITA": "WITA", "AWDT": "AWDT", "JDT": "JDT", "PDT": "PDT", "SAST": "SAST", "SGT": "SGT", "VET": "VET", "AST": "AST", "∅∅∅": "∅∅∅", "GMT": "GMT", "AWST": "AWST", "BT": "BT", "MYT": "MYT", "NZDT": "NZDT", "ECT": "ECT", "WARST": "WARST", "HNT": "HNT", "WEZ": "WEZ", "COT": "COT", "IST": "IST", "BOT": "BOT", "CLT": "CLT", "WESZ": "WESZ", "HADT": "HADT", "TMT": "TMT", "CST": "CST", "CHADT": "CHADT"}, + timezones: map[string]string{"HAT": "HAT", "CHADT": "CHADT", "IST": "IST", "HKST": "HKST", "HNEG": "HNEG", "EAT": "EAT", "SGT": "SGT", "HNPMX": "HNPMX", "UYT": "UYT", "SRT": "SRT", "SAST": "SAST", "HNNOMX": "HNNOMX", "HEOG": "HEOG", "HKT": "HKT", "WITA": "WITA", "EST": "EST", "AKDT": "AKDT", "WIB": "WIB", "WEZ": "WEZ", "ACWDT": "ACWDT", "CLST": "CLST", "BOT": "BOT", "ACDT": "ACDT", "WARST": "WARST", "HECU": "HECU", "PDT": "PDT", "ACST": "ACST", "OESZ": "OESZ", "COT": "COT", "WART": "WART", "AST": "AST", "HADT": "HADT", "WESZ": "WESZ", "HNT": "HNT", "TMT": "TMT", "MST": "MST", "HEPM": "HEPM", "GFT": "GFT", "TMST": "TMST", "JDT": "JDT", "HEEG": "HEEG", "WAT": "WAT", "EDT": "EDT", "HAST": "HAST", "HNOG": "HNOG", "PST": "PST", "LHDT": "LHDT", "COST": "COST", "HNCU": "HNCU", "CDT": "CDT", "ADT": "ADT", "MESZ": "MESZ", "ECT": "ECT", "ACWST": "ACWST", "AEST": "AEST", "MYT": "MYT", "AWST": "AWST", "HENOMX": "HENOMX", "ChST": "ChST", "MDT": "MDT", "CST": "CST", "BT": "BT", "NZDT": "NZDT", "JST": "JST", "AKST": "AKST", "WIT": "WIT", "NZST": "NZST", "CLT": "CLT", "CAT": "CAT", "UYST": "UYST", "AWDT": "AWDT", "HNPM": "HNPM", "MEZ": "MEZ", "WAST": "WAST", "ART": "ART", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "GMT": "GMT", "LHST": "LHST", "CHAST": "CHAST", "HEPMX": "HEPMX", "GYT": "GYT", "VET": "VET", "ARST": "ARST", "AEDT": "AEDT"}, } } @@ -401,7 +401,12 @@ func (nnh *nnh_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -418,7 +423,12 @@ func (nnh *nnh_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +446,12 @@ func (nnh *nnh_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nnh.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nus/nus.go b/nus/nus.go index c5c322157..33a72afa2 100644 --- a/nus/nus.go +++ b/nus/nus.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "£", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Tiop", "Pɛt", "Duɔ̱ɔ̱", "Guak", "Duä", "Kor", "Pay", "Thoo", "Tɛɛ", "Laa", "Kur", "Tid"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AY", "ƐY"}, erasNarrow: []string{"", ""}, erasWide: []string{"A ka̱n Yecu ni dap", "Ɛ ca Yecu dap"}, - timezones: map[string]string{"BT": "BT", "WARST": "WARST", "ACWST": "ACWST", "CHADT": "CHADT", "MYT": "MYT", "NZST": "NZST", "ChST": "ChST", "CAT": "CAT", "UYT": "UYT", "MDT": "MDT", "WART": "WART", "HADT": "HADT", "EAT": "EAT", "ACDT": "ACDT", "SAST": "SAST", "JDT": "JDT", "LHDT": "LHDT", "ACWDT": "ACWDT", "BOT": "BOT", "WESZ": "WESZ", "SGT": "SGT", "EST": "EST", "HNT": "HNT", "COST": "COST", "AKST": "AKST", "NZDT": "NZDT", "HKT": "HKT", "ACST": "ACST", "MEZ": "MEZ", "AEST": "AEST", "∅∅∅": "∅∅∅", "AWDT": "AWDT", "JST": "JST", "UYST": "UYST", "HKST": "HKST", "CLT": "CLT", "PST": "PST", "AST": "AST", "WITA": "WITA", "TMT": "TMT", "GYT": "GYT", "ARST": "ARST", "EDT": "EDT", "WAT": "WAT", "MST": "MST", "WIT": "WIT", "ART": "ART", "SRT": "SRT", "ECT": "ECT", "ADT": "ADT", "WAST": "WAST", "HAT": "HAT", "CLST": "CLST", "LHST": "LHST", "AKDT": "AKDT", "AWST": "AWST", "OEZ": "OEZ", "VET": "VET", "TMST": "TMST", "WEZ": "WEZ", "COT": "COT", "WIB": "WIB", "AEDT": "AEDT", "MESZ": "MESZ", "HAST": "HAST", "PDT": "PDT", "CST": "CST", "CHAST": "CHAST", "GFT": "GFT", "OESZ": "OESZ", "IST": "IST", "CDT": "CDT", "GMT": "GMT"}, + timezones: map[string]string{"WIT": "WIT", "HNT": "HNT", "TMT": "TMT", "ECT": "ECT", "HNNOMX": "HNNOMX", "GMT": "GMT", "PDT": "PDT", "LHST": "LHST", "JST": "JST", "ACST": "ACST", "HENOMX": "HENOMX", "MDT": "MDT", "HNPMX": "HNPMX", "UYT": "UYT", "CDT": "CDT", "HAST": "HAST", "SRT": "SRT", "PST": "PST", "WEZ": "WEZ", "SGT": "SGT", "HNCU": "HNCU", "HEPMX": "HEPMX", "UYST": "UYST", "CST": "CST", "HAT": "HAT", "AEDT": "AEDT", "MST": "MST", "ART": "ART", "HEPM": "HEPM", "CHAST": "CHAST", "OEZ": "OEZ", "LHDT": "LHDT", "TMST": "TMST", "COST": "COST", "AST": "AST", "HADT": "HADT", "ACWST": "ACWST", "AWDT": "AWDT", "HKST": "HKST", "HECU": "HECU", "HEEG": "HEEG", "WART": "WART", "CAT": "CAT", "GYT": "GYT", "MYT": "MYT", "AKST": "AKST", "ARST": "ARST", "SAST": "SAST", "WAT": "WAT", "OESZ": "OESZ", "AKDT": "AKDT", "HEOG": "HEOG", "WITA": "WITA", "MEZ": "MEZ", "CHADT": "CHADT", "EST": "EST", "NZDT": "NZDT", "IST": "IST", "JDT": "JDT", "NZST": "NZST", "WARST": "WARST", "VET": "VET", "HNEG": "HNEG", "HNOG": "HNOG", "AWST": "AWST", "MESZ": "MESZ", "BOT": "BOT", "ACDT": "ACDT", "EAT": "EAT", "WIB": "WIB", "AEST": "AEST", "HKT": "HKT", "CLT": "CLT", "GFT": "GFT", "EDT": "EDT", "ADT": "ADT", "WESZ": "WESZ", "HNPM": "HNPM", "COT": "COT", "WAST": "WAST", "∅∅∅": "∅∅∅", "BT": "BT", "ACWDT": "ACWDT", "CLST": "CLST", "ChST": "ChST"}, } } @@ -388,7 +388,12 @@ func (nus *nus) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +407,12 @@ func (nus *nus) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -416,7 +426,12 @@ func (nus *nus) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -432,7 +447,12 @@ func (nus *nus) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nus_SS/nus_SS.go b/nus_SS/nus_SS.go index 4bbf29d05..56fb90b99 100644 --- a/nus_SS/nus_SS.go +++ b/nus_SS/nus_SS.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Tiop", "Pɛt", "Duɔ̱ɔ̱", "Guak", "Duä", "Kor", "Pay", "Thoo", "Tɛɛ", "Laa", "Kur", "Tid"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AY", "ƐY"}, erasNarrow: []string{"", ""}, erasWide: []string{"A ka̱n Yecu ni dap", "Ɛ ca Yecu dap"}, - timezones: map[string]string{"HNT": "HNT", "LHST": "LHST", "SRT": "SRT", "VET": "VET", "AKDT": "AKDT", "PDT": "PDT", "∅∅∅": "∅∅∅", "CDT": "CDT", "IST": "IST", "AKST": "AKST", "WESZ": "WESZ", "HAST": "HAST", "ADT": "ADT", "BOT": "BOT", "JDT": "JDT", "ACWDT": "ACWDT", "EDT": "EDT", "WIT": "WIT", "COT": "COT", "WART": "WART", "AST": "AST", "SGT": "SGT", "HADT": "HADT", "TMST": "TMST", "NZST": "NZST", "CAT": "CAT", "OESZ": "OESZ", "WEZ": "WEZ", "SAST": "SAST", "MYT": "MYT", "CLST": "CLST", "BT": "BT", "HAT": "HAT", "OEZ": "OEZ", "MEZ": "MEZ", "WAT": "WAT", "WAST": "WAST", "PST": "PST", "CST": "CST", "MESZ": "MESZ", "ARST": "ARST", "TMT": "TMT", "MDT": "MDT", "HKT": "HKT", "CLT": "CLT", "UYT": "UYT", "GFT": "GFT", "ART": "ART", "GYT": "GYT", "JST": "JST", "GMT": "GMT", "ChST": "ChST", "LHDT": "LHDT", "CHAST": "CHAST", "CHADT": "CHADT", "AEST": "AEST", "ACWST": "ACWST", "EST": "EST", "EAT": "EAT", "ACST": "ACST", "MST": "MST", "UYST": "UYST", "WIB": "WIB", "ACDT": "ACDT", "AEDT": "AEDT", "NZDT": "NZDT", "COST": "COST", "ECT": "ECT", "HKST": "HKST", "WARST": "WARST", "WITA": "WITA", "AWST": "AWST", "AWDT": "AWDT"}, + timezones: map[string]string{"AEDT": "AEDT", "WAST": "WAST", "MYT": "MYT", "HAST": "HAST", "WITA": "WITA", "OEZ": "OEZ", "ART": "ART", "IST": "IST", "PDT": "PDT", "HKT": "HKT", "JST": "JST", "JDT": "JDT", "ECT": "ECT", "∅∅∅": "∅∅∅", "GYT": "GYT", "AKDT": "AKDT", "TMST": "TMST", "HAT": "HAT", "PST": "PST", "HNPM": "HNPM", "WAT": "WAT", "WART": "WART", "HENOMX": "HENOMX", "VET": "VET", "ACWST": "ACWST", "CLT": "CLT", "CAT": "CAT", "HNPMX": "HNPMX", "CDT": "CDT", "WESZ": "WESZ", "TMT": "TMT", "SGT": "SGT", "MST": "MST", "UYT": "UYT", "CHADT": "CHADT", "SAST": "SAST", "HEEG": "HEEG", "EAT": "EAT", "WARST": "WARST", "COST": "COST", "SRT": "SRT", "UYST": "UYST", "WIT": "WIT", "ARST": "ARST", "HNOG": "HNOG", "HNCU": "HNCU", "HECU": "HECU", "HEPMX": "HEPMX", "ADT": "ADT", "ACWDT": "ACWDT", "CHAST": "CHAST", "LHDT": "LHDT", "WIB": "WIB", "NZST": "NZST", "GMT": "GMT", "BT": "BT", "HNT": "HNT", "AWDT": "AWDT", "AKST": "AKST", "MEZ": "MEZ", "ChST": "ChST", "HKST": "HKST", "MESZ": "MESZ", "CLST": "CLST", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "EST": "EST", "WEZ": "WEZ", "ACDT": "ACDT", "CST": "CST", "BOT": "BOT", "COT": "COT", "HEOG": "HEOG", "HEPM": "HEPM", "HNEG": "HNEG", "LHST": "LHST", "ACST": "ACST", "MDT": "MDT", "AST": "AST", "AEST": "AEST", "GFT": "GFT", "EDT": "EDT", "HADT": "HADT", "AWST": "AWST", "NZDT": "NZDT"}, } } @@ -388,7 +388,12 @@ func (nus *nus_SS) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +407,12 @@ func (nus *nus_SS) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -416,7 +426,12 @@ func (nus *nus_SS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -432,7 +447,12 @@ func (nus *nus_SS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nus.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nyn/nyn.go b/nyn/nyn.go index 50213ce7c..43be28760 100644 --- a/nyn/nyn.go +++ b/nyn/nyn.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "KBZ", "KBR", "KST", "KKN", "KTN", "KMK", "KMS", "KMN", "KMW", "KKM", "KNK", "KNB"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Okwokubanza", "Okwakabiri", "Okwakashatu", "Okwakana", "Okwakataana", "Okwamukaaga", "Okwamushanju", "Okwamunaana", "Okwamwenda", "Okwaikumi", "Okwaikumi na kumwe", "Okwaikumi na ibiri"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kurisito Atakaijire", "Kurisito Yaijire"}, - timezones: map[string]string{"SGT": "SGT", "COT": "COT", "HADT": "HADT", "ART": "ART", "AKDT": "AKDT", "PST": "PST", "WEZ": "WEZ", "GYT": "GYT", "MDT": "MDT", "NZDT": "NZDT", "HKST": "HKST", "AST": "AST", "HKT": "HKT", "ACWST": "ACWST", "WARST": "WARST", "CLT": "CLT", "LHDT": "LHDT", "SAST": "SAST", "PDT": "PDT", "WIT": "WIT", "ADT": "ADT", "MYT": "MYT", "BT": "BT", "OESZ": "OESZ", "GFT": "GFT", "MEZ": "MEZ", "AEDT": "AEDT", "WAT": "WAT", "AWDT": "AWDT", "HNT": "HNT", "JDT": "JDT", "COST": "COST", "AWST": "AWST", "ECT": "ECT", "TMST": "TMST", "CST": "CST", "NZST": "NZST", "ChST": "ChST", "UYT": "UYT", "CHAST": "CHAST", "VET": "VET", "WIB": "WIB", "AEST": "AEST", "WART": "WART", "MST": "MST", "BOT": "BOT", "OEZ": "OEZ", "ACWDT": "ACWDT", "HAST": "HAST", "ARST": "ARST", "ACST": "ACST", "GMT": "GMT", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "MESZ": "MESZ", "AKST": "AKST", "CAT": "CAT", "CHADT": "CHADT", "SRT": "SRT", "CDT": "CDT", "UYST": "UYST", "JST": "JST", "ACDT": "ACDT", "IST": "IST", "CLST": "CLST", "LHST": "LHST", "EAT": "EAT", "WAST": "WAST", "EST": "EST", "EDT": "EDT", "WITA": "WITA", "TMT": "TMT", "HAT": "HAT"}, + timezones: map[string]string{"CHAST": "CHAST", "UYST": "UYST", "HADT": "HADT", "HKT": "HKT", "HNCU": "HNCU", "HECU": "HECU", "AST": "AST", "MESZ": "MESZ", "JST": "JST", "MYT": "MYT", "AKST": "AKST", "AKDT": "AKDT", "HNOG": "HNOG", "WEZ": "WEZ", "AWDT": "AWDT", "NZDT": "NZDT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "MDT": "MDT", "PST": "PST", "HNT": "HNT", "AEST": "AEST", "LHST": "LHST", "OESZ": "OESZ", "WIB": "WIB", "WIT": "WIT", "ACWST": "ACWST", "IST": "IST", "TMT": "TMT", "CAT": "CAT", "CST": "CST", "AEDT": "AEDT", "ChST": "ChST", "ACDT": "ACDT", "COT": "COT", "ADT": "ADT", "GYT": "GYT", "HKST": "HKST", "NZST": "NZST", "CHADT": "CHADT", "JDT": "JDT", "EST": "EST", "BT": "BT", "ACST": "ACST", "OEZ": "OEZ", "WARST": "WARST", "GMT": "GMT", "ACWDT": "ACWDT", "SAST": "SAST", "CLT": "CLT", "TMST": "TMST", "VET": "VET", "AWST": "AWST", "HEEG": "HEEG", "COST": "COST", "SGT": "SGT", "HEOG": "HEOG", "HAT": "HAT", "HEPM": "HEPM", "GFT": "GFT", "PDT": "PDT", "WESZ": "WESZ", "WITA": "WITA", "HNPM": "HNPM", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "ECT": "ECT", "WART": "WART", "HEPMX": "HEPMX", "HAST": "HAST", "LHDT": "LHDT", "BOT": "BOT", "WAT": "WAT", "WAST": "WAST", "UYT": "UYT", "CDT": "CDT", "MST": "MST", "HNPMX": "HNPMX", "SRT": "SRT", "ART": "ART", "ARST": "ARST", "CLST": "CLST", "HNEG": "HNEG", "EAT": "EAT", "EDT": "EDT"}, } } @@ -327,7 +327,12 @@ func (nyn *nyn) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -341,7 +346,12 @@ func (nyn *nyn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +365,12 @@ func (nyn *nyn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +386,12 @@ func (nyn *nyn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/nyn_UG/nyn_UG.go b/nyn_UG/nyn_UG.go index c99eecb6d..d900ddc65 100644 --- a/nyn_UG/nyn_UG.go +++ b/nyn_UG/nyn_UG.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "KBZ", "KBR", "KST", "KKN", "KTN", "KMK", "KMS", "KMN", "KMW", "KKM", "KNK", "KNB"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Okwokubanza", "Okwakabiri", "Okwakashatu", "Okwakana", "Okwakataana", "Okwamukaaga", "Okwamushanju", "Okwamunaana", "Okwamwenda", "Okwaikumi", "Okwaikumi na kumwe", "Okwaikumi na ibiri"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kurisito Atakaijire", "Kurisito Yaijire"}, - timezones: map[string]string{"WIB": "WIB", "AKST": "AKST", "JDT": "JDT", "GYT": "GYT", "JST": "JST", "SGT": "SGT", "AEST": "AEST", "∅∅∅": "∅∅∅", "NZST": "NZST", "GFT": "GFT", "WAST": "WAST", "CLT": "CLT", "WEZ": "WEZ", "ACST": "ACST", "ACDT": "ACDT", "ACWST": "ACWST", "AST": "AST", "ADT": "ADT", "MEZ": "MEZ", "PST": "PST", "EAT": "EAT", "TMST": "TMST", "MST": "MST", "WIT": "WIT", "CHAST": "CHAST", "HNT": "HNT", "LHST": "LHST", "UYT": "UYT", "COST": "COST", "MESZ": "MESZ", "ART": "ART", "WART": "WART", "ACWDT": "ACWDT", "CHADT": "CHADT", "AWST": "AWST", "LHDT": "LHDT", "VET": "VET", "WAT": "WAT", "MDT": "MDT", "CLST": "CLST", "BT": "BT", "SAST": "SAST", "TMT": "TMT", "GMT": "GMT", "WARST": "WARST", "HADT": "HADT", "EDT": "EDT", "OEZ": "OEZ", "IST": "IST", "EST": "EST", "CAT": "CAT", "HKT": "HKT", "HAST": "HAST", "CST": "CST", "SRT": "SRT", "UYST": "UYST", "WESZ": "WESZ", "COT": "COT", "WITA": "WITA", "MYT": "MYT", "CDT": "CDT", "AWDT": "AWDT", "AKDT": "AKDT", "PDT": "PDT", "BOT": "BOT", "ChST": "ChST", "OESZ": "OESZ", "HKST": "HKST", "ECT": "ECT", "ARST": "ARST", "AEDT": "AEDT", "NZDT": "NZDT", "HAT": "HAT"}, + timezones: map[string]string{"EAT": "EAT", "CST": "CST", "ACWDT": "ACWDT", "HKT": "HKT", "CHADT": "CHADT", "JST": "JST", "TMT": "TMT", "OESZ": "OESZ", "HNCU": "HNCU", "UYT": "UYT", "SRT": "SRT", "AEDT": "AEDT", "ECT": "ECT", "WART": "WART", "HKST": "HKST", "CLT": "CLT", "MYT": "MYT", "AEST": "AEST", "HNPM": "HNPM", "BOT": "BOT", "ACDT": "ACDT", "WITA": "WITA", "MEZ": "MEZ", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "COT": "COT", "COST": "COST", "AKDT": "AKDT", "AWST": "AWST", "AST": "AST", "ADT": "ADT", "HNOG": "HNOG", "NZDT": "NZDT", "MST": "MST", "HNPMX": "HNPMX", "UYST": "UYST", "HADT": "HADT", "WIT": "WIT", "HNT": "HNT", "IST": "IST", "ARST": "ARST", "NZST": "NZST", "JDT": "JDT", "OEZ": "OEZ", "EDT": "EDT", "HEPMX": "HEPMX", "CDT": "CDT", "WESZ": "WESZ", "WAT": "WAT", "AKST": "AKST", "BT": "BT", "AWDT": "AWDT", "HNEG": "HNEG", "SAST": "SAST", "CLST": "CLST", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "EST": "EST", "VET": "VET", "HAT": "HAT", "GFT": "GFT", "GMT": "GMT", "WIB": "WIB", "WEZ": "WEZ", "LHDT": "LHDT", "WARST": "WARST", "HAST": "HAST", "HEOG": "HEOG", "PST": "PST", "PDT": "PDT", "WAST": "WAST", "SGT": "SGT", "MDT": "MDT", "ART": "ART", "CHAST": "CHAST", "CAT": "CAT", "HECU": "HECU", "GYT": "GYT", "HEPM": "HEPM", "ChST": "ChST", "ACWST": "ACWST", "LHST": "LHST", "TMST": "TMST", "ACST": "ACST"}, } } @@ -327,7 +327,12 @@ func (nyn *nyn_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -341,7 +346,12 @@ func (nyn *nyn_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +365,12 @@ func (nyn *nyn_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -371,7 +386,12 @@ func (nyn *nyn_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, nyn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/om/om.go b/om/om.go index 6a6bfb953..aac337069 100644 --- a/om/om.go +++ b/om/om.go @@ -46,20 +46,28 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Ama", "Gur", "Bit", "Elb", "Cam", "Wax", "Ado", "Hag", "Ful", "Onk", "Sad", "Mud"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Amajjii", "Guraandhala", "Bitooteessa", "Elba", "Caamsa", "Waxabajjii", "Adooleessa", "Hagayya", "Fuulbana", "Onkololeessa", "Sadaasa", "Muddee"}, daysAbbreviated: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, daysWide: []string{"Dilbata", "Wiixata", "Qibxata", "Roobii", "Kamiisa", "Jimaata", "Sanbata"}, periodsAbbreviated: []string{"WD", "WB"}, + periodsNarrow: []string{"WD", "WB"}, periodsWide: []string{"WD", "WB"}, - erasAbbreviated: []string{"KD", "KB"}, + erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACDT": "ACDT", "ECT": "ECT", "HADT": "HADT", "CAT": "CAT", "OESZ": "OESZ", "HAST": "HAST", "AEDT": "AEDT", "NZST": "NZST", "BT": "BT", "CLST": "CLST", "UYT": "UYT", "UYST": "UYST", "AEST": "AEST", "SAST": "SAST", "MST": "MST", "ChST": "ChST", "AWDT": "AWDT", "ACWST": "ACWST", "ACWDT": "ACWDT", "ADT": "ADT", "MYT": "MYT", "WIT": "WIT", "OEZ": "OEZ", "WEZ": "WEZ", "ACST": "ACST", "VET": "VET", "EAT": "EAT", "HNT": "HNT", "JDT": "JDT", "∅∅∅": "∅∅∅", "HKST": "HKST", "MEZ": "MEZ", "WIB": "WIB", "ARST": "ARST", "CLT": "CLT", "CHAST": "CHAST", "WART": "WART", "AKST": "AKST", "PST": "PST", "AST": "AST", "PDT": "PDT", "TMT": "TMT", "MDT": "MDT", "SGT": "SGT", "JST": "JST", "MESZ": "MESZ", "ART": "ART", "WARST": "WARST", "CST": "CST", "CDT": "CDT", "GMT": "GMT", "GFT": "GFT", "COT": "COT", "COST": "COST", "WAT": "WAT", "NZDT": "NZDT", "IST": "IST", "EST": "EST", "GYT": "GYT", "AWST": "AWST", "CHADT": "CHADT", "EDT": "EDT", "WITA": "WITA", "BOT": "BOT", "HAT": "HAT", "LHDT": "LHDT", "HKT": "HKT", "SRT": "SRT", "WAST": "WAST", "WESZ": "WESZ", "AKDT": "AKDT", "TMST": "TMST", "LHST": "LHST"}, + timezones: map[string]string{"WIT": "WIT", "PST": "PST", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "ECT": "ECT", "CHADT": "CHADT", "LHST": "LHST", "CDT": "CDT", "HEPMX": "HEPMX", "CST": "CST", "BT": "BT", "AEDT": "AEDT", "HNPM": "HNPM", "MESZ": "MESZ", "WAST": "WAST", "HENOMX": "HENOMX", "SGT": "SGT", "AST": "AST", "AEST": "AEST", "SAST": "SAST", "GFT": "GFT", "WAT": "WAT", "HNCU": "HNCU", "GYT": "GYT", "UYST": "UYST", "AKDT": "AKDT", "SRT": "SRT", "HNT": "HNT", "HEPM": "HEPM", "COST": "COST", "HNNOMX": "HNNOMX", "HECU": "HECU", "JDT": "JDT", "ChST": "ChST", "WEZ": "WEZ", "WESZ": "WESZ", "VET": "VET", "HKT": "HKT", "CLT": "CLT", "HEEG": "HEEG", "HNPMX": "HNPMX", "BOT": "BOT", "WIB": "WIB", "AWST": "AWST", "CLST": "CLST", "TMST": "TMST", "AKST": "AKST", "ACST": "ACST", "OEZ": "OEZ", "HNOG": "HNOG", "PDT": "PDT", "CHAST": "CHAST", "MEZ": "MEZ", "NZDT": "NZDT", "JST": "JST", "UYT": "UYT", "NZST": "NZST", "EAT": "EAT", "WARST": "WARST", "EDT": "EDT", "ART": "ART", "IST": "IST", "ACDT": "ACDT", "HAST": "HAST", "HAT": "HAT", "LHDT": "LHDT", "GMT": "GMT", "EST": "EST", "ADT": "ADT", "HADT": "HADT", "ACWST": "ACWST", "HKST": "HKST", "TMT": "TMT", "OESZ": "OESZ", "MDT": "MDT", "MST": "MST", "MYT": "MYT", "ARST": "ARST", "HEOG": "HEOG", "WITA": "WITA", "CAT": "CAT", "WART": "WART", "COT": "COT", "ACWDT": "ACWDT"}, } } @@ -178,13 +186,73 @@ func (om *om) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'om' and handles both Whole and Real numbers based on 'v' func (om *om) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, om.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'om' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (om *om) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, om.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'om' @@ -192,7 +260,7 @@ func (om *om) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -250,7 +318,7 @@ func (om *om) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -352,7 +420,12 @@ func (om *om) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, om.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -370,7 +443,12 @@ func (om *om) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, om.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +464,12 @@ func (om *om) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/om_ET/om_ET.go b/om_ET/om_ET.go index 31d5480cf..0c1bcb438 100644 --- a/om_ET/om_ET.go +++ b/om_ET/om_ET.go @@ -46,20 +46,28 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Ama", "Gur", "Bit", "Elb", "Cam", "Wax", "Ado", "Hag", "Ful", "Onk", "Sad", "Mud"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Amajjii", "Guraandhala", "Bitooteessa", "Elba", "Caamsa", "Waxabajjii", "Adooleessa", "Hagayya", "Fuulbana", "Onkololeessa", "Sadaasa", "Muddee"}, daysAbbreviated: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, daysWide: []string{"Dilbata", "Wiixata", "Qibxata", "Roobii", "Kamiisa", "Jimaata", "Sanbata"}, periodsAbbreviated: []string{"WD", "WB"}, + periodsNarrow: []string{"WD", "WB"}, periodsWide: []string{"WD", "WB"}, - erasAbbreviated: []string{"KD", "KB"}, + erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"NZDT": "NZDT", "OESZ": "OESZ", "WIB": "WIB", "AEST": "AEST", "EAT": "EAT", "AST": "AST", "ACWST": "ACWST", "AEDT": "AEDT", "NZST": "NZST", "CAT": "CAT", "AWDT": "AWDT", "LHDT": "LHDT", "MESZ": "MESZ", "COT": "COT", "AKST": "AKST", "MDT": "MDT", "ARST": "ARST", "EDT": "EDT", "GYT": "GYT", "ACWDT": "ACWDT", "SAST": "SAST", "IST": "IST", "TMT": "TMT", "HNT": "HNT", "SRT": "SRT", "VET": "VET", "WART": "WART", "AWST": "AWST", "CLST": "CLST", "CHAST": "CHAST", "EST": "EST", "MST": "MST", "HAT": "HAT", "GMT": "GMT", "UYST": "UYST", "OEZ": "OEZ", "WAST": "WAST", "BT": "BT", "JDT": "JDT", "WITA": "WITA", "WIT": "WIT", "∅∅∅": "∅∅∅", "ADT": "ADT", "CDT": "CDT", "ChST": "ChST", "HKT": "HKT", "HKST": "HKST", "MEZ": "MEZ", "ART": "ART", "TMST": "TMST", "UYT": "UYT", "WEZ": "WEZ", "GFT": "GFT", "SGT": "SGT", "CST": "CST", "BOT": "BOT", "LHST": "LHST", "WESZ": "WESZ", "CHADT": "CHADT", "HADT": "HADT", "AKDT": "AKDT", "ACST": "ACST", "PST": "PST", "CLT": "CLT", "ACDT": "ACDT", "PDT": "PDT", "JST": "JST", "WARST": "WARST", "WAT": "WAT", "COST": "COST", "ECT": "ECT", "HAST": "HAST", "MYT": "MYT"}, + timezones: map[string]string{"EST": "EST", "HEPMX": "HEPMX", "UYST": "UYST", "CST": "CST", "GYT": "GYT", "CAT": "CAT", "OESZ": "OESZ", "MDT": "MDT", "UYT": "UYT", "CHADT": "CHADT", "GFT": "GFT", "EAT": "EAT", "ECT": "ECT", "SGT": "SGT", "BOT": "BOT", "WAST": "WAST", "AKDT": "AKDT", "ACWDT": "ACWDT", "CLST": "CLST", "GMT": "GMT", "MYT": "MYT", "SAST": "SAST", "JST": "JST", "JDT": "JDT", "HNCU": "HNCU", "WITA": "WITA", "HNPM": "HNPM", "HEPM": "HEPM", "NZST": "NZST", "ACDT": "ACDT", "COST": "COST", "WARST": "WARST", "COT": "COT", "WIT": "WIT", "ACWST": "ACWST", "HNT": "HNT", "IST": "IST", "∅∅∅": "∅∅∅", "ACST": "ACST", "AKST": "AKST", "HEOG": "HEOG", "TMST": "TMST", "WART": "WART", "EDT": "EDT", "WIB": "WIB", "VET": "VET", "WESZ": "WESZ", "ARST": "ARST", "HNOG": "HNOG", "CLT": "CLT", "HNNOMX": "HNNOMX", "AWST": "AWST", "HEEG": "HEEG", "HADT": "HADT", "SRT": "SRT", "AEDT": "AEDT", "HKT": "HKT", "MST": "MST", "HNPMX": "HNPMX", "AST": "AST", "WEZ": "WEZ", "AEST": "AEST", "HKST": "HKST", "CHAST": "CHAST", "HNEG": "HNEG", "OEZ": "OEZ", "HAT": "HAT", "ChST": "ChST", "WAT": "WAT", "PDT": "PDT", "AWDT": "AWDT", "MESZ": "MESZ", "NZDT": "NZDT", "ADT": "ADT", "HAST": "HAST", "HECU": "HECU", "CDT": "CDT", "LHDT": "LHDT", "TMT": "TMT", "HENOMX": "HENOMX", "ART": "ART", "MEZ": "MEZ", "LHST": "LHST", "BT": "BT", "PST": "PST"}, } } @@ -178,13 +186,73 @@ func (om *om_ET) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'om_ET' and handles both Whole and Real numbers based on 'v' func (om *om_ET) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, om.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'om_ET' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (om *om_ET) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, om.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'om_ET' @@ -192,7 +260,7 @@ func (om *om_ET) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -250,7 +318,7 @@ func (om *om_ET) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -352,7 +420,12 @@ func (om *om_ET) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, om.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -370,7 +443,12 @@ func (om *om_ET) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, om.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +464,12 @@ func (om *om_ET) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/om_KE/om_KE.go b/om_KE/om_KE.go index 4df224bd8..8c6d33927 100644 --- a/om_KE/om_KE.go +++ b/om_KE/om_KE.go @@ -46,20 +46,28 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Ama", "Gur", "Bit", "Elb", "Cam", "Wax", "Ado", "Hag", "Ful", "Onk", "Sad", "Mud"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsNarrow: []string{"", "A", "G", "B", "E", "C", "W", "A", "H", "F", "O", "S", "M"}, monthsWide: []string{"", "Amajjii", "Guraandhala", "Bitooteessa", "Elba", "Caamsa", "Waxabajjii", "Adooleessa", "Hagayya", "Fuulbana", "Onkololeessa", "Sadaasa", "Muddee"}, daysAbbreviated: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, - daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysNarrow: []string{"D", "W", "Q", "R", "K", "J", "S"}, + daysShort: []string{"Dil", "Wix", "Qib", "Rob", "Kam", "Jim", "San"}, daysWide: []string{"Dilbata", "Wiixata", "Qibxata", "Roobii", "Kamiisa", "Jimaata", "Sanbata"}, periodsAbbreviated: []string{"WD", "WB"}, + periodsNarrow: []string{"WD", "WB"}, periodsWide: []string{"WD", "WB"}, - erasAbbreviated: []string{"KD", "KB"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"OEZ": "OEZ", "MEZ": "MEZ", "SGT": "SGT", "ART": "ART", "ADT": "ADT", "WAST": "WAST", "HAT": "HAT", "ACWST": "ACWST", "AWST": "AWST", "OESZ": "OESZ", "AEDT": "AEDT", "NZDT": "NZDT", "UYST": "UYST", "JDT": "JDT", "CHAST": "CHAST", "ACDT": "ACDT", "PST": "PST", "∅∅∅": "∅∅∅", "MYT": "MYT", "UYT": "UYT", "HKST": "HKST", "AEST": "AEST", "TMT": "TMT", "MST": "MST", "CAT": "CAT", "LHDT": "LHDT", "CHADT": "CHADT", "VET": "VET", "CDT": "CDT", "WESZ": "WESZ", "PDT": "PDT", "CLT": "CLT", "ChST": "ChST", "AWDT": "AWDT", "EST": "EST", "MDT": "MDT", "HKT": "HKT", "MESZ": "MESZ", "WITA": "WITA", "TMST": "TMST", "HNT": "HNT", "EAT": "EAT", "IST": "IST", "ARST": "ARST", "NZST": "NZST", "WEZ": "WEZ", "WIB": "WIB", "WARST": "WARST", "GYT": "GYT", "GMT": "GMT", "SRT": "SRT", "HAST": "HAST", "AST": "AST", "BOT": "BOT", "LHST": "LHST", "JST": "JST", "WIT": "WIT", "COST": "COST", "ECT": "ECT", "ACWDT": "ACWDT", "SAST": "SAST", "AKST": "AKST", "AKDT": "AKDT", "ACST": "ACST", "GFT": "GFT", "HADT": "HADT", "WART": "WART", "WAT": "WAT", "EDT": "EDT", "CST": "CST", "CLST": "CLST", "COT": "COT", "BT": "BT"}, + timezones: map[string]string{"HNOG": "HNOG", "AWST": "AWST", "HENOMX": "HENOMX", "WIB": "WIB", "HEPMX": "HEPMX", "PST": "PST", "WEZ": "WEZ", "HEPM": "HEPM", "HNEG": "HNEG", "WART": "WART", "GMT": "GMT", "ART": "ART", "GFT": "GFT", "WARST": "WARST", "HAST": "HAST", "MESZ": "MESZ", "EAT": "EAT", "COT": "COT", "PDT": "PDT", "UYST": "UYST", "CST": "CST", "WESZ": "WESZ", "ACWDT": "ACWDT", "LHST": "LHST", "EST": "EST", "AST": "AST", "MEZ": "MEZ", "SAST": "SAST", "JST": "JST", "CLST": "CLST", "BOT": "BOT", "∅∅∅": "∅∅∅", "HEOG": "HEOG", "HKT": "HKT", "WITA": "WITA", "ACST": "ACST", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "MST": "MST", "WIT": "WIT", "ARST": "ARST", "NZST": "NZST", "HNCU": "HNCU", "ACDT": "ACDT", "WAT": "WAT", "AKDT": "AKDT", "VET": "VET", "HNT": "HNT", "AWDT": "AWDT", "WAST": "WAST", "MYT": "MYT", "GYT": "GYT", "AKST": "AKST", "BT": "BT", "HKST": "HKST", "CHADT": "CHADT", "IST": "IST", "JDT": "JDT", "HNPMX": "HNPMX", "COST": "COST", "ChST": "ChST", "CDT": "CDT", "HAT": "HAT", "HECU": "HECU", "HNPM": "HNPM", "LHDT": "LHDT", "CHAST": "CHAST", "TMT": "TMT", "HEEG": "HEEG", "ECT": "ECT", "OEZ": "OEZ", "ACWST": "ACWST", "EDT": "EDT", "ADT": "ADT", "UYT": "UYT", "HADT": "HADT", "SRT": "SRT", "SGT": "SGT", "AEST": "AEST", "NZDT": "NZDT", "CAT": "CAT", "MDT": "MDT", "CLT": "CLT", "TMST": "TMST", "AEDT": "AEDT"}, } } @@ -178,13 +186,73 @@ func (om *om_KE) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'om_KE' and handles both Whole and Real numbers based on 'v' func (om *om_KE) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, om.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'om_KE' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (om *om_KE) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, om.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, om.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, om.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'om_KE' @@ -192,7 +260,7 @@ func (om *om_KE) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -250,7 +318,7 @@ func (om *om_KE) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := om.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -352,7 +420,12 @@ func (om *om_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, om.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -370,7 +443,12 @@ func (om *om_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, om.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +464,12 @@ func (om *om_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/or/or.go b/or/or.go index 993f216f4..2a93a6a95 100644 --- a/or/or.go +++ b/or/or.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ଜାନୁଆରୀ", "ଫେବୃଆରୀ", "ମାର୍ଚ୍ଚ", "ଅପ୍ରେଲ", "ମଇ", "ଜୁନ", "ଜୁଲାଇ", "ଅଗଷ୍ଟ", "ସେପ୍ଟେମ୍ବର", "ଅକ୍ଟୋବର", "ନଭେମ୍ବର", "ଡିସେମ୍ବର"}, @@ -63,7 +63,7 @@ func New() locales.Translator { periodsAbbreviated: []string{"am", "pm"}, periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"am", "pm"}, - timezones: map[string]string{"BOT": "BOT", "ChST": "ChST", "UYT": "UYT", "COST": "COST", "EST": "EST", "∅∅∅": "∅∅∅", "NZST": "NZST", "BT": "BT", "LHDT": "LHDT", "LHST": "LHST", "ECT": "ECT", "SGT": "SGT", "AEDT": "AEDT", "CDT": "CDT", "GMT": "GMT", "MESZ": "MESZ", "MST": "MST", "AWST": "AWST", "JDT": "JDT", "UYST": "UYST", "WEZ": "WEZ", "ACDT": "ACDT", "AKST": "AKST", "CST": "CST", "CLST": "CLST", "VET": "VET", "WIB": "WIB", "HAST": "HAST", "EDT": "EDT", "TMST": "TMST", "OESZ": "OESZ", "WARST": "WARST", "HADT": "HADT", "ADT": "ADT", "JST": "JST", "OEZ": "OEZ", "ARST": "ARST", "AEST": "AEST", "IST": "IST", "PST": "PST", "WESZ": "WESZ", "HKST": "HKST", "ART": "ART", "WAT": "WAT", "NZDT": "NZDT", "CAT": "CAT", "HKT": "HKT", "AST": "AST", "CLT": "CLT", "MEZ": "MEZ", "AKDT": "AKDT", "EAT": "EAT", "TMT": "TMT", "MYT": "MYT", "ACST": "ACST", "HNT": "HNT", "ACWST": "ACWST", "ACWDT": "ACWDT", "PDT": "PDT", "SAST": "SAST", "WAST": "WAST", "GFT": "GFT", "SRT": "SRT", "WART": "WART", "GYT": "GYT", "WIT": "WIT", "AWDT": "AWDT", "CHADT": "CHADT", "WITA": "WITA", "MDT": "MDT", "HAT": "HAT", "CHAST": "CHAST", "COT": "COT"}, + timezones: map[string]string{"COT": "COT", "EDT": "EDT", "PST": "PST", "CHAST": "CHAST", "HEEG": "HEEG", "BOT": "BOT", "OEZ": "OEZ", "WART": "WART", "GYT": "GYT", "NZST": "NZST", "NZDT": "NZDT", "MST": "MST", "HNT": "HNT", "HAT": "HAT", "CLT": "CLT", "MESZ": "MESZ", "MDT": "MDT", "MYT": "MYT", "BT": "BT", "WESZ": "WESZ", "HEPM": "HEPM", "HNPM": "HNPM", "AST": "AST", "HNOG": "HNOG", "WITA": "WITA", "AEST": "AEST", "AWDT": "AWDT", "GMT": "GMT", "PDT": "PDT", "JST": "JST", "TMT": "TMT", "ChST": "ChST", "HKST": "HKST", "JDT": "JDT", "WAST": "WAST", "ECT": "ECT", "HEPMX": "HEPMX", "WIT": "WIT", "HADT": "HADT", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "HECU": "HECU", "ACWDT": "ACWDT", "COST": "COST", "IST": "IST", "ACST": "ACST", "WAT": "WAT", "ART": "ART", "ARST": "ARST", "HEOG": "HEOG", "CHADT": "CHADT", "LHDT": "LHDT", "CLST": "CLST", "AKST": "AKST", "AKDT": "AKDT", "HAST": "HAST", "HKT": "HKT", "LHST": "LHST", "CST": "CST", "OESZ": "OESZ", "CAT": "CAT", "HENOMX": "HENOMX", "WARST": "WARST", "HNPMX": "HNPMX", "TMST": "TMST", "CDT": "CDT", "ADT": "ADT", "UYST": "UYST", "WIB": "WIB", "SRT": "SRT", "EAT": "EAT", "EST": "EST", "ACWST": "ACWST", "WEZ": "WEZ", "AWST": "AWST", "SAST": "SAST", "GFT": "GFT", "MEZ": "MEZ", "HNEG": "HNEG", "ACDT": "ACDT", "∅∅∅": "∅∅∅", "SGT": "SGT", "UYT": "UYT", "VET": "VET", "AEDT": "AEDT"}, } } @@ -441,7 +441,12 @@ func (or *or) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (or *or) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (or *or) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/or_IN/or_IN.go b/or_IN/or_IN.go index f1d609e37..de3cf5293 100644 --- a/or_IN/or_IN.go +++ b/or_IN/or_IN.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ଜାନୁଆରୀ", "ଫେବୃଆରୀ", "ମାର୍ଚ୍ଚ", "ଅପ୍ରେଲ", "ମଇ", "ଜୁନ", "ଜୁଲାଇ", "ଅଗଷ୍ଟ", "ସେପ୍ଟେମ୍ବର", "ଅକ୍ଟୋବର", "ନଭେମ୍ବର", "ଡିସେମ୍ବର"}, @@ -63,7 +63,7 @@ func New() locales.Translator { periodsAbbreviated: []string{"am", "pm"}, periodsNarrow: []string{"am", "pm"}, periodsWide: []string{"am", "pm"}, - timezones: map[string]string{"AKDT": "AKDT", "CAT": "CAT", "WIB": "WIB", "ACWST": "ACWST", "ARST": "ARST", "MYT": "MYT", "LHDT": "LHDT", "OESZ": "OESZ", "AEDT": "AEDT", "ART": "ART", "ADT": "ADT", "UYT": "UYT", "GFT": "GFT", "ECT": "ECT", "SGT": "SGT", "CST": "CST", "NZST": "NZST", "AWST": "AWST", "SRT": "SRT", "MESZ": "MESZ", "PST": "PST", "UYST": "UYST", "JST": "JST", "HAT": "HAT", "ACWDT": "ACWDT", "PDT": "PDT", "AST": "AST", "WITA": "WITA", "GYT": "GYT", "OEZ": "OEZ", "WAST": "WAST", "MDT": "MDT", "JDT": "JDT", "HKST": "HKST", "HAST": "HAST", "AKST": "AKST", "CLST": "CLST", "HNT": "HNT", "∅∅∅": "∅∅∅", "LHST": "LHST", "CDT": "CDT", "HADT": "HADT", "EAT": "EAT", "AWDT": "AWDT", "WEZ": "WEZ", "VET": "VET", "ACST": "ACST", "CHAST": "CHAST", "CHADT": "CHADT", "TMST": "TMST", "WARST": "WARST", "SAST": "SAST", "WESZ": "WESZ", "HKT": "HKT", "MEZ": "MEZ", "WART": "WART", "NZDT": "NZDT", "BT": "BT", "AEST": "AEST", "EDT": "EDT", "MST": "MST", "GMT": "GMT", "IST": "IST", "TMT": "TMT", "BOT": "BOT", "CLT": "CLT", "WIT": "WIT", "WAT": "WAT", "ChST": "ChST", "ACDT": "ACDT", "COT": "COT", "COST": "COST", "EST": "EST"}, + timezones: map[string]string{"EST": "EST", "CST": "CST", "MDT": "MDT", "BT": "BT", "MEZ": "MEZ", "CLT": "CLT", "HNPMX": "HNPMX", "ACST": "ACST", "HENOMX": "HENOMX", "HECU": "HECU", "MST": "MST", "SRT": "SRT", "HAT": "HAT", "CLST": "CLST", "UYT": "UYT", "HAST": "HAST", "HNOG": "HNOG", "HEEG": "HEEG", "ACDT": "ACDT", "WARST": "WARST", "ACWST": "ACWST", "AEST": "AEST", "NZST": "NZST", "SAST": "SAST", "EAT": "EAT", "ADT": "ADT", "VET": "VET", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "JST": "JST", "OEZ": "OEZ", "ChST": "ChST", "OESZ": "OESZ", "COST": "COST", "WESZ": "WESZ", "HKST": "HKST", "HEPM": "HEPM", "JDT": "JDT", "HNEG": "HNEG", "AKDT": "AKDT", "UYST": "UYST", "WIB": "WIB", "HNPM": "HNPM", "LHDT": "LHDT", "GFT": "GFT", "SGT": "SGT", "ART": "ART", "WAT": "WAT", "CAT": "CAT", "HEPMX": "HEPMX", "AKST": "AKST", "MYT": "MYT", "HKT": "HKT", "AWDT": "AWDT", "CHADT": "CHADT", "LHST": "LHST", "ECT": "ECT", "PST": "PST", "AEDT": "AEDT", "AWST": "AWST", "COT": "COT", "HNT": "HNT", "WART": "WART", "EDT": "EDT", "HADT": "HADT", "BOT": "BOT", "WAST": "WAST", "HNCU": "HNCU", "CDT": "CDT", "TMT": "TMT", "AST": "AST", "ACWDT": "ACWDT", "PDT": "PDT", "WEZ": "WEZ", "NZDT": "NZDT", "IST": "IST", "TMST": "TMST", "HNNOMX": "HNNOMX", "GMT": "GMT", "WIT": "WIT", "ARST": "ARST", "HEOG": "HEOG", "WITA": "WITA", "CHAST": "CHAST", "GYT": "GYT"}, } } @@ -441,7 +441,12 @@ func (or *or_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -455,7 +460,12 @@ func (or *or_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +481,12 @@ func (or *or_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, or.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/os/os.go b/os/os.go index 0359dbed1..845b54556 100644 --- a/os/os.go +++ b/os/os.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "янв.", "фев.", "мар.", "апр.", "майы", "июны", "июлы", "авг.", "сен.", "окт.", "ноя.", "дек."}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"н.д.а.", "н.д."}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"GFT": "GFT", "GMT": "Гринвичы рӕстӕмбис рӕстӕг", "LHST": "LHST", "CST": "CST", "SGT": "SGT", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "WAT": "WAT", "IST": "IST", "BT": "BT", "COST": "COST", "TMST": "TMST", "BOT": "BOT", "CAT": "CAT", "JST": "JST", "ARST": "ARST", "HAST": "HAST", "AKST": "AKST", "AKDT": "AKDT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "VET": "VET", "ECT": "ECT", "ACWST": "ACWST", "EDT": "EDT", "PST": "PST", "AST": "AST", "GYT": "GYT", "ACWDT": "ACWDT", "PDT": "PDT", "WITA": "WITA", "MYT": "MYT", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "SAST": "SAST", "HNT": "HNT", "HKST": "HKST", "CHAST": "CHAST", "ART": "ART", "ACDT": "ACDT", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "WARST": "WARST", "ChST": "ChST", "NZST": "NZST", "NZDT": "NZDT", "AEDT": "AEDT", "MDT": "MDT", "AWDT": "AWDT", "CLST": "CLST", "JDT": "JDT", "ACST": "ACST", "ADT": "ADT", "CDT": "CDT", "AWST": "AWST", "WIT": "WIT", "LHDT": "LHDT", "CHADT": "CHADT", "WIB": "WIB", "AEST": "AEST", "WART": "WART", "WAST": "WAST", "HAT": "HAT", "SRT": "SRT", "COT": "COT", "EST": "EST", "EAT": "EAT", "∅∅∅": "∅∅∅", "CLT": "CLT", "TMT": "TMT", "HKT": "HKT", "HADT": "HADT", "MST": "MST", "UYT": "UYT", "UYST": "UYST"}, + timezones: map[string]string{"EAT": "EAT", "WAST": "WAST", "HENOMX": "HENOMX", "MST": "MST", "ACWDT": "ACWDT", "CLST": "CLST", "HEEG": "HEEG", "HNPMX": "HNPMX", "PST": "PST", "HNOG": "HNOG", "AWDT": "AWDT", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "CHADT": "CHADT", "CLT": "CLT", "JDT": "JDT", "WART": "WART", "EST": "EST", "EDT": "EDT", "AKDT": "AKDT", "ART": "ART", "WITA": "WITA", "COT": "COT", "NZST": "NZST", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "LHDT": "LHDT", "CHAST": "CHAST", "AKST": "AKST", "CST": "CST", "UYT": "UYT", "JST": "JST", "BOT": "BOT", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "GMT": "Гринвичы рӕстӕмбис рӕстӕг", "AST": "AST", "HAST": "HAST", "PDT": "PDT", "AEST": "AEST", "AEDT": "AEDT", "ACST": "ACST", "CAT": "CAT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "∅∅∅": "∅∅∅", "SRT": "SRT", "HKST": "HKST", "SAST": "SAST", "TMT": "TMT", "ECT": "ECT", "HEPMX": "HEPMX", "MYT": "MYT", "BT": "BT", "TMST": "TMST", "WARST": "WARST", "ADT": "ADT", "WIB": "WIB", "HNT": "HNT", "HAT": "HAT", "HEOG": "HEOG", "AWST": "AWST", "ChST": "ChST", "HNNOMX": "HNNOMX", "MDT": "MDT", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "HNPM": "HNPM", "GFT": "GFT", "GYT": "GYT", "ACWST": "ACWST", "HKT": "HKT", "NZDT": "NZDT", "HNEG": "HNEG", "ACDT": "ACDT", "ARST": "ARST", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "LHST": "LHST", "COST": "COST", "CDT": "CDT", "UYST": "UYST", "WIT": "WIT", "SGT": "SGT", "HECU": "HECU", "VET": "VET", "HEPM": "HEPM", "WAT": "WAT", "HNCU": "HNCU", "HADT": "HADT", "IST": "IST"}, } } @@ -440,7 +440,13 @@ func (os *os) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -455,7 +461,13 @@ func (os *os) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -472,7 +484,13 @@ func (os *os) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) diff --git a/os_GE/os_GE.go b/os_GE/os_GE.go index d197a607b..558372db6 100644 --- a/os_GE/os_GE.go +++ b/os_GE/os_GE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "янв.", "фев.", "мар.", "апр.", "майы", "июны", "июлы", "авг.", "сен.", "окт.", "ноя.", "дек."}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"н.д.а.", "н.д."}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"VET": "VET", "MYT": "MYT", "CAT": "CAT", "HNT": "HNT", "CLST": "CLST", "∅∅∅": "∅∅∅", "ACST": "ACST", "COT": "COT", "TMST": "TMST", "JST": "JST", "WAT": "WAT", "MST": "MST", "ChST": "ChST", "LHDT": "LHDT", "UYST": "UYST", "GFT": "GFT", "SGT": "SGT", "COST": "COST", "TMT": "TMT", "ADT": "ADT", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "SRT": "SRT", "ECT": "ECT", "WIB": "WIB", "AEDT": "AEDT", "PST": "PST", "ACDT": "ACDT", "ACWST": "ACWST", "EST": "EST", "MDT": "MDT", "JDT": "JDT", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "ART": "ART", "ARST": "ARST", "CST": "CST", "LHST": "LHST", "HKST": "HKST", "AEST": "AEST", "NZST": "NZST", "AWDT": "AWDT", "AKST": "AKST", "SAST": "SAST", "WAST": "WAST", "AWST": "AWST", "CLT": "CLT", "WIT": "WIT", "HKT": "HKT", "CHADT": "CHADT", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "IST": "IST", "AKDT": "AKDT", "CDT": "CDT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "PDT": "PDT", "WITA": "WITA", "GYT": "GYT", "NZDT": "NZDT", "BOT": "BOT", "HADT": "HADT", "ACWDT": "ACWDT", "AST": "AST", "WART": "WART", "EAT": "EAT", "EDT": "EDT", "UYT": "UYT", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "CHAST": "CHAST", "HAST": "HAST", "WARST": "WARST", "BT": "BT", "HAT": "HAT", "GMT": "Гринвичы рӕстӕмбис рӕстӕг"}, + timezones: map[string]string{"HNOG": "HNOG", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "TMT": "TMT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "WART": "WART", "HAST": "HAST", "BT": "BT", "ARST": "ARST", "NZST": "NZST", "ACST": "ACST", "ADT": "ADT", "GYT": "GYT", "MYT": "MYT", "UYST": "UYST", "WIB": "WIB", "SRT": "SRT", "JDT": "JDT", "GFT": "GFT", "ChST": "ChST", "WARST": "WARST", "COT": "COT", "EST": "EST", "JST": "JST", "HNEG": "HNEG", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "AKST": "AKST", "PDT": "PDT", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "AST": "AST", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "LHDT": "LHDT", "WAT": "WAT", "HKT": "HKT", "HKST": "HKST", "IST": "IST", "∅∅∅": "∅∅∅", "HNCU": "HNCU", "HECU": "HECU", "EDT": "EDT", "CDT": "CDT", "PST": "PST", "WITA": "WITA", "HAT": "HAT", "ART": "ART", "SAST": "SAST", "CLST": "CLST", "HEEG": "HEEG", "COST": "COST", "VET": "VET", "WIT": "WIT", "HEPM": "HEPM", "UYT": "UYT", "AWDT": "AWDT", "CHADT": "CHADT", "LHST": "LHST", "WAST": "WAST", "SGT": "SGT", "HNPM": "HNPM", "ACWST": "ACWST", "AWST": "AWST", "TMST": "TMST", "BOT": "BOT", "CAT": "CAT", "HNNOMX": "HNNOMX", "MDT": "MDT", "AKDT": "AKDT", "ECT": "ECT", "EAT": "EAT", "MST": "MST", "HEOG": "HEOG", "ACWDT": "ACWDT", "CHAST": "CHAST", "HENOMX": "HENOMX", "GMT": "Гринвичы рӕстӕмбис рӕстӕг", "CST": "CST", "HNT": "HNT", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "AEDT": "AEDT", "CLT": "CLT", "ACDT": "ACDT", "HADT": "HADT", "AEST": "AEST", "NZDT": "NZDT"}, } } @@ -440,7 +440,13 @@ func (os *os_GE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -455,7 +461,13 @@ func (os *os_GE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -472,7 +484,13 @@ func (os *os_GE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) diff --git a/os_RU/os_RU.go b/os_RU/os_RU.go index d9ad1269e..cb4a2a93d 100644 --- a/os_RU/os_RU.go +++ b/os_RU/os_RU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "янв.", "фев.", "мар.", "апр.", "майы", "июны", "июлы", "авг.", "сен.", "окт.", "ноя.", "дек."}, @@ -69,7 +69,7 @@ func New() locales.Translator { erasAbbreviated: []string{"н.д.а.", "н.д."}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"UYT": "UYT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "LHDT": "LHDT", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "BT": "BT", "HNT": "HNT", "HAT": "HAT", "SRT": "SRT", "COT": "COT", "ARST": "ARST", "MYT": "MYT", "ChST": "ChST", "JST": "JST", "WIT": "WIT", "WARST": "WARST", "AKDT": "AKDT", "SGT": "SGT", "TMST": "TMST", "NZST": "NZST", "GMT": "Гринвичы рӕстӕмбис рӕстӕг", "WIB": "WIB", "CDT": "CDT", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "ACWDT": "ACWDT", "ACWST": "ACWST", "AEST": "AEST", "IST": "IST", "CAT": "CAT", "JDT": "JDT", "ECT": "ECT", "HAST": "HAST", "AST": "AST", "ADT": "ADT", "HKST": "HKST", "VET": "VET", "SAST": "SAST", "CST": "CST", "GYT": "GYT", "AWST": "AWST", "EDT": "EDT", "EAT": "EAT", "MDT": "MDT", "CHAST": "CHAST", "ART": "ART", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "CHADT": "CHADT", "TMT": "TMT", "AWDT": "AWDT", "CLST": "CLST", "LHST": "LHST", "WAST": "WAST", "WITA": "WITA", "∅∅∅": "∅∅∅", "HADT": "HADT", "PDT": "PDT", "NZDT": "NZDT", "EST": "EST", "PST": "PST", "WAT": "WAT", "BOT": "BOT", "CLT": "CLT", "GFT": "GFT", "AEDT": "AEDT", "WART": "WART", "AKST": "AKST", "MST": "MST", "UYST": "UYST", "HKT": "HKT", "COST": "COST", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "ACST": "ACST", "ACDT": "ACDT"}, + timezones: map[string]string{"PST": "PST", "HNPM": "HNPM", "WARST": "WARST", "ACWDT": "ACWDT", "HAST": "HAST", "HEPMX": "HEPMX", "CDT": "CDT", "ECT": "ECT", "HADT": "HADT", "HAT": "HAT", "HEOG": "HEOG", "CHAST": "CHAST", "JST": "JST", "GFT": "GFT", "TMT": "TMT", "JDT": "JDT", "EDT": "EDT", "AST": "AST", "MYT": "MYT", "HKST": "HKST", "AEDT": "AEDT", "ACST": "ACST", "CAT": "CAT", "UYST": "UYST", "WITA": "WITA", "LHST": "LHST", "HNNOMX": "HNNOMX", "MST": "MST", "HNCU": "HNCU", "SRT": "SRT", "WESZ": "Ныгъуылӕн Европӕйаг сӕрдыгон рӕстӕг", "MEZ": "Астӕуккаг Европӕйаг стандартон рӕстӕг", "BOT": "BOT", "COT": "COT", "HECU": "HECU", "EST": "EST", "AEST": "AEST", "MESZ": "Астӕуккаг Европӕйаг сӕрдыгон рӕстӕг", "ChST": "ChST", "ACDT": "ACDT", "VET": "VET", "AWDT": "AWDT", "OEZ": "Скӕсӕн Европӕйаг стандартон рӕстӕг", "OESZ": "Скӕсӕн Европӕйаг сӕрдыгон рӕстӕг", "SAST": "SAST", "TMST": "TMST", "HENOMX": "HENOMX", "HNT": "HNT", "HEPM": "HEPM", "NZST": "NZST", "HNEG": "HNEG", "WAST": "WAST", "ADT": "ADT", "WIB": "WIB", "ART": "ART", "AWST": "AWST", "HEEG": "HEEG", "MDT": "MDT", "HNOG": "HNOG", "NZDT": "NZDT", "GYT": "GYT", "WEZ": "Ныгъуылӕн Европӕйаг стандартон рӕстӕг", "AKDT": "AKDT", "CST": "CST", "ARST": "ARST", "PDT": "PDT", "LHDT": "LHDT", "CLT": "CLT", "SGT": "SGT", "HNPMX": "HNPMX", "CLST": "CLST", "ACWST": "ACWST", "IST": "IST", "WART": "WART", "GMT": "Гринвичы рӕстӕмбис рӕстӕг", "AKST": "AKST", "UYT": "UYT", "WIT": "WIT", "CHADT": "CHADT", "∅∅∅": "∅∅∅", "COST": "COST", "BT": "BT", "HKT": "HKT", "EAT": "EAT", "WAT": "WAT"}, } } @@ -440,7 +440,13 @@ func (os *os_RU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -455,7 +461,13 @@ func (os *os_RU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) @@ -472,7 +484,13 @@ func (os *os_RU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, os.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb0, 0xd0, 0xb7}...) return string(b) diff --git a/pa/pa.go b/pa/pa.go index 1c5d2aea0..4fc1de426 100644 --- a/pa/pa.go +++ b/pa/pa.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "р.", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "р.", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ਜਨ", "ਫ਼ਰ", "ਮਾਰਚ", "ਅਪ੍ਰੈ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾ", "ਅਗ", "ਸਤੰ", "ਅਕਤੂ", "ਨਵੰ", "ਦਸੰ"}, monthsNarrow: []string{"", "ਜ", "ਫ਼", "ਮਾ", "ਅ", "ਮ", "ਜੂ", "ਜੁ", "ਅ", "ਸ", "ਅ", "ਨ", "ਦ"}, monthsWide: []string{"", "ਜਨਵਰੀ", "ਫ਼ਰਵਰੀ", "ਮਾਰਚ", "ਅਪ੍ਰੈਲ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾਈ", "ਅਗਸਤ", "ਸਤੰਬਰ", "ਅਕਤੂਬਰ", "ਨਵੰਬਰ", "ਦਸੰਬਰ"}, @@ -65,9 +65,9 @@ func New() locales.Translator { periodsNarrow: []string{"ਸ.", "ਸ਼."}, periodsWide: []string{"ਪੂ.ਦੁ.", "ਬਾ.ਦੁ."}, erasAbbreviated: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, - erasNarrow: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, + erasNarrow: []string{"ਈ.ਪੂ.", "ਸੰਨ"}, erasWide: []string{"ਈਸਵੀ ਪੂਰਵ", "ਈਸਵੀ ਸੰਨ"}, - timezones: map[string]string{"WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਸਮਾਂ", "ECT": "ਇਕਵੇਡੋਰ ਸਮਾਂ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਸਮਾਂ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਸਮਾਂ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਸਮਾਂ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਸਮਾਂ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "MYT": "ਮਲੇਸ਼ੀਆ ਸਮਾਂ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਸਮਾਂ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "BT": "ਭੂਟਾਨ ਸਮਾਂ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਸਮਾਂ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਸਮਾਂ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਸਮਾਂ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਸਮਾਂ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਸਮਾਂ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਸਮਾਂ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਟਾਈਮ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਸਮਾਂ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਸਮਾਂ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "SRT": "ਸੂਰੀਨਾਮ ਸਮਾਂ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਸਮਾਂ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਸਮਾਂ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "BOT": "ਬੋਲੀਵੀਆ ਸਮਾਂ", "CLST": "ਚਿਲੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਸਮਾਂ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਸਮਾਂ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "∅∅∅": "ਅਜੋਰੇਸ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "GYT": "ਗੁਯਾਨਾ ਸਮਾਂ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਸਮਾਂ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਸਮਾਂ"}, + timezones: map[string]string{"PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਵੇਲਾ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਵੇਲਾ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਵੇਲਾ", "CLST": "ਚਿਲੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਵੇਲਾ", "HNPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HECU": "ਕਿਊਬਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਵੇਲਾ", "GYT": "ਗੁਯਾਨਾ ਵੇਲਾ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਵੇਲਾ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਵੇਲਾ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਵੇਲਾ", "SRT": "ਸੂਰੀਨਾਮ ਵੇਲਾ", "HNOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਵੇਲਾ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਵੇਲਾ", "HNEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "HEEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HEPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਵੇਲਾ", "∅∅∅": "ਪੇਰੂ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਵੇਲਾ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਵੇਲਾ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "BOT": "ਬੋਲੀਵੀਆ ਵੇਲਾ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "HENOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MDT": "ਮਕਾਉ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HEOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਮਿਆਰੀ ਵੇਲਾ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਵੇਲਾ", "HNCU": "ਕਿਊਬਾ ਮਿਆਰੀ ਵੇਲਾ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਵੇਲਾ", "HEPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਵੇਲਾ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਵੇਲਾ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "MYT": "ਮਲੇਸ਼ੀਆ ਵੇਲਾ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਵੇਲਾ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਵੇਲਾ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "MST": "ਮਕਾਉ ਮਿਆਰੀ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNNOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਮਿਆਰੀ ਵੇਲਾ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "BT": "ਭੂਟਾਨ ਵੇਲਾ", "ECT": "ਇਕਵੇਡੋਰ ਵੇਲਾ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ"}, } } @@ -118,6 +118,8 @@ func (pa *pa) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) return locales.PluralRuleOne } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne } return locales.PluralRuleOther @@ -444,7 +446,12 @@ func (pa *pa) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +465,12 @@ func (pa *pa) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +486,12 @@ func (pa *pa) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pa_Arab/pa_Arab.go b/pa_Arab/pa_Arab.go index f26d420fa..2b13046d3 100644 --- a/pa_Arab/pa_Arab.go +++ b/pa_Arab/pa_Arab.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "ر", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "ر", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ايساپورو", "سں"}, erasNarrow: []string{"", ""}, erasWide: []string{"ايساپورو", "سں"}, - timezones: map[string]string{"COST": "ਕੋਲੰਬੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਸਮਾਂ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਸਮਾਂ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਸਮਾਂ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਸਮਾਂ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "ECT": "ਇਕਵੇਡੋਰ ਸਮਾਂ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਸਮਾਂ", "BOT": "ਬੋਲੀਵੀਆ ਸਮਾਂ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਸਮਾਂ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਸਮਾਂ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਟਾਈਮ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਸਮਾਂ", "GYT": "ਗੁਯਾਨਾ ਸਮਾਂ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਸਮਾਂ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਸਮਾਂ", "∅∅∅": "ਬ੍ਰਾਜ਼ੀਲੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਸਮਾਂ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਸਮਾਂ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਸਮਾਂ", "MYT": "ਮਲੇਸ਼ੀਆ ਸਮਾਂ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਸਮਾਂ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "BT": "ਭੂਟਾਨ ਸਮਾਂ", "CLST": "ਚਿਲੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "SRT": "ਸੂਰੀਨਾਮ ਸਮਾਂ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਸਮਾਂ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਸਮਾਂ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਸਮਾਂ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਸਮਾਂ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਸਮਾਂ"}, + timezones: map[string]string{"HNEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਵੇਲਾ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਵੇਲਾ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "∅∅∅": "ਅਮੇਜ਼ਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਵੇਲਾ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਵੇਲਾ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "GYT": "ਗੁਯਾਨਾ ਵੇਲਾ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "BT": "ਭੂਟਾਨ ਵੇਲਾ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਵੇਲਾ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਵੇਲਾ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਵੇਲਾ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਵੇਲਾ", "MST": "ਮਕਾਉ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਵੇਲਾ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਵੇਲਾ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਵੇਲਾ", "HECU": "ਕਿਊਬਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "HNPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਮਿਆਰੀ ਵੇਲਾ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HENOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNCU": "ਕਿਊਬਾ ਮਿਆਰੀ ਵੇਲਾ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਵੇਲਾ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਵੇਲਾ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਵੇਲਾ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "MYT": "ਮਲੇਸ਼ੀਆ ਵੇਲਾ", "CLST": "ਚਿਲੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਵੇਲਾ", "ECT": "ਇਕਵੇਡੋਰ ਵੇਲਾ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਵੇਲਾ", "HEEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "BOT": "ਬੋਲੀਵੀਆ ਵੇਲਾ", "HNNOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਮਿਆਰੀ ਵੇਲਾ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "SRT": "ਸੂਰੀਨਾਮ ਵੇਲਾ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "MDT": "ਮਕਾਉ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਵੇਲਾ", "HEPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HEPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਵੇਲਾ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਵੇਲਾ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "HEOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ"}, } } @@ -126,6 +126,8 @@ func (pa *pa_Arab) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uin return locales.PluralRuleOne } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne } return locales.PluralRuleOther @@ -410,7 +412,12 @@ func (pa *pa_Arab) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -424,7 +431,12 @@ func (pa *pa_Arab) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -438,7 +450,12 @@ func (pa *pa_Arab) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -459,7 +476,12 @@ func (pa *pa_Arab) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pa_Arab_PK/pa_Arab_PK.go b/pa_Arab_PK/pa_Arab_PK.go index bf8c6f5e1..5f314ce27 100644 --- a/pa_Arab_PK/pa_Arab_PK.go +++ b/pa_Arab_PK/pa_Arab_PK.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ਜਨ", "ਫ਼ਰ", "ਮਾਰਚ", "ਅਪ੍ਰੈ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾ", "ਅਗ", "ਸਤੰ", "ਅਕਤੂ", "ਨਵੰ", "ਦਸੰ"}, monthsNarrow: []string{"", "ਜ", "ਫ਼", "ਮਾ", "ਅ", "ਮ", "ਜੂ", "ਜੁ", "ਅ", "ਸ", "ਅ", "ਨ", "ਦ"}, monthsWide: []string{"", "ਜਨਵਰੀ", "ਫ਼ਰਵਰੀ", "ਮਾਰਚ", "ਅਪ੍ਰੈਲ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾਈ", "ਅਗਸਤ", "ਸਤੰਬਰ", "ਅਕਤੂਬਰ", "ਨਵੰਬਰ", "ਦਸੰਬਰ"}, @@ -65,9 +65,9 @@ func New() locales.Translator { periodsNarrow: []string{"ਸ.", "ਸ਼."}, periodsWide: []string{"ਪੂ.ਦੁ.", "ਬਾ.ਦੁ."}, erasAbbreviated: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, - erasNarrow: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, + erasNarrow: []string{"ਈ.ਪੂ.", "ਸੰਨ"}, erasWide: []string{"ਈਸਵੀ ਪੂਰਵ", "ਈਸਵੀ ਸੰਨ"}, - timezones: map[string]string{"OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ECT": "ਇਕਵੇਡੋਰ ਸਮਾਂ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਸਮਾਂ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "SRT": "ਸੂਰੀਨਾਮ ਸਮਾਂ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "MYT": "ਮਲੇਸ਼ੀਆ ਸਮਾਂ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਸਮਾਂ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "∅∅∅": "∅∅∅", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CLST": "ਚਿਲੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਸਮਾਂ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਸਮਾਂ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਸਮਾਂ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਸਮਾਂ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਸਮਾਂ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "GYT": "ਗੁਯਾਨਾ ਸਮਾਂ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਸਮਾਂ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਸਮਾਂ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਸਮਾਂ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਸਮਾਂ", "BOT": "ਬੋਲੀਵੀਆ ਸਮਾਂ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਸਮਾਂ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਸਮਾਂ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਸਮਾਂ", "BT": "ਭੂਟਾਨ ਸਮਾਂ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਟਾਈਮ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਸਮਾਂ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਸਮਾਂ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਸਮਾਂ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਸਮਾਂ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਸਮਾਂ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ"}, + timezones: map[string]string{"BT": "ਭੂਟਾਨ ਵੇਲਾ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਮਿਆਰੀ ਵੇਲਾ", "HEPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "BOT": "ਬੋਲੀਵੀਆ ਵੇਲਾ", "HNEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਵੇਲਾ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਵੇਲਾ", "HNPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "SRT": "ਸੂਰੀਨਾਮ ਵੇਲਾ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "HNOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਵੇਲਾ", "CLST": "ਚਿਲੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਵੇਲਾ", "MDT": "ਮਕਾਉ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਵੇਲਾ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNCU": "ਕਿਊਬਾ ਮਿਆਰੀ ਵੇਲਾ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "GYT": "ਗੁਯਾਨਾ ਵੇਲਾ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਵੇਲਾ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਵੇਲਾ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਵੇਲਾ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MYT": "ਮਲੇਸ਼ੀਆ ਵੇਲਾ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "HEEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HEPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "HEOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HENOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਵੇਲਾ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਵੇਲਾ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "MST": "ਮਕਾਉ ਮਿਆਰੀ ਸਮਾਂ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਵੇਲਾ", "∅∅∅": "ਅਮੇਜ਼ਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਵੇਲਾ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਵੇਲਾ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ECT": "ਇਕਵੇਡੋਰ ਵੇਲਾ", "HECU": "ਕਿਊਬਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਵੇਲਾ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਵੇਲਾ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਵੇਲਾ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNNOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਮਿਆਰੀ ਵੇਲਾ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਵੇਲਾ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਵੇਲਾ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਵੇਲਾ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ"}, } } @@ -118,6 +118,8 @@ func (pa *pa_Arab_PK) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 return locales.PluralRuleOne } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne } return locales.PluralRuleOther @@ -444,7 +446,12 @@ func (pa *pa_Arab_PK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +465,12 @@ func (pa *pa_Arab_PK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +486,12 @@ func (pa *pa_Arab_PK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pa_Guru/pa_Guru.go b/pa_Guru/pa_Guru.go index 5275d3652..6df441291 100644 --- a/pa_Guru/pa_Guru.go +++ b/pa_Guru/pa_Guru.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ਜਨ", "ਫ਼ਰ", "ਮਾਰਚ", "ਅਪ੍ਰੈ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾ", "ਅਗ", "ਸਤੰ", "ਅਕਤੂ", "ਨਵੰ", "ਦਸੰ"}, monthsNarrow: []string{"", "ਜ", "ਫ਼", "ਮਾ", "ਅ", "ਮ", "ਜੂ", "ਜੁ", "ਅ", "ਸ", "ਅ", "ਨ", "ਦ"}, monthsWide: []string{"", "ਜਨਵਰੀ", "ਫ਼ਰਵਰੀ", "ਮਾਰਚ", "ਅਪ੍ਰੈਲ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾਈ", "ਅਗਸਤ", "ਸਤੰਬਰ", "ਅਕਤੂਬਰ", "ਨਵੰਬਰ", "ਦਸੰਬਰ"}, @@ -65,9 +65,9 @@ func New() locales.Translator { periodsNarrow: []string{"ਸ.", "ਸ਼."}, periodsWide: []string{"ਪੂ.ਦੁ.", "ਬਾ.ਦੁ."}, erasAbbreviated: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, - erasNarrow: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, + erasNarrow: []string{"ਈ.ਪੂ.", "ਸੰਨ"}, erasWide: []string{"ਈਸਵੀ ਪੂਰਵ", "ਈਸਵੀ ਸੰਨ"}, - timezones: map[string]string{"AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "BT": "ਭੂਟਾਨ ਸਮਾਂ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਸਮਾਂ", "CLST": "ਚਿਲੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਸਮਾਂ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਸਮਾਂ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਸਮਾਂ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਸਮਾਂ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਸਮਾਂ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਸਮਾਂ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਸਮਾਂ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਸਮਾਂ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਸਮਾਂ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਟਾਈਮ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਸਮਾਂ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਸਮਾਂ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਸਮਾਂ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਸਮਾਂ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਸਮਾਂ", "GYT": "ਗੁਯਾਨਾ ਸਮਾਂ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਸਮਾਂ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਸਮਾਂ", "∅∅∅": "∅∅∅", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "BOT": "ਬੋਲੀਵੀਆ ਸਮਾਂ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਸਮਾਂ", "SRT": "ਸੂਰੀਨਾਮ ਸਮਾਂ", "ECT": "ਇਕਵੇਡੋਰ ਸਮਾਂ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "MYT": "ਮਲੇਸ਼ੀਆ ਸਮਾਂ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਸਮਾਂ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਸਮਾਂ"}, + timezones: map[string]string{"SRT": "ਸੂਰੀਨਾਮ ਵੇਲਾ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਵੇਲਾ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਵੇਲਾ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਵੇਲਾ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HENOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "HEPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ECT": "ਇਕਵੇਡੋਰ ਵੇਲਾ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਵੇਲਾ", "HEEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNNOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਮਿਆਰੀ ਵੇਲਾ", "∅∅∅": "ਅਜੋਰੇਸ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HEOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਮਿਆਰੀ ਵੇਲਾ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਵੇਲਾ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਵੇਲਾ", "GYT": "ਗੁਯਾਨਾ ਵੇਲਾ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਵੇਲਾ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਵੇਲਾ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਵੇਲਾ", "HECU": "ਕਿਊਬਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਵੇਲਾ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "BOT": "ਬੋਲੀਵੀਆ ਵੇਲਾ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਵੇਲਾ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਵੇਲਾ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "MYT": "ਮਲੇਸ਼ੀਆ ਵੇਲਾ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਵੇਲਾ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਵੇਲਾ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "HNOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਵੇਲਾ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਵੇਲਾ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "HNCU": "ਕਿਊਬਾ ਮਿਆਰੀ ਵੇਲਾ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਵੇਲਾ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਵੇਲਾ", "MDT": "ਮਕਾਉ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HEPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਵੇਲਾ", "BT": "ਭੂਟਾਨ ਵੇਲਾ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "MST": "ਮਕਾਉ ਮਿਆਰੀ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "CLST": "ਚਿਲੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ"}, } } @@ -118,6 +118,8 @@ func (pa *pa_Guru) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uin return locales.PluralRuleOne } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne } return locales.PluralRuleOther @@ -444,7 +446,12 @@ func (pa *pa_Guru) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +465,12 @@ func (pa *pa_Guru) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +486,12 @@ func (pa *pa_Guru) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pa_Guru_IN/pa_Guru_IN.go b/pa_Guru_IN/pa_Guru_IN.go index 4cb73294a..7e362a067 100644 --- a/pa_Guru_IN/pa_Guru_IN.go +++ b/pa_Guru_IN/pa_Guru_IN.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ਜਨ", "ਫ਼ਰ", "ਮਾਰਚ", "ਅਪ੍ਰੈ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾ", "ਅਗ", "ਸਤੰ", "ਅਕਤੂ", "ਨਵੰ", "ਦਸੰ"}, monthsNarrow: []string{"", "ਜ", "ਫ਼", "ਮਾ", "ਅ", "ਮ", "ਜੂ", "ਜੁ", "ਅ", "ਸ", "ਅ", "ਨ", "ਦ"}, monthsWide: []string{"", "ਜਨਵਰੀ", "ਫ਼ਰਵਰੀ", "ਮਾਰਚ", "ਅਪ੍ਰੈਲ", "ਮਈ", "ਜੂਨ", "ਜੁਲਾਈ", "ਅਗਸਤ", "ਸਤੰਬਰ", "ਅਕਤੂਬਰ", "ਨਵੰਬਰ", "ਦਸੰਬਰ"}, @@ -65,9 +65,9 @@ func New() locales.Translator { periodsNarrow: []string{"ਸ.", "ਸ਼."}, periodsWide: []string{"ਪੂ.ਦੁ.", "ਬਾ.ਦੁ."}, erasAbbreviated: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, - erasNarrow: []string{"ਈ. ਪੂ.", "ਸੰਨ"}, + erasNarrow: []string{"ਈ.ਪੂ.", "ਸੰਨ"}, erasWide: []string{"ਈਸਵੀ ਪੂਰਵ", "ਈਸਵੀ ਸੰਨ"}, - timezones: map[string]string{"LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਸਮਾਂ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਸਮਾਂ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਸਮਾਂ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਸਮਾਂ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਸਮਾਂ", "MYT": "ਮਲੇਸ਼ੀਆ ਸਮਾਂ", "BT": "ਭੂਟਾਨ ਸਮਾਂ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਸਮਾਂ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਟਾਈਮ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਸਮਾਂ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਸਮਾਂ", "GYT": "ਗੁਯਾਨਾ ਸਮਾਂ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਸਮਾਂ", "∅∅∅": "ਬ੍ਰਾਜ਼ੀਲੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਸਮਾਂ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਸਮਾਂ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਸਮਾਂ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਸਮਾਂ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਸਮਾਂ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਸਮਾਂ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਸਮਾਂ", "BOT": "ਬੋਲੀਵੀਆ ਸਮਾਂ", "SRT": "ਸੂਰੀਨਾਮ ਸਮਾਂ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਸਮਾਂ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਸਮਾਂ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਸਮਾਂ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਸਮਾਂ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਸਮਾਂ", "CLST": "ਚਿਲੀ ਗਰਮੀ-ਰੁੱਤ ਸਮਾਂ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਸਮਾਂ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਸਮਾਂ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਸਮਾਂ", "ECT": "ਇਕਵੇਡੋਰ ਸਮਾਂ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਸਮਾਂ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਸਮਾਂ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਸਮਾਂ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਸਮਾਂ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਸਮਾਂ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਸਮਾਂ"}, + timezones: map[string]string{"WESZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "CHAST": "ਚੈਥਮ ਮਿਆਰੀ ਵੇਲਾ", "WART": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "HNPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "VET": "ਵੈਨੇਜ਼ੂਏਲਾ ਵੇਲਾ", "PST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਮਿਆਰੀ ਵੇਲਾ", "MESZ": "ਮੱਧ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "JST": "ਜਪਾਨ ਮਿਆਰੀ ਵੇਲਾ", "WAST": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "EDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MYT": "ਮਲੇਸ਼ੀਆ ਵੇਲਾ", "PDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HEEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "GFT": "ਫ੍ਰੈਂਚ ਗੁਏਨਾ ਵੇਲਾ", "TMST": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WARST": "ਪੱਛਮੀ ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "UYST": "ਉਰੂਗਵੇ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "WEZ": "ਪੱਛਮੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "CHADT": "ਚੈਥਮ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ACDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "COST": "ਕੋਲੰਬੀਆ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "CDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "HEOG": "ਪੱਛਮੀ ਗ੍ਰੀਨਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HKT": "ਹਾਂਗ ਕਾਂਗ ਮਿਆਰੀ ਵੇਲਾ", "HEPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "SGT": "ਸਿੰਗਾਪੁਰ ਮਿਆਰੀ ਵੇਲਾ", "AWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "NZDT": "ਨਿਊਜ਼ੀਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "JDT": "ਜਪਾਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "TMT": "ਤੁਰਕਮੇਨਿਸਤਾਨ ਮਿਆਰੀ ਵੇਲਾ", "COT": "ਕੋਲੰਬੀਆ ਮਿਆਰੀ ਵੇਲਾ", "WIT": "ਪੂਰਬੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "HAT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "LHDT": "ਲੌਰਡ ਹੋਵੇ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "MEZ": "ਮੱਧ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "SAST": "ਦੱਖਣੀ ਅਫ਼ਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "WAT": "ਪੱਛਮੀ ਅਫਰੀਕਾ ਮਿਆਰੀ ਵੇਲਾ", "WIB": "ਪੱਛਮੀ ਇੰਡੋਨੇਸ਼ੀਆ ਵੇਲਾ", "AWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AEDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "LHST": "ਲੌਰਡ ਹੋਵੇ ਮਿਆਰੀ ਵੇਲਾ", "NZST": "ਨਿਊਜ਼ੀਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "GMT": "ਗ੍ਰੀਨਵਿਚ ਮੀਨ ਵੇਲਾ", "HEPMX": "ਮੈਕਸੀਕਨ ਪੈਸਿਫਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "AKDT": "ਅਲਾਸਕਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNT": "ਨਿਊਫਾਉਂਡਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "HKST": "ਹਾਂਗ ਕਾਂਗ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "BOT": "ਬੋਲੀਵੀਆ ਵੇਲਾ", "ChST": "ਚਾਮੋਰੋ ਮਿਆਰੀ ਵੇਲਾ", "ECT": "ਇਕਵੇਡੋਰ ਵੇਲਾ", "CST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "HNPM": "ਸੈਂਟ ਪੀਅਰੇ ਅਤੇ ਮਿਕੇਲਨ ਮਿਆਰੀ ਵੇਲਾ", "ACST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਮਿਆਰੀ ਵੇਲਾ", "AST": "ਅਟਲਾਂਟਿਕ ਮਿਆਰੀ ਵੇਲਾ", "UYT": "ਉਰੂਗਵੇ ਮਿਆਰੀ ਵੇਲਾ", "MST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਮਿਆਰੀ ਵੇਲਾ", "HENOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HADT": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HNNOMX": "ਉੱਤਰ ਪੱਛਮੀ ਮੈਕਸੀਕੋ ਮਿਆਰੀ ਵੇਲਾ", "HECU": "ਕਿਊਬਾ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ADT": "ਅਟਲਾਂਟਿਕ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "IST": "ਭਾਰਤੀ ਮਿਆਰੀ ਵੇਲਾ", "CLT": "ਚਿਲੀ ਮਿਆਰੀ ਵੇਲਾ", "CAT": "ਕੇਂਦਰੀ ਅਫਰੀਕਾ ਵੇਲਾ", "HNCU": "ਕਿਊਬਾ ਮਿਆਰੀ ਵੇਲਾ", "EST": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ", "OEZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਮਿਆਰੀ ਵੇਲਾ", "GYT": "ਗੁਯਾਨਾ ਵੇਲਾ", "MDT": "ਉੱਤਰੀ ਅਮਰੀਕੀ ਮਾਉਂਟੇਨ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "HAST": "ਹਵਾਈ-ਅਲੇਯੂਸ਼ਿਅਨ ਮਿਆਰੀ ਵੇਲਾ", "SRT": "ਸੂਰੀਨਾਮ ਵੇਲਾ", "ACWST": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਮਿਆਰੀ ਵੇਲਾ", "∅∅∅": "ਅਮੇਜ਼ਨ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "ARST": "ਅਰਜਨਟੀਨਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "HNEG": "ਪੂਰਬੀ ਗ੍ਰੀਨਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ", "EAT": "ਪੂਰਬੀ ਅਫਰੀਕਾ ਵੇਲਾ", "AKST": "ਅਲਾਸਕਾ ਮਿਆਰੀ ਵੇਲਾ", "CLST": "ਚਿਲੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "OESZ": "ਪੂਰਬੀ ਯੂਰਪੀ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ", "BT": "ਭੂਟਾਨ ਵੇਲਾ", "ACWDT": "ਆਸਟ੍ਰੇਲੀਆਈ ਕੇਂਦਰੀ ਪੱਛਮੀ ਪ੍ਰਕਾਸ਼ ਵੇਲਾ", "ART": "ਅਰਜਨਟੀਨਾ ਮਿਆਰੀ ਵੇਲਾ", "WITA": "ਮੱਧ ਇੰਡੋਨੇਸ਼ੀਆਈ ਵੇਲਾ", "AEST": "ਆਸਟ੍ਰੇਲੀਆਈ ਪੂਰਬੀ ਮਿਆਰੀ ਵੇਲਾ"}, } } @@ -118,6 +118,8 @@ func (pa *pa_Guru_IN) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 return locales.PluralRuleOne } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther + } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { + return locales.PluralRuleOne } return locales.PluralRuleOther @@ -444,7 +446,12 @@ func (pa *pa_Guru_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,7 +465,12 @@ func (pa *pa_Guru_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -474,7 +486,12 @@ func (pa *pa_Guru_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pa.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pl/pl.go b/pl/pl.go index 910748007..4030669f8 100644 --- a/pl/pl.go +++ b/pl/pl.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "zł", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -64,7 +64,7 @@ func New() locales.Translator { monthsNarrow: []string{"", "s", "l", "m", "k", "m", "c", "l", "s", "w", "p", "l", "g"}, monthsWide: []string{"", "stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia", "września", "października", "listopada", "grudnia"}, daysAbbreviated: []string{"niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."}, - daysNarrow: []string{"N", "P", "W", "Ś", "C", "P", "S"}, + daysNarrow: []string{"n", "p", "w", "ś", "c", "p", "s"}, daysShort: []string{"nie", "pon", "wto", "śro", "czw", "pią", "sob"}, daysWide: []string{"niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"}, periodsAbbreviated: []string{"AM", "PM"}, @@ -72,8 +72,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"p.n.e.", "n.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"p.n.e.", "n.e."}, - timezones: map[string]string{"AKST": "Alaska (czas standardowy)", "CLT": "Chile (czas standardowy)", "JDT": "Japonia (czas letni)", "ART": "Argentyna (czas standardowy)", "EAT": "Czas wschodnioafrykański", "HAT": "Nowa Fundlandia (czas letni)", "CHADT": "Chatham (czas letni)", "AWST": "Czas zachodnioaustralijski standardowy", "UYST": "Urugwaj (czas letni)", "GYT": "Gujana", "HNT": "Nowa Fundlandia (czas standardowy)", "SRT": "Surinam", "CHAST": "Chatham (czas standardowy)", "ACST": "Czas środkowoaustralijski standardowy", "BT": "Bhutan", "HKST": "Hongkong (czas letni)", "WIB": "Indonezja Zachodnia", "NZDT": "Nowa Zelandia (czas letni)", "CST": "Czas środkowoamerykański standardowy", "ChST": "Czamorro", "JST": "Japonia (czas standardowy)", "WESZ": "Czas zachodnioeuropejski letni", "COST": "Kolumbia (czas letni)", "TMST": "Turkmenistan (czas letni)", "BOT": "Boliwia", "CAT": "Czas środkowoafrykański", "UYT": "Urugwaj (czas standardowy)", "ECT": "Ekwador", "EST": "Czas wschodnioamerykański standardowy", "CDT": "Czas środkowoamerykański letni", "MST": "Czas górski standardowy", "LHDT": "Lord Howe (czas letni)", "VET": "Wenezuela", "ADT": "Czas atlantycki letni", "WITA": "Indonezja Środkowa", "NZST": "Nowa Zelandia (czas standardowy)", "LHST": "Lord Howe (czas standardowy)", "OESZ": "Czas wschodnioeuropejski letni", "HADT": "Hawaje-Aleuty (czas letni)", "TMT": "Turkmenistan (czas standardowy)", "WART": "Argentyna Zachodnia (czas standardowy)", "WIT": "Indonezja Wschodnia", "GFT": "Gujana Francuska", "MESZ": "Czas środkowoeuropejski letni", "ACWDT": "Czas środkowo-zachodnioaustralijski letni", "IST": "Czas indyjski", "MYT": "Malezja", "CLST": "Chile (czas letni)", "MEZ": "Czas środkowoeuropejski standardowy", "EDT": "Czas wschodnioamerykański letni", "PDT": "Czas pacyficzny letni", "PST": "Czas pacyficzny standardowy", "WAT": "Czas zachodnioafrykański standardowy", "GMT": "Czas uniwersalny", "OEZ": "Czas wschodnioeuropejski standardowy", "ACDT": "Czas środkowoaustralijski letni", "SGT": "Singapur", "AWDT": "Czas zachodnioaustralijski letni", "∅∅∅": "∅∅∅", "COT": "Kolumbia (czas standardowy)", "AST": "Czas standardowy atlantycki", "WARST": "Argentyna Zachodnia (czas letni)", "SAST": "Czas południowoafrykański", "WAST": "Czas zachodnioafrykański letni", "MDT": "Czas górski letni", "WEZ": "Czas zachodnioeuropejski standardowy", "ACWST": "Czas środkowo-zachodnioaustralijski standardowy", "AEDT": "Czas wschodnioaustraliski letni", "HKT": "Hongkong (czas standardowy)", "HAST": "Hawaje-Aleuty (czas standardowy)", "AEST": "Czas standardowy wschodnioaustraliski", "ARST": "Argentyna (czas letni)", "AKDT": "Alaska (czas letni)"}, + erasWide: []string{"przed naszą erą", "naszej ery"}, + timezones: map[string]string{"HNNOMX": "Meksyk Północno-Zachodni (czas standardowy)", "UYST": "Urugwaj (czas letni)", "HNT": "Nowa Fundlandia (czas standardowy)", "CAT": "Czas środkowoafrykański", "EAT": "Czas wschodnioafrykański", "WITA": "Indonezja Środkowa", "HNPM": "Saint-Pierre i Miquelon (czas standardowy)", "CHAST": "Chatham (czas standardowy)", "CHADT": "Chatham (czas letni)", "EST": "Czas wschodnioamerykański standardowy", "EDT": "Czas wschodnioamerykański letni", "HNPMX": "Meksyk (czas pacyficzny standardowy)", "UYT": "Urugwaj (czas standardowy)", "ACWDT": "Czas środkowo-zachodnioaustralijski letni", "MESZ": "Czas środkowoeuropejski letni", "TMST": "Turkmenistan (czas letni)", "LHDT": "Lord Howe (czas letni)", "AKST": "Alaska (czas standardowy)", "AKDT": "Alaska (czas letni)", "AST": "Czas atlantycki standardowy", "ADT": "Czas atlantycki letni", "ART": "Argentyna (czas standardowy)", "AWST": "Czas zachodnioaustralijski standardowy", "HEPM": "Saint-Pierre i Miquelon (czas letni)", "AEDT": "Czas wschodnioaustralijski letni", "BOT": "Boliwia", "ECT": "Ekwador", "SGT": "Singapur", "MST": "MST", "SRT": "Surinam", "PST": "Czas pacyficzny standardowy", "ACWST": "Czas środkowo-zachodnioaustralijski standardowy", "CLT": "Chile (czas standardowy)", "TMT": "Turkmenistan (czas standardowy)", "HEEG": "Grenlandia Wschodnia (czas letni)", "ACST": "Czas środkowoaustralijski standardowy", "∅∅∅": "Peru (czas letni)", "OEZ": "Czas wschodnioeuropejski standardowy", "WARST": "Argentyna Zachodnia (czas letni)", "WIB": "Indonezja Zachodnia", "BT": "Bhutan", "PDT": "Czas pacyficzny letni", "ACDT": "Czas środkowoaustralijski letni", "CDT": "Czas środkowoamerykański letni", "AEST": "Czas wschodnioaustralijski standardowy", "GFT": "Gujana Francuska", "GMT": "Czas uniwersalny", "MDT": "MDT", "HAST": "Hawaje-Aleuty (czas standardowy)", "VET": "Wenezuela", "HAT": "Nowa Fundlandia (czas letni)", "SAST": "Czas południowoafrykański", "JST": "Japonia (czas standardowy)", "WAST": "Czas zachodnioafrykański letni", "COT": "Kolumbia (czas standardowy)", "HECU": "Kuba (czas letni)", "JDT": "Japonia (czas letni)", "NZDT": "Nowa Zelandia (czas letni)", "WART": "Argentyna Zachodnia (czas standardowy)", "WEZ": "Czas zachodnioeuropejski standardowy", "WESZ": "Czas zachodnioeuropejski letni", "ARST": "Argentyna (czas letni)", "HNOG": "Grenlandia Zachodnia (czas standardowy)", "MEZ": "Czas środkowoeuropejski standardowy", "LHST": "Lord Howe (czas standardowy)", "HADT": "Hawaje-Aleuty (czas letni)", "IST": "Czas indyjski", "ChST": "Czamorro", "CLST": "Chile (czas letni)", "OESZ": "Czas wschodnioeuropejski letni", "HENOMX": "Meksyk Północno-Zachodni (czas letni)", "GYT": "Gujana", "WIT": "Indonezja Wschodnia", "HKT": "Hongkong (czas standardowy)", "HKST": "Hongkong (czas letni)", "NZST": "Nowa Zelandia (czas standardowy)", "COST": "Kolumbia (czas letni)", "HNCU": "Kuba (czas standardowy)", "HEPMX": "Meksyk (czas pacyficzny letni)", "HNEG": "Grenlandia Wschodnia (czas standardowy)", "WAT": "Czas zachodnioafrykański standardowy", "CST": "Czas środkowoamerykański standardowy", "MYT": "Malezja", "HEOG": "Grenlandia Zachodnia (czas letni)", "AWDT": "Czas zachodnioaustralijski letni"}, } } @@ -448,7 +448,12 @@ func (pl *pl) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,22 +463,17 @@ func (pl *pl) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x20}...) + b = append(b, pl.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - return string(b) } @@ -486,7 +486,12 @@ func (pl *pl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -502,7 +507,12 @@ func (pl *pl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pl_PL/pl_PL.go b/pl_PL/pl_PL.go index c209ae543..8f1874484 100644 --- a/pl_PL/pl_PL.go +++ b/pl_PL/pl_PL.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -64,7 +64,7 @@ func New() locales.Translator { monthsNarrow: []string{"", "s", "l", "m", "k", "m", "c", "l", "s", "w", "p", "l", "g"}, monthsWide: []string{"", "stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia", "września", "października", "listopada", "grudnia"}, daysAbbreviated: []string{"niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."}, - daysNarrow: []string{"N", "P", "W", "Ś", "C", "P", "S"}, + daysNarrow: []string{"n", "p", "w", "ś", "c", "p", "s"}, daysShort: []string{"nie", "pon", "wto", "śro", "czw", "pią", "sob"}, daysWide: []string{"niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"}, periodsAbbreviated: []string{"AM", "PM"}, @@ -72,8 +72,8 @@ func New() locales.Translator { periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"p.n.e.", "n.e."}, erasNarrow: []string{"", ""}, - erasWide: []string{"p.n.e.", "n.e."}, - timezones: map[string]string{"CAT": "Czas środkowoafrykański", "∅∅∅": "Brasília (czas letni)", "GFT": "Gujana Francuska", "ACDT": "Czas środkowoaustralijski letni", "AEST": "Czas standardowy wschodnioaustraliski", "AEDT": "Czas wschodnioaustraliski letni", "AKST": "Alaska (czas standardowy)", "HKST": "Hongkong (czas letni)", "WITA": "Indonezja Środkowa", "MST": "Czas górski standardowy", "BT": "Bhutan", "HAT": "Nowa Fundlandia (czas letni)", "OESZ": "Czas wschodnioeuropejski letni", "ACST": "Czas środkowoaustralijski standardowy", "WIB": "Indonezja Zachodnia", "AKDT": "Alaska (czas letni)", "PST": "Czas pacyficzny standardowy", "TMT": "Turkmenistan (czas standardowy)", "GMT": "Czas uniwersalny", "UYT": "Urugwaj (czas standardowy)", "SGT": "Singapur", "WAST": "Czas zachodnioafrykański letni", "EDT": "Czas wschodnioamerykański letni", "ARST": "Argentyna (czas letni)", "OEZ": "Czas wschodnioeuropejski standardowy", "GYT": "Gujana", "HKT": "Hongkong (czas standardowy)", "WIT": "Indonezja Wschodnia", "LHST": "Lord Howe (czas standardowy)", "JDT": "Japonia (czas letni)", "ART": "Argentyna (czas standardowy)", "WART": "Argentyna Zachodnia (czas standardowy)", "BOT": "Boliwia", "AWST": "Czas zachodnioaustralijski standardowy", "LHDT": "Lord Howe (czas letni)", "COST": "Kolumbia (czas letni)", "ChST": "Czamorro", "AWDT": "Czas zachodnioaustralijski letni", "HNT": "Nowa Fundlandia (czas standardowy)", "CLST": "Chile (czas letni)", "CHADT": "Chatham (czas letni)", "SRT": "Surinam", "WARST": "Argentyna Zachodnia (czas letni)", "EAT": "Czas wschodnioafrykański", "WAT": "Czas zachodnioafrykański standardowy", "CDT": "Czas środkowoamerykański letni", "JST": "Japonia (czas standardowy)", "MEZ": "Czas środkowoeuropejski standardowy", "SAST": "Czas południowoafrykański", "IST": "Czas indyjski", "ADT": "Czas atlantycki letni", "MESZ": "Czas środkowoeuropejski letni", "EST": "Czas wschodnioamerykański standardowy", "TMST": "Turkmenistan (czas letni)", "NZST": "Nowa Zelandia (czas standardowy)", "MYT": "Malezja", "WEZ": "Czas zachodnioeuropejski standardowy", "CHAST": "Chatham (czas standardowy)", "VET": "Wenezuela", "HAST": "Hawaje-Aleuty (czas standardowy)", "ACWDT": "Czas środkowo-zachodnioaustralijski letni", "MDT": "Czas górski letni", "ACWST": "Czas środkowo-zachodnioaustralijski standardowy", "WESZ": "Czas zachodnioeuropejski letni", "COT": "Kolumbia (czas standardowy)", "HADT": "Hawaje-Aleuty (czas letni)", "PDT": "Czas pacyficzny letni", "AST": "Czas standardowy atlantycki", "NZDT": "Nowa Zelandia (czas letni)", "UYST": "Urugwaj (czas letni)", "ECT": "Ekwador", "CST": "Czas środkowoamerykański standardowy", "CLT": "Chile (czas standardowy)"}, + erasWide: []string{"przed naszą erą", "naszej ery"}, + timezones: map[string]string{"HKST": "Hongkong (czas letni)", "NZDT": "Nowa Zelandia (czas letni)", "∅∅∅": "Czas amazoński letni", "OESZ": "Czas wschodnioeuropejski letni", "ECT": "Ekwador", "COST": "Kolumbia (czas letni)", "BT": "Bhutan", "SRT": "Surinam", "CHADT": "Chatham (czas letni)", "JST": "Japonia (czas standardowy)", "UYT": "Urugwaj (czas standardowy)", "AKDT": "Alaska (czas letni)", "HAT": "Nowa Fundlandia (czas letni)", "HKT": "Hongkong (czas standardowy)", "SAST": "Czas południowoafrykański", "WAT": "Czas zachodnioafrykański standardowy", "HNCU": "Kuba (czas standardowy)", "MDT": "MDT", "HNPM": "Saint-Pierre i Miquelon (czas standardowy)", "BOT": "Boliwia", "AKST": "Alaska (czas standardowy)", "AWST": "Czas zachodnioaustralijski standardowy", "MEZ": "Czas środkowoeuropejski standardowy", "HNEG": "Grenlandia Wschodnia (czas standardowy)", "ACST": "Czas środkowoaustralijski standardowy", "UYST": "Urugwaj (czas letni)", "ARST": "Argentyna (czas letni)", "AEDT": "Czas wschodnioaustralijski letni", "CHAST": "Chatham (czas standardowy)", "EAT": "Czas wschodnioafrykański", "GMT": "Czas uniwersalny", "PST": "Czas pacyficzny standardowy", "IST": "Czas indyjski", "HEEG": "Grenlandia Wschodnia (czas letni)", "WART": "Argentyna Zachodnia (czas standardowy)", "SGT": "Singapur", "MST": "MST", "WESZ": "Czas zachodnioeuropejski letni", "HEOG": "Grenlandia Zachodnia (czas letni)", "WEZ": "Czas zachodnioeuropejski standardowy", "ACWST": "Czas środkowo-zachodnioaustralijski standardowy", "ChST": "Czamorro", "WAST": "Czas zachodnioafrykański letni", "COT": "Kolumbia (czas standardowy)", "HENOMX": "Meksyk Północno-Zachodni (czas letni)", "GYT": "Gujana", "WIT": "Indonezja Wschodnia", "MESZ": "Czas środkowoeuropejski letni", "HAST": "Hawaje-Aleuty (czas standardowy)", "PDT": "Czas pacyficzny letni", "CLT": "Chile (czas standardowy)", "JDT": "Japonia (czas letni)", "HNNOMX": "Meksyk Północno-Zachodni (czas standardowy)", "EST": "Czas wschodnioamerykański standardowy", "ADT": "Czas atlantycki letni", "MYT": "Malezja", "HNPMX": "Meksyk (czas pacyficzny standardowy)", "HADT": "Hawaje-Aleuty (czas letni)", "ART": "Argentyna (czas standardowy)", "CLST": "Chile (czas letni)", "CST": "Czas środkowoamerykański standardowy", "VET": "Wenezuela", "AST": "Czas atlantycki standardowy", "WIB": "Indonezja Zachodnia", "GFT": "Gujana Francuska", "TMT": "Turkmenistan (czas standardowy)", "AWDT": "Czas zachodnioaustralijski letni", "WITA": "Indonezja Środkowa", "NZST": "Nowa Zelandia (czas standardowy)", "CAT": "Czas środkowoafrykański", "OEZ": "Czas wschodnioeuropejski standardowy", "EDT": "Czas wschodnioamerykański letni", "HEPMX": "Meksyk (czas pacyficzny letni)", "ACWDT": "Czas środkowo-zachodnioaustralijski letni", "HNOG": "Grenlandia Zachodnia (czas standardowy)", "ACDT": "Czas środkowoaustralijski letni", "WARST": "Argentyna Zachodnia (czas letni)", "LHDT": "Lord Howe (czas letni)", "LHST": "Lord Howe (czas standardowy)", "TMST": "Turkmenistan (czas letni)", "HECU": "Kuba (czas letni)", "CDT": "Czas środkowoamerykański letni", "HNT": "Nowa Fundlandia (czas standardowy)", "AEST": "Czas wschodnioaustralijski standardowy", "HEPM": "Saint-Pierre i Miquelon (czas letni)"}, } } @@ -102,8 +102,8 @@ func (pl *pl_PL) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 if i == 1 && v == 0 { return locales.PluralRuleOne @@ -448,7 +448,12 @@ func (pl *pl_PL) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -458,22 +463,17 @@ func (pl *pl_PL) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x20}...) + b = append(b, pl.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - return string(b) } @@ -486,7 +486,12 @@ func (pl *pl_PL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -502,7 +507,12 @@ func (pl *pl_PL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, pl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/prg/prg.go b/prg/prg.go index 29717e364..cba023ce3 100644 --- a/prg/prg.go +++ b/prg/prg.go @@ -53,7 +53,7 @@ func New() locales.Translator { minus: "-", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "rag", "was", "pūl", "sak", "zal", "sīm", "līp", "dag", "sil", "spa", "lap", "sal"}, @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AEST": "AEST", "MST": "Amērikas gārban zēimas kerdā", "SGT": "SGT", "ACDT": "ACDT", "CHAST": "CHAST", "MESZ": "Centrālas Eurōpas daggas kerdā", "UYST": "UYST", "LHDT": "LHDT", "ACWDT": "ACWDT", "EST": "Dēiniskas Amērikas zēimas kerdā", "EDT": "Dēiniskas Amērikas daggas kerdā", "CHADT": "CHADT", "WART": "WART", "COT": "COT", "VET": "VET", "AEDT": "AEDT", "PST": "Pacīfiskas Amērikas zēimas kerdā", "AWST": "AWST", "JST": "JST", "∅∅∅": "∅∅∅", "CAT": "CAT", "WARST": "WARST", "CDT": "Centrālas Amērikas daggas kerdā", "HAT": "HAT", "WEZ": "Wakkariskas Eurōpas zēimas kerdā", "AST": "Atlāntiska zēimas kerdā", "TMT": "TMT", "LHST": "LHST", "WAST": "WAST", "AKST": "AKST", "PDT": "Pacīfiskas Amērikas daggas kerdā", "AWDT": "AWDT", "GMT": "Greenwich kerdā", "SRT": "SRT", "ECT": "ECT", "WITA": "WITA", "TMST": "TMST", "BT": "BT", "JDT": "JDT", "HKT": "HKT", "BOT": "BOT", "NZDT": "NZDT", "OESZ": "Dēiniskas Eurōpas daggas kerdā", "WIB": "WIB", "ACWST": "ACWST", "AKDT": "AKDT", "ADT": "Atlāntiska daggas kerdā", "MYT": "MYT", "ChST": "ChST", "HKST": "HKST", "MEZ": "Centrālas Eurōpas zēimas kerdā", "ART": "ART", "HADT": "HADT", "GYT": "GYT", "CLT": "CLT", "WIT": "WIT", "IST": "IST", "EAT": "EAT", "ARST": "ARST", "CST": "Centrālas Amērikas zēimas kerdā", "UYT": "UYT", "GFT": "GFT", "WAT": "WAT", "MDT": "Amērikas gārban daggas kerdā", "HNT": "HNT", "COST": "COST", "ACST": "ACST", "HAST": "HAST", "SAST": "SAST", "NZST": "NZST", "CLST": "CLST", "OEZ": "Dēiniskas Eurōpas zēimas kerdā", "WESZ": "Wakkariskas Eurōpas daggas kerdā"}, + timezones: map[string]string{"LHDT": "LHDT", "ACDT": "ACDT", "COST": "COST", "MST": "MST", "WESZ": "Wakkariskas Eurōpas daggas kerdā", "HNT": "HNT", "TMT": "TMT", "UYST": "UYST", "AWDT": "AWDT", "HNPM": "HNPM", "NZST": "NZST", "SAST": "SAST", "AKDT": "AKDT", "HADT": "HADT", "HNOG": "HNOG", "JDT": "JDT", "HNEG": "HNEG", "BT": "BT", "PDT": "Pacīfiskas Amērikas daggas kerdā", "MEZ": "Centrālas Eurōpas zēimas kerdā", "GFT": "GFT", "WAT": "WAT", "AKST": "AKST", "ACWDT": "ACWDT", "IST": "IST", "NZDT": "NZDT", "TMST": "TMST", "WART": "WART", "WARST": "WARST", "EDT": "Dēiniskas Amērikas daggas kerdā", "CDT": "Centrālas Amērikas daggas kerdā", "ART": "ART", "ECT": "ECT", "CAT": "CAT", "HAST": "HAST", "CLST": "CLST", "ChST": "ChST", "WITA": "WITA", "CHAST": "CHAST", "BOT": "BOT", "HEEG": "HEEG", "OESZ": "Dēiniskas Eurōpas daggas kerdā", "HNCU": "HNCU", "UYT": "UYT", "ACWST": "ACWST", "HENOMX": "HENOMX", "CLT": "CLT", "HEPMX": "HEPMX", "ADT": "Atlāntiska daggas kerdā", "HEPM": "HEPM", "SRT": "SRT", "WEZ": "Wakkariskas Eurōpas zēimas kerdā", "AWST": "AWST", "CHADT": "CHADT", "WAST": "WAST", "CST": "Centrālas Amērikas zēimas kerdā", "WIB": "WIB", "VET": "VET", "GYT": "GYT", "HNNOMX": "HNNOMX", "HECU": "HECU", "∅∅∅": "∅∅∅", "MDT": "MDT", "HKST": "HKST", "SGT": "SGT", "HAT": "HAT", "PST": "Pacīfiskas Amērikas zēimas kerdā", "LHST": "LHST", "AST": "Atlāntiska zēimas kerdā", "ARST": "ARST", "HKT": "HKT", "JST": "JST", "EAT": "EAT", "MYT": "MYT", "HEOG": "HEOG", "AEST": "AEST", "WIT": "WIT", "AEDT": "AEDT", "MESZ": "Centrālas Eurōpas daggas kerdā", "ACST": "ACST", "OEZ": "Dēiniskas Eurōpas zēimas kerdā", "GMT": "Greenwich kerdā", "HNPMX": "HNPMX", "EST": "Dēiniskas Amērikas zēimas kerdā", "COT": "COT"}, } } @@ -98,8 +98,8 @@ func (prg *prg) CardinalPluralRule(num float64, v uint64) locales.PluralRule { f := locales.F(n, v) nMod10 := math.Mod(n, 10) nMod100 := math.Mod(n, 100) - fMod10 := f % 10 fMod100 := f % 100 + fMod10 := f % 10 if (nMod10 == 0) || (nMod100 >= 11 && nMod100 <= 19) || (v == 2 && fMod100 >= 11 && fMod100 <= 19) { return locales.PluralRuleZero @@ -439,7 +439,12 @@ func (prg *prg) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20, 0x73, 0x74}...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,7 +454,12 @@ func (prg *prg) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d, 0x65, 0x74, 0x74, 0x61, 0x73}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -466,7 +476,13 @@ func (prg *prg) FmtDateFull(t time.Time) string { b = append(b, prg.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d, 0x65, 0x74, 0x74, 0x61, 0x73}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/prg_001/prg_001.go b/prg_001/prg_001.go index e4f1e6971..d902df973 100644 --- a/prg_001/prg_001.go +++ b/prg_001/prg_001.go @@ -53,7 +53,7 @@ func New() locales.Translator { minus: "-", percent: "%", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "rag", "was", "pūl", "sak", "zal", "sīm", "līp", "dag", "sil", "spa", "lap", "sal"}, @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WAST": "WAST", "TMT": "TMT", "CLT": "CLT", "LHDT": "LHDT", "GFT": "GFT", "COST": "COST", "ACWST": "ACWST", "SRT": "SRT", "AEST": "AEST", "WART": "WART", "AKDT": "AKDT", "TMST": "TMST", "CDT": "Centrālas Amērikas daggas kerdā", "MYT": "MYT", "BT": "BT", "UYST": "UYST", "HKT": "HKT", "MESZ": "Centrālas Eurōpas daggas kerdā", "WAT": "WAT", "CST": "Centrālas Amērikas zēimas kerdā", "AWDT": "AWDT", "CLST": "CLST", "WEZ": "Wakkariskas Eurōpas zēimas kerdā", "PST": "Pacīfiskas Amērikas zēimas kerdā", "PDT": "Pacīfiskas Amērikas daggas kerdā", "UYT": "UYT", "WESZ": "Wakkariskas Eurōpas daggas kerdā", "ACDT": "ACDT", "HAST": "HAST", "HADT": "HADT", "ARST": "ARST", "EAT": "EAT", "HAT": "HAT", "GMT": "Greenwich kerdā", "WIB": "WIB", "IST": "IST", "EDT": "Dēiniskas Amērikas daggas kerdā", "CHAST": "CHAST", "SAST": "SAST", "NZST": "NZST", "OESZ": "Dēiniskas Eurōpas daggas kerdā", "MEZ": "Centrālas Eurōpas zēimas kerdā", "ACST": "ACST", "SGT": "SGT", "ACWDT": "ACWDT", "ART": "ART", "AST": "Atlāntiska zēimas kerdā", "CAT": "CAT", "HKST": "HKST", "AEDT": "AEDT", "NZDT": "NZDT", "LHST": "LHST", "ADT": "Atlāntiska daggas kerdā", "WITA": "WITA", "BOT": "BOT", "JST": "JST", "OEZ": "Dēiniskas Eurōpas zēimas kerdā", "CHADT": "CHADT", "COT": "COT", "ECT": "ECT", "GYT": "GYT", "MST": "Amērikas gārban zēimas kerdā", "ChST": "ChST", "WARST": "WARST", "MDT": "Amērikas gārban daggas kerdā", "HNT": "HNT", "EST": "Dēiniskas Amērikas zēimas kerdā", "∅∅∅": "∅∅∅", "AKST": "AKST", "AWST": "AWST", "WIT": "WIT", "JDT": "JDT", "VET": "VET"}, + timezones: map[string]string{"WART": "WART", "HAST": "HAST", "WEZ": "Wakkariskas Eurōpas zēimas kerdā", "HNT": "HNT", "HNOG": "HNOG", "NZST": "NZST", "CHADT": "CHADT", "OESZ": "Dēiniskas Eurōpas daggas kerdā", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "HECU": "HECU", "UYST": "UYST", "ARST": "ARST", "NZDT": "NZDT", "CLST": "CLST", "AWST": "AWST", "MESZ": "Centrālas Eurōpas daggas kerdā", "JST": "JST", "JDT": "JDT", "MYT": "MYT", "HEOG": "HEOG", "CHAST": "CHAST", "EAT": "EAT", "WARST": "WARST", "AKDT": "AKDT", "HKT": "HKT", "GFT": "GFT", "ACST": "ACST", "COT": "COT", "MST": "Amērikas gārban zēimas kerdā", "VET": "VET", "WIT": "WIT", "CST": "Centrālas Amērikas zēimas kerdā", "AST": "Atlāntiska zēimas kerdā", "ADT": "Atlāntiska daggas kerdā", "ACWST": "ACWST", "HEPM": "HEPM", "CDT": "Centrālas Amērikas daggas kerdā", "ART": "ART", "HNPM": "HNPM", "MEZ": "Centrālas Eurōpas zēimas kerdā", "TMST": "TMST", "SRT": "SRT", "PST": "Pacīfiskas Amērikas zēimas kerdā", "SAST": "SAST", "WAT": "WAT", "BT": "BT", "WESZ": "Wakkariskas Eurōpas daggas kerdā", "HEEG": "HEEG", "EST": "Dēiniskas Amērikas zēimas kerdā", "EDT": "Dēiniskas Amērikas daggas kerdā", "WIB": "WIB", "PDT": "Pacīfiskas Amērikas daggas kerdā", "AEST": "AEST", "AEDT": "AEDT", "WAST": "WAST", "SGT": "SGT", "HEPMX": "HEPMX", "GMT": "Greenwich kerdā", "HADT": "HADT", "LHST": "LHST", "IST": "IST", "CLT": "CLT", "∅∅∅": "∅∅∅", "TMT": "TMT", "CAT": "CAT", "GYT": "GYT", "HAT": "HAT", "BOT": "BOT", "ECT": "ECT", "UYT": "UYT", "LHDT": "LHDT", "HNEG": "HNEG", "OEZ": "Dēiniskas Eurōpas zēimas kerdā", "COST": "COST", "MDT": "Amērikas gārban daggas kerdā", "WITA": "WITA", "ChST": "ChST", "ACDT": "ACDT", "HNPMX": "HNPMX", "AKST": "AKST", "ACWDT": "ACWDT", "AWDT": "AWDT", "HKST": "HKST", "HNCU": "HNCU"}, } } @@ -439,7 +439,12 @@ func (prg *prg_001) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20, 0x73, 0x74}...) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,7 +454,12 @@ func (prg *prg_001) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d, 0x65, 0x74, 0x74, 0x61, 0x73}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) @@ -466,7 +476,13 @@ func (prg *prg_001) FmtDateFull(t time.Time) string { b = append(b, prg.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0x6d, 0x65, 0x74, 0x74, 0x61, 0x73}...) b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) diff --git a/ps/ps.go b/ps/ps.go index 555e9d3d7..945febded 100644 --- a/ps/ps.go +++ b/ps/ps.go @@ -50,19 +50,27 @@ func New() locales.Translator { pluralsRange: nil, decimal: "٫", group: "٬", + minus: "‎-‎", percent: "٪", + perMille: "؉", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsWide: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "می", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsAbbreviated: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "مۍ", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "مۍ", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + daysAbbreviated: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, + daysShort: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, daysWide: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, periodsAbbreviated: []string{"غ.م.", "غ.و."}, + periodsNarrow: []string{"غ.م.", "غ.و."}, periodsWide: []string{"غ.م.", "غ.و."}, - erasAbbreviated: []string{"ق.م.", "م."}, + erasAbbreviated: []string{"له میلاد وړاندې", "م."}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"ART": "ART", "CHAST": "CHAST", "ACWST": "ACWST", "ChST": "ChST", "BT": "BT", "PST": "PST", "PDT": "PDT", "NZDT": "NZDT", "ACWDT": "ACWDT", "WART": "WART", "EST": "EST", "CST": "CST", "AST": "AST", "MYT": "MYT", "CAT": "CAT", "JDT": "JDT", "HKT": "HKT", "ACDT": "ACDT", "WARST": "WARST", "CDT": "CDT", "MST": "MST", "BOT": "BOT", "WIT": "WIT", "CLST": "CLST", "UYST": "UYST", "OESZ": "OESZ", "HKST": "HKST", "ACST": "ACST", "NZST": "NZST", "GFT": "GFT", "CHADT": "CHADT", "COT": "COT", "AEST": "AEST", "EDT": "EDT", "IST": "IST", "TMST": "TMST", "OEZ": "OEZ", "HADT": "HADT", "SAST": "SAST", "HNT": "HNT", "CLT": "CLT", "AEDT": "AEDT", "AKDT": "AKDT", "GMT": "گرينويچ وخت", "UYT": "UYT", "MEZ": "MEZ", "TMT": "TMT", "∅∅∅": "∅∅∅", "SRT": "SRT", "HAST": "HAST", "ADT": "ADT", "WAT": "WAT", "WAST": "WAST", "WITA": "WITA", "WESZ": "∅∅∅", "LHST": "LHST", "WIB": "WIB", "SGT": "SGT", "ECT": "ECT", "AWST": "AWST", "AWDT": "AWDT", "HAT": "HAT", "ARST": "ARST", "EAT": "EAT", "AKST": "AKST", "GYT": "GYT", "MDT": "MDT", "WEZ": "∅∅∅", "MESZ": "MESZ", "LHDT": "LHDT", "JST": "JST", "VET": "VET", "COST": "COST"}, + erasWide: []string{"له میلاد څخه وړاندې", "له میلاد څخه وروسته"}, + timezones: map[string]string{"OEZ": "OEZ", "ART": "ART", "HNOG": "HNOG", "WITA": "WITA", "SAST": "SAST", "WAT": "WAT", "∅∅∅": "∅∅∅", "TMT": "TMT", "SGT": "SGT", "AST": "AST", "MDT": "MDT", "ACWST": "ACWST", "ACWDT": "ACWDT", "MESZ": "MESZ", "HNT": "HNT", "AWST": "AWST", "AWDT": "AWDT", "IST": "IST", "COT": "COT", "CHAST": "CHAST", "LHDT": "LHDT", "ACDT": "ACDT", "HADT": "HADT", "SRT": "SRT", "HAT": "HAT", "HEPM": "HEPM", "NZDT": "NZDT", "HNCU": "HNCU", "MYT": "MYT", "BOT": "BOT", "GMT": "گرينويچ وخت", "HENOMX": "HENOMX", "CDT": "CDT", "ADT": "ADT", "HAST": "HAST", "MEZ": "MEZ", "CLST": "CLST", "EDT": "EDT", "HEOG": "HEOG", "HNPM": "HNPM", "NZST": "NZST", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "VET": "VET", "LHST": "LHST", "JDT": "JDT", "GFT": "GFT", "WART": "WART", "AEST": "AEST", "ECT": "ECT", "WARST": "WARST", "ACST": "ACST", "HECU": "HECU", "COST": "COST", "WIB": "WIB", "MST": "MST", "WESZ": "د لودیځې اورپا د اوړي وخت", "HKT": "HKT", "JST": "JST", "WAST": "WAST", "EAT": "EAT", "CST": "CST", "UYT": "UYT", "WEZ": "د لودیځې اروپا معیاري وخت", "HKST": "HKST", "AEDT": "AEDT", "AKDT": "AKDT", "WIT": "WIT", "CAT": "CAT", "UYST": "UYST", "HEEG": "HEEG", "ChST": "ChST", "OESZ": "OESZ", "EST": "EST", "GYT": "GYT", "ARST": "ARST", "PST": "PST", "PDT": "PDT", "TMST": "TMST", "HEPMX": "HEPMX", "AKST": "AKST", "BT": "BT", "CHADT": "CHADT", "CLT": "CLT", "HNEG": "HNEG"}, } } @@ -115,7 +123,7 @@ func (ps *ps) MonthAbbreviated(month time.Month) string { // MonthsAbbreviated returns the locales abbreviated months func (ps *ps) MonthsAbbreviated() []string { - return nil + return ps.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided @@ -125,7 +133,7 @@ func (ps *ps) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ps *ps) MonthsNarrow() []string { - return nil + return ps.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -181,13 +189,83 @@ func (ps *ps) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ps' and handles both Whole and Real numbers based on 'v' func (ps *ps) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 9 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ps.decimal) - 1; j >= 0; j-- { + b = append(b, ps.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ps.group) - 1; j >= 0; j-- { + b = append(b, ps.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ps' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ps *ps) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 11 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ps.decimal) - 1; j >= 0; j-- { + b = append(b, ps.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ps.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ps' @@ -195,7 +273,7 @@ func (ps *ps) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ps.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -225,7 +303,9 @@ func (ps *ps) FmtCurrency(num float64, v uint64, currency currency.Type) string } if num < 0 { - b = append(b, ps.minus[0]) + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } } // reverse @@ -257,7 +337,7 @@ func (ps *ps) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ps.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -288,7 +368,9 @@ func (ps *ps) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - b = append(b, ps.minus[0]) + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } } @@ -325,7 +407,12 @@ func (ps *ps) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -339,11 +426,16 @@ func (ps *ps) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ps.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -354,7 +446,13 @@ func (ps *ps) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xd8, 0xaf, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) b = append(b, ps.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -370,7 +468,13 @@ func (ps *ps) FmtDateFull(t time.Time) string { b = append(b, ps.daysWide[t.Weekday()]...) b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) b = append(b, ps.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ps_AF/ps_AF.go b/ps_AF/ps_AF.go index 7c5dcc952..30deab7eb 100644 --- a/ps_AF/ps_AF.go +++ b/ps_AF/ps_AF.go @@ -50,19 +50,27 @@ func New() locales.Translator { pluralsRange: nil, decimal: "٫", group: "٬", + minus: "‎-‎", percent: "٪", + perMille: "؉", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsWide: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "می", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsAbbreviated: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "مۍ", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "جنوري", "فبروري", "مارچ", "اپریل", "مۍ", "جون", "جولای", "اګست", "سپتمبر", "اکتوبر", "نومبر", "دسمبر"}, + daysAbbreviated: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, + daysShort: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, daysWide: []string{"یکشنبه", "دوشنبه", "سه\u200cشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}, periodsAbbreviated: []string{"غ.م.", "غ.و."}, + periodsNarrow: []string{"غ.م.", "غ.و."}, periodsWide: []string{"غ.م.", "غ.و."}, - erasAbbreviated: []string{"ق.م.", "م."}, + erasAbbreviated: []string{"له میلاد وړاندې", "م."}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"AWST": "AWST", "JST": "JST", "GFT": "GFT", "GYT": "GYT", "LHST": "LHST", "SGT": "SGT", "MST": "MST", "UYT": "UYT", "OEZ": "OEZ", "CHAST": "CHAST", "COST": "COST", "ARST": "ARST", "CDT": "CDT", "WIT": "WIT", "JDT": "JDT", "∅∅∅": "∅∅∅", "WIB": "WIB", "WART": "WART", "AST": "AST", "IST": "IST", "ACST": "ACST", "VET": "VET", "ADT": "ADT", "SAST": "SAST", "TMST": "TMST", "ChST": "ChST", "ECT": "ECT", "WARST": "WARST", "AKDT": "AKDT", "BT": "BT", "LHDT": "LHDT", "CHADT": "CHADT", "WAST": "WAST", "UYST": "UYST", "WESZ": "∅∅∅", "HAST": "HAST", "EDT": "EDT", "CST": "CST", "CAT": "CAT", "HNT": "HNT", "ART": "ART", "PST": "PST", "NZST": "NZST", "HKT": "HKT", "MYT": "MYT", "CLT": "CLT", "MEZ": "MEZ", "MESZ": "MESZ", "ACDT": "ACDT", "AKST": "AKST", "EST": "EST", "PDT": "PDT", "CLST": "CLST", "AEST": "AEST", "ACWDT": "ACWDT", "NZDT": "NZDT", "BOT": "BOT", "AWDT": "AWDT", "GMT": "گرينويچ وخت", "OESZ": "OESZ", "HKST": "HKST", "COT": "COT", "EAT": "EAT", "WAT": "WAT", "TMT": "TMT", "MDT": "MDT", "HAT": "HAT", "WEZ": "∅∅∅", "SRT": "SRT", "HADT": "HADT", "ACWST": "ACWST", "WITA": "WITA", "AEDT": "AEDT"}, + erasWide: []string{"له میلاد څخه وړاندې", "له میلاد څخه وروسته"}, + timezones: map[string]string{"SAST": "SAST", "MYT": "MYT", "UYST": "UYST", "PDT": "PDT", "AWST": "AWST", "AWDT": "AWDT", "WAST": "WAST", "COST": "COST", "GMT": "گرينويچ وخت", "AEST": "AEST", "HKT": "HKT", "CST": "CST", "CDT": "CDT", "ADT": "ADT", "ACWDT": "ACWDT", "CLT": "CLT", "WART": "WART", "HADT": "HADT", "LHDT": "LHDT", "NZST": "NZST", "OESZ": "OESZ", "MDT": "MDT", "AKST": "AKST", "VET": "VET", "SRT": "SRT", "HAT": "HAT", "CLST": "CLST", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "ECT": "ECT", "CAT": "CAT", "GYT": "GYT", "HEOG": "HEOG", "HNPM": "HNPM", "CHAST": "CHAST", "HEEG": "HEEG", "EST": "EST", "AST": "AST", "UYT": "UYT", "WIT": "WIT", "NZDT": "NZDT", "WAT": "WAT", "HNPMX": "HNPMX", "HNT": "HNT", "COT": "COT", "MST": "MST", "WEZ": "د لودیځې اروپا معیاري وخت", "ACWST": "ACWST", "WITA": "WITA", "CHADT": "CHADT", "TMST": "TMST", "HECU": "HECU", "ART": "ART", "AEDT": "AEDT", "HEPMX": "HEPMX", "WIB": "WIB", "MEZ": "MEZ", "LHST": "LHST", "IST": "IST", "BOT": "BOT", "ACST": "ACST", "HENOMX": "HENOMX", "WESZ": "د لودیځې اورپا د اوړي وخت", "MESZ": "MESZ", "GFT": "GFT", "EAT": "EAT", "HNOG": "HNOG", "PST": "PST", "TMT": "TMT", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "HKST": "HKST", "BT": "BT", "ARST": "ARST", "JST": "JST", "JDT": "JDT", "ChST": "ChST", "OEZ": "OEZ", "EDT": "EDT", "HAST": "HAST", "WARST": "WARST", "HNCU": "HNCU", "AKDT": "AKDT", "SGT": "SGT", "HEPM": "HEPM"}, } } @@ -115,7 +123,7 @@ func (ps *ps_AF) MonthAbbreviated(month time.Month) string { // MonthsAbbreviated returns the locales abbreviated months func (ps *ps_AF) MonthsAbbreviated() []string { - return nil + return ps.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided @@ -125,7 +133,7 @@ func (ps *ps_AF) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (ps *ps_AF) MonthsNarrow() []string { - return nil + return ps.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -181,13 +189,83 @@ func (ps *ps_AF) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ps_AF' and handles both Whole and Real numbers based on 'v' func (ps *ps_AF) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 9 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ps.decimal) - 1; j >= 0; j-- { + b = append(b, ps.decimal[j]) + } + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(ps.group) - 1; j >= 0; j-- { + b = append(b, ps.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ps_AF' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ps *ps_AF) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 11 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + for j := len(ps.decimal) - 1; j >= 0; j-- { + b = append(b, ps.decimal[j]) + } + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ps.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ps_AF' @@ -195,7 +273,7 @@ func (ps *ps_AF) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ps.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -225,7 +303,9 @@ func (ps *ps_AF) FmtCurrency(num float64, v uint64, currency currency.Type) stri } if num < 0 { - b = append(b, ps.minus[0]) + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } } // reverse @@ -257,7 +337,7 @@ func (ps *ps_AF) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ps.currencies[currency] - l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 11 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -288,7 +368,9 @@ func (ps *ps_AF) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { - b = append(b, ps.minus[0]) + for j := len(ps.minus) - 1; j >= 0; j-- { + b = append(b, ps.minus[j]) + } } @@ -325,7 +407,12 @@ func (ps *ps_AF) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -339,11 +426,16 @@ func (ps *ps_AF) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ps.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -354,7 +446,13 @@ func (ps *ps_AF) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) b = append(b, []byte{0xd8, 0xaf, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) b = append(b, ps.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -370,7 +468,13 @@ func (ps *ps_AF) FmtDateFull(t time.Time) string { b = append(b, ps.daysWide[t.Weekday()]...) b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd8, 0xaf, 0x20}...) b = append(b, ps.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/pt/pt.go b/pt/pt.go index 1cf2d0121..29faf0c48 100644 --- a/pt/pt.go +++ b/pt/pt.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "Esc.", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "Esc.", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"UYST": "Horário de Verão do Uruguai", "SRT": "Horário do Suriname", "MESZ": "Horário de Verão da Europa Central", "COT": "Horário Padrão da Colômbia", "WAT": "Horário Padrão da África Ocidental", "CLST": "Horário de Verão do Chile", "JST": "Horário Padrão do Japão", "JDT": "Horário de Verão do Japão", "CHAST": "Horário Padrão de Chatham", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "GYT": "Horário da Guiana", "BOT": "Horário da Bolívia", "OESZ": "Horário de Verão da Europa Oriental", "AEST": "Horário Padrão da Austrália Oriental", "ART": "Horário Padrão da Argentina", "AKST": "Horário Padrão do Alasca", "IST": "Horário Padrão da Índia", "CST": "Horário Padrão Central", "NZDT": "Horário de Verão da Nova Zelândia", "WESZ": "Horário de Verão da Europa Ocidental", "SGT": "Horário Padrão de Cingapura", "AST": "Horário Padrão do Atlântico", "EAT": "Horário da África Oriental", "HAT": "Horário de Verão de Terra Nova", "HKST": "Horário de Verão de Hong Kong", "CHADT": "Horário de Verão de Chatham", "ACST": "Horário Padrão da Austrália Central", "COST": "Horário de Verão da Colômbia", "TMST": "Horário de Verão do Turcomenistão", "MYT": "Horário da Malásia", "WIT": "Horário da Indonésia Oriental", "VET": "Horário da Venezuela", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "SAST": "Horário da África do Sul", "UYT": "Horário Padrão do Uruguai", "WIB": "Horário da Indonésia Ocidental", "ARST": "Horário de Verão da Argentina", "PDT": "Horário de Verão do Pacífico", "OEZ": "Horário Padrão da Europa Oriental", "PST": "Horário Padrão do Pacífico", "WITA": "Horário da Indonésia Central", "MDT": "Horário de Verão de Macau", "WART": "Horário Padrão da Argentina Ocidental", "EDT": "Horário de Verão Oriental", "BT": "Horário do Butão", "HNT": "Horário Padrão de Terra Nova", "GMT": "Horário do Meridiano de Greenwich", "LHDT": "Horário de Verão de Lord Howe", "GFT": "Horário da Guiana Francesa", "WEZ": "Horário Padrão da Europa Ocidental", "MEZ": "Horário Padrão da Europa Central", "TMT": "Horário Padrão do Turcomenistão", "AWDT": "Horário de Verão da Austrália Ocidental", "ECT": "Horário do Equador", "WARST": "Horário de Verão da Argentina Ocidental", "CAT": "Horário da África Central", "ADT": "Horário de Verão do Atlântico", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "CLT": "Horário Padrão do Chile", "HKT": "Horário Padrão de Hong Kong", "EST": "Horário Padrão Oriental", "MST": "Horário Padrão de Macau", "∅∅∅": "Horário de Verão de Brasília", "ACDT": "Horário de Verão da Austrália Central", "AKDT": "Horário de Verão do Alasca", "WAST": "Horário de Verão da África Ocidental", "NZST": "Horário Padrão da Nova Zelândia", "AWST": "Horário Padrão da Austrália Ocidental", "LHST": "Horário Padrão de Lord Howe", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "CDT": "Horário de Verão Central", "ChST": "Horário de Chamorro"}, + timezones: map[string]string{"MYT": "Horário da Malásia", "HKT": "Horário Padrão de Hong Kong", "AWST": "Horário Padrão da Austrália Ocidental", "COST": "Horário de Verão da Colômbia", "CST": "Horário Padrão Central", "HKST": "Horário de Verão de Hong Kong", "HNEG": "Horário Padrão da Groelândia Oriental", "MST": "Horário Padrão de Macau", "OESZ": "Horário de Verão da Europa Oriental", "COT": "Horário Padrão da Colômbia", "MDT": "Horário de Verão de Macau", "WITA": "Horário da Indonésia Central", "CHAST": "Horário Padrão de Chatham", "CHADT": "Horário de Verão de Chatham", "EST": "Horário Padrão Oriental", "AKDT": "Horário de Verão do Alasca", "ADT": "Horário de Verão do Atlântico", "BT": "Horário do Butão", "SRT": "Horário do Suriname", "PST": "Horário Padrão do Pacífico", "MEZ": "Horário Padrão da Europa Central", "CLST": "Horário de Verão do Chile", "AEDT": "Horário de Verão da Austrália Oriental", "ACDT": "Horário de Verão da Austrália Central", "HNNOMX": "Horário Padrão do Noroeste do México", "HNT": "Horário Padrão de Terra Nova", "HAT": "Horário de Verão de Terra Nova", "ART": "Horário Padrão da Argentina", "ARST": "Horário de Verão da Argentina", "GFT": "Horário da Guiana Francesa", "TMST": "Horário de Verão do Turcomenistão", "HNOG": "Horário Padrão da Groenlândia Ocidental", "HNCU": "Horário Padrão de Cuba", "CDT": "Horário de Verão Central", "AWDT": "Horário de Verão da Austrália Ocidental", "WAT": "Horário Padrão da África Ocidental", "HENOMX": "Horário de Verão do Noroeste do México", "TMT": "Horário Padrão do Turcomenistão", "BOT": "Horário da Bolívia", "EDT": "Horário de Verão Oriental", "JDT": "Horário de Verão do Japão", "CLT": "Horário Padrão do Chile", "ECT": "Horário do Equador", "AST": "Horário Padrão do Atlântico", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "OEZ": "Horário Padrão da Europa Oriental", "CAT": "Horário da África Central", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "ChST": "Horário de Chamorro", "∅∅∅": "Horário de Verão do Amazonas", "ACST": "Horário Padrão da Austrália Central", "WAST": "Horário de Verão da África Ocidental", "AKST": "Horário Padrão do Alasca", "PDT": "Horário de Verão do Pacífico", "AEST": "Horário Padrão da Austrália Oriental", "NZST": "Horário Padrão da Nova Zelândia", "SAST": "Horário da África do Sul", "HEEG": "Horário de Verão da Groelândia Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "WIT": "Horário da Indonésia Oriental", "LHDT": "Horário de Verão de Lord Howe", "JST": "Horário Padrão do Japão", "GYT": "Horário da Guiana", "WIB": "Horário da Indonésia Ocidental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "WART": "Horário Padrão da Argentina Ocidental", "GMT": "Horário do Meridiano de Greenwich", "NZDT": "Horário de Verão da Nova Zelândia", "VET": "Horário da Venezuela", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HEOG": "Horário de Verão da Groenlândia Ocidental", "WEZ": "Horário Padrão da Europa Ocidental", "IST": "Horário Padrão da Índia", "SGT": "Horário Padrão de Cingapura", "HNPMX": "Horário Padrão do Pacífico do México", "UYT": "Horário Padrão do Uruguai", "UYST": "Horário de Verão do Uruguai", "EAT": "Horário da África Oriental", "WARST": "Horário de Verão da Argentina Ocidental", "HECU": "Horário de Verão de Cuba", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "MESZ": "Horário de Verão da Europa Central", "LHST": "Horário Padrão de Lord Howe"}, } } @@ -118,7 +118,9 @@ func (pt *pt) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_AO/pt_AO.go b/pt_AO/pt_AO.go index ad4535bf2..ad7de266e 100644 --- a/pt_AO/pt_AO.go +++ b/pt_AO/pt_AO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"CLST": "Horário de Verão do Chile", "SRT": "Horário do Suriname", "ACST": "Horário Padrão da Austrália Central", "WITA": "Horário da Indonésia Central", "NZDT": "Horário de Verão da Nova Zelândia", "∅∅∅": "Horário de Verão de Brasília", "PDT": "Horário de Verão do Pacífico", "AST": "Horário Padrão do Atlântico", "ADT": "Horário de Verão do Atlântico", "VET": "Horário da Venezuela", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "WIT": "Horário da Indonésia Oriental", "COST": "Horário de Verão da Colômbia", "ARST": "Horário de Verão da Argentina", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "ChST": "Horário de Chamorro", "HNT": "Horário Padrão de Terra Nova", "UYT": "Horário Padrão do Uruguai", "WAST": "Horário de Verão da África Ocidental", "SAST": "Horário da África do Sul", "AWDT": "Horário de Verão da Austrália Ocidental", "TMST": "Horário de Verão do Turcomenistão", "JDT": "Horário de Verão do Japão", "CHADT": "Horário de Verão de Chatham", "WESZ": "Horário de Verão da Europa Ocidental", "EDT": "Horário de Verão Oriental", "HKT": "Horário Padrão de Hong Kong", "ACDT": "Horário de Verão da Austrália Central", "EAT": "Horário da África Oriental", "BOT": "Horário da Bolívia", "ART": "Horário Padrão da Argentina", "IST": "Horário Padrão da Índia", "MST": "Horário Padrão da Montanha", "MDT": "Horário de Verão da Montanha", "JST": "Horário Padrão do Japão", "ECT": "Horário do Equador", "WIB": "Horário da Indonésia Ocidental", "MEZ": "Horário Padrão da Europa Central", "MYT": "Horário da Malásia", "AEST": "Horário Padrão da Austrália Oriental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "WAT": "Horário Padrão da África Ocidental", "AKST": "Horário Padrão do Alasca", "OEZ": "Horário Padrão da Europa Oriental", "OESZ": "Horário de Verão da Europa Oriental", "TMT": "Horário Padrão do Turcomenistão", "AWST": "Horário Padrão da Austrália Ocidental", "WARST": "Horário de Verão da Argentina Ocidental", "PST": "Horário Padrão do Pacífico", "NZST": "Horário Padrão da Nova Zelândia", "BT": "Horário do Butão", "CLT": "Horário Padrão do Chile", "GFT": "Horário da Guiana Francesa", "WEZ": "Horário Padrão da Europa Ocidental", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "GYT": "Horário da Guiana", "LHST": "Horário Padrão de Lord Howe", "AKDT": "Horário de Verão do Alasca", "EST": "Horário Padrão Oriental", "HAT": "Horário de Verão de Terra Nova", "LHDT": "Horário de Verão de Lord Howe", "SGT": "Horário Padrão de Cingapura", "AEDT": "Horário de Verão da Austrália Oriental", "CST": "Horário Padrão Central", "CDT": "Horário de Verão Central", "UYST": "Horário de Verão do Uruguai", "GMT": "Horário do Meridiano de Greenwich", "HKST": "Horário de Verão de Hong Kong", "WART": "Horário Padrão da Argentina Ocidental", "CHAST": "Horário Padrão de Chatham", "COT": "Horário Padrão da Colômbia", "MESZ": "Horário de Verão da Europa Central", "CAT": "Horário da África Central"}, + timezones: map[string]string{"LHDT": "Horário de Verão de Lord Howe", "EST": "Horário Padrão Oriental", "HKST": "Horário de Verão de Hong Kong", "CLT": "Horário Padrão do Chile", "WARST": "Horário de Verão da Argentina Ocidental", "BT": "Horário do Butão", "PST": "Horário Padrão do Pacífico", "WITA": "Horário da Indonésia Central", "SRT": "Horário do Suriname", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "SAST": "Horário da África do Sul", "CLST": "Horário de Verão do Chile", "HNCU": "Horário Padrão de Cuba", "MDT": "Horário de Verão de Macau", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "NZDT": "Horário de Verão da Nova Zelândia", "MST": "Horário Padrão de Macau", "HEPMX": "Horário de Verão do Pacífico do México", "AEST": "Horário Padrão da Austrália Oriental", "COT": "Horário Padrão da Colômbia", "AKST": "Horário Padrão do Alasca", "UYST": "Horário de Verão do Uruguai", "TMST": "Horário de Verão do Turcomenistão", "HENOMX": "Horário de Verão do Noroeste do México", "HNT": "Horário Padrão de Terra Nova", "MEZ": "Horário Padrão da Europa Central", "LHST": "Horário Padrão de Lord Howe", "CHAST": "Horário Padrão de Chatham", "∅∅∅": "Horário de Verão do Amazonas", "GFT": "Horário da Guiana Francesa", "MYT": "Horário da Malásia", "AEDT": "Horário de Verão da Austrália Oriental", "AWST": "Horário Padrão da Austrália Ocidental", "BOT": "Horário da Bolívia", "OESZ": "Horário de Verão da Europa Oriental", "SGT": "Horário Padrão de Cingapura", "EDT": "Horário de Verão Oriental", "HAT": "Horário de Verão de Terra Nova", "ART": "Horário Padrão da Argentina", "NZST": "Horário Padrão da Nova Zelândia", "IST": "Horário Padrão da Índia", "JDT": "Horário de Verão do Japão", "WART": "Horário Padrão da Argentina Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "TMT": "Horário Padrão do Turcomenistão", "ACDT": "Horário de Verão da Austrália Central", "ADT": "Horário de Verão do Atlântico", "HEOG": "Horário de Verão da Groenlândia Ocidental", "HKT": "Horário Padrão de Hong Kong", "WAST": "Horário de Verão da África Ocidental", "OEZ": "Horário Padrão da Europa Oriental", "CDT": "Horário de Verão Central", "WIT": "Horário da Indonésia Oriental", "PDT": "Horário de Verão do Pacífico", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "HNOG": "Horário Padrão da Groenlândia Ocidental", "AWDT": "Horário de Verão da Austrália Ocidental", "JST": "Horário Padrão do Japão", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "CHADT": "Horário de Verão de Chatham", "ChST": "Horário de Chamorro", "HEEG": "Horário de Verão da Groelândia Oriental", "EAT": "Horário da África Oriental", "HNNOMX": "Horário Padrão do Noroeste do México", "WIB": "Horário da Indonésia Ocidental", "VET": "Horário da Venezuela", "COST": "Horário de Verão da Colômbia", "HNPMX": "Horário Padrão do Pacífico do México", "WEZ": "Horário Padrão da Europa Ocidental", "ARST": "Horário de Verão da Argentina", "HNEG": "Horário Padrão da Groelândia Oriental", "CAT": "Horário da África Central", "WAT": "Horário Padrão da África Ocidental", "ECT": "Horário do Equador", "AKDT": "Horário de Verão do Alasca", "AST": "Horário Padrão do Atlântico", "GYT": "Horário da Guiana", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "MESZ": "Horário de Verão da Europa Central", "ACST": "Horário Padrão da Austrália Central", "GMT": "Horário do Meridiano de Greenwich", "HECU": "Horário de Verão de Cuba", "CST": "Horário Padrão Central", "UYT": "Horário Padrão do Uruguai"}, } } @@ -118,7 +118,9 @@ func (pt *pt_AO) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_AO) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_AO) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_AO) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_AO) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_BR/pt_BR.go b/pt_BR/pt_BR.go index a4b6b4e24..35d54773c 100644 --- a/pt_BR/pt_BR.go +++ b/pt_BR/pt_BR.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"ART": "Horário Padrão da Argentina", "ARST": "Horário de Verão da Argentina", "AKDT": "Horário de Verão do Alasca", "ADT": "Horário de Verão do Atlântico", "GMT": "Horário do Meridiano de Greenwich", "GFT": "Horário da Guiana Francesa", "SRT": "Horário do Suriname", "WEZ": "Horário Padrão da Europa Ocidental", "MDT": "Horário de Verão da Montanha", "CDT": "Horário de Verão Central", "MYT": "Horário da Malásia", "AWDT": "Horário de Verão da Austrália Ocidental", "BT": "Horário do Butão", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "SAST": "Horário da África do Sul", "CLST": "Horário de Verão do Chile", "WITA": "Horário da Indonésia Central", "TMST": "Horário de Verão do Turcomenistão", "MST": "Horário Padrão da Montanha", "MEZ": "Horário Padrão da Europa Central", "ACST": "Horário Padrão da Austrália Central", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "GYT": "Horário da Guiana", "OESZ": "Horário de Verão da Europa Oriental", "HKT": "Horário Padrão de Hong Kong", "AEST": "Horário Padrão da Austrália Oriental", "AKST": "Horário Padrão do Alasca", "EAT": "Horário da África Oriental", "NZDT": "Horário de Verão da Nova Zelândia", "UYT": "Horário Padrão do Uruguai", "EDT": "Horário de Verão Oriental", "PST": "Horário Padrão do Pacífico", "NZST": "Horário Padrão da Nova Zelândia", "WIB": "Horário da Indonésia Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "ChST": "Horário de Chamorro", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "WAST": "Horário de Verão da África Ocidental", "AWST": "Horário Padrão da Austrália Ocidental", "CLT": "Horário Padrão do Chile", "CAT": "Horário da África Central", "WART": "Horário Padrão da Argentina Ocidental", "VET": "Horário da Venezuela", "WAT": "Horário Padrão da África Ocidental", "TMT": "Horário Padrão do Turcomenistão", "HNT": "Horário Padrão de Terra Nova", "HAT": "Horário de Verão de Terra Nova", "CHADT": "Horário de Verão de Chatham", "SGT": "Horário Padrão de Cingapura", "COT": "Horário Padrão da Colômbia", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "IST": "Horário Padrão da Índia", "JST": "Horário Padrão do Japão", "∅∅∅": "Horário de Verão de Brasília", "CST": "Horário Padrão Central", "WIT": "Horário da Indonésia Oriental", "LHST": "Horário Padrão de Lord Howe", "HKST": "Horário de Verão de Hong Kong", "UYST": "Horário de Verão do Uruguai", "ECT": "Horário do Equador", "PDT": "Horário de Verão do Pacífico", "OEZ": "Horário Padrão da Europa Oriental", "WESZ": "Horário de Verão da Europa Ocidental", "ACDT": "Horário de Verão da Austrália Central", "WARST": "Horário de Verão da Argentina Ocidental", "MESZ": "Horário de Verão da Europa Central", "EST": "Horário Padrão Oriental", "AST": "Horário Padrão do Atlântico", "BOT": "Horário da Bolívia", "JDT": "Horário de Verão do Japão", "LHDT": "Horário de Verão de Lord Howe", "CHAST": "Horário Padrão de Chatham", "COST": "Horário de Verão da Colômbia"}, + timezones: map[string]string{"LHST": "Horário Padrão de Lord Howe", "ACDT": "Horário de Verão da Austrália Central", "WAST": "Horário de Verão da África Ocidental", "PDT": "Horário de Verão do Pacífico", "WITA": "Horário da Indonésia Central", "WAT": "Horário Padrão da África Ocidental", "HNNOMX": "Horário Padrão do Noroeste do México", "ART": "Horário Padrão da Argentina", "AWDT": "Horário de Verão da Austrália Ocidental", "MESZ": "Horário de Verão da Europa Central", "HNCU": "Horário Padrão de Cuba", "AST": "Horário Padrão do Atlântico", "BT": "Horário do Butão", "HKST": "Horário de Verão de Hong Kong", "GMT": "Horário do Meridiano de Greenwich", "EST": "Horário Padrão Oriental", "UYST": "Horário de Verão do Uruguai", "HEOG": "Horário de Verão da Groenlândia Ocidental", "∅∅∅": "Horário de Verão do Amazonas", "TMT": "Horário Padrão do Turcomenistão", "WARST": "Horário de Verão da Argentina Ocidental", "COT": "Horário Padrão da Colômbia", "CHADT": "Horário de Verão de Chatham", "MDT": "Horário de Verão de Macau", "HNPMX": "Horário Padrão do Pacífico do México", "MYT": "Horário da Malásia", "UYT": "Horário Padrão do Uruguai", "CLST": "Horário de Verão do Chile", "ACST": "Horário Padrão da Austrália Central", "CAT": "Horário da África Central", "HECU": "Horário de Verão de Cuba", "CDT": "Horário de Verão Central", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "MEZ": "Horário Padrão da Europa Central", "NZST": "Horário Padrão da Nova Zelândia", "SAST": "Horário da África do Sul", "CLT": "Horário Padrão do Chile", "JST": "Horário Padrão do Japão", "HAT": "Horário de Verão de Terra Nova", "BOT": "Horário da Bolívia", "COST": "Horário de Verão da Colômbia", "HENOMX": "Horário de Verão do Noroeste do México", "AKDT": "Horário de Verão do Alasca", "TMST": "Horário de Verão do Turcomenistão", "NZDT": "Horário de Verão da Nova Zelândia", "WIT": "Horário da Indonésia Oriental", "WESZ": "Horário de Verão da Europa Ocidental", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "JDT": "Horário de Verão do Japão", "ChST": "Horário de Chamorro", "MST": "Horário Padrão de Macau", "GYT": "Horário da Guiana", "HEEG": "Horário de Verão da Groelândia Oriental", "ADT": "Horário de Verão do Atlântico", "ARST": "Horário de Verão da Argentina", "HNEG": "Horário Padrão da Groelândia Oriental", "ECT": "Horário do Equador", "SGT": "Horário Padrão de Cingapura", "VET": "Horário da Venezuela", "WART": "Horário Padrão da Argentina Ocidental", "CST": "Horário Padrão Central", "AWST": "Horário Padrão da Austrália Ocidental", "HNOG": "Horário Padrão da Groenlândia Ocidental", "AKST": "Horário Padrão do Alasca", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "WEZ": "Horário Padrão da Europa Ocidental", "HNT": "Horário Padrão de Terra Nova", "HKT": "Horário Padrão de Hong Kong", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "IST": "Horário Padrão da Índia", "EAT": "Horário da África Oriental", "OESZ": "Horário de Verão da Europa Oriental", "SRT": "Horário do Suriname", "CHAST": "Horário Padrão de Chatham", "WIB": "Horário da Indonésia Ocidental", "PST": "Horário Padrão do Pacífico", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "GFT": "Horário da Guiana Francesa", "OEZ": "Horário Padrão da Europa Oriental", "EDT": "Horário de Verão Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "LHDT": "Horário de Verão de Lord Howe"}, } } @@ -118,7 +118,9 @@ func (pt *pt_BR) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_BR) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_BR) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_BR) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_BR) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_CH/pt_CH.go b/pt_CH/pt_CH.go index b45ea3ce9..03fd76ff3 100644 --- a/pt_CH/pt_CH.go +++ b/pt_CH/pt_CH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"OEZ": "Horário Padrão da Europa Oriental", "COT": "Horário Padrão da Colômbia", "EST": "Horário Padrão Oriental", "PST": "Horário Padrão do Pacífico", "GYT": "Horário da Guiana", "ChST": "Horário de Chamorro", "AWST": "Horário Padrão da Austrália Ocidental", "HKT": "Horário Padrão de Hong Kong", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "AKST": "Horário Padrão do Alasca", "CLT": "Horário Padrão do Chile", "COST": "Horário de Verão da Colômbia", "WAT": "Horário Padrão da África Ocidental", "IST": "Horário Padrão da Índia", "AST": "Horário Padrão do Atlântico", "CDT": "Horário de Verão Central", "BT": "Horário do Butão", "PDT": "Horário de Verão do Pacífico", "HKST": "Horário de Verão de Hong Kong", "MESZ": "Horário de Verão da Europa Central", "ARST": "Horário de Verão da Argentina", "TMT": "Horário Padrão do Turcomenistão", "AWDT": "Horário de Verão da Austrália Ocidental", "CHAST": "Horário Padrão de Chatham", "SGT": "Horário Padrão de Cingapura", "WART": "Horário Padrão da Argentina Ocidental", "SAST": "Horário da África do Sul", "ADT": "Horário de Verão do Atlântico", "JDT": "Horário de Verão do Japão", "LHDT": "Horário de Verão de Lord Howe", "WIB": "Horário da Indonésia Ocidental", "CLST": "Horário de Verão do Chile", "UYT": "Horário Padrão do Uruguai", "∅∅∅": "Horário de Verão de Brasília", "CHADT": "Horário de Verão de Chatham", "GFT": "Horário da Guiana Francesa", "VET": "Horário da Venezuela", "WAST": "Horário de Verão da África Ocidental", "MDT": "Horário de Verão da Montanha", "HAT": "Horário de Verão de Terra Nova", "UYST": "Horário de Verão do Uruguai", "OESZ": "Horário de Verão da Europa Oriental", "ACDT": "Horário de Verão da Austrália Central", "AEST": "Horário Padrão da Austrália Oriental", "BOT": "Horário da Bolívia", "CAT": "Horário da África Central", "WESZ": "Horário de Verão da Europa Ocidental", "MYT": "Horário da Malásia", "WEZ": "Horário Padrão da Europa Ocidental", "SRT": "Horário do Suriname", "ECT": "Horário do Equador", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "NZST": "Horário Padrão da Nova Zelândia", "WIT": "Horário da Indonésia Oriental", "GMT": "Horário do Meridiano de Greenwich", "AKDT": "Horário de Verão do Alasca", "TMST": "Horário de Verão do Turcomenistão", "WITA": "Horário da Indonésia Central", "LHST": "Horário Padrão de Lord Howe", "AEDT": "Horário de Verão da Austrália Oriental", "EDT": "Horário de Verão Oriental", "MST": "Horário Padrão da Montanha", "HNT": "Horário Padrão de Terra Nova", "ART": "Horário Padrão da Argentina", "EAT": "Horário da África Oriental", "JST": "Horário Padrão do Japão", "WARST": "Horário de Verão da Argentina Ocidental", "NZDT": "Horário de Verão da Nova Zelândia", "ACST": "Horário Padrão da Austrália Central", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "CST": "Horário Padrão Central", "MEZ": "Horário Padrão da Europa Central"}, + timezones: map[string]string{"CLST": "Horário de Verão do Chile", "GFT": "Horário da Guiana Francesa", "GMT": "Horário do Meridiano de Greenwich", "ChST": "Horário de Chamorro", "ACST": "Horário Padrão da Austrália Central", "COST": "Horário de Verão da Colômbia", "HKST": "Horário de Verão de Hong Kong", "CLT": "Horário Padrão do Chile", "WAST": "Horário de Verão da África Ocidental", "EST": "Horário Padrão Oriental", "HNPMX": "Horário Padrão do Pacífico do México", "PDT": "Horário de Verão do Pacífico", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "MESZ": "Horário de Verão da Europa Central", "WAT": "Horário Padrão da África Ocidental", "WARST": "Horário de Verão da Argentina Ocidental", "HECU": "Horário de Verão de Cuba", "AKST": "Horário Padrão do Alasca", "AKDT": "Horário de Verão do Alasca", "VET": "Horário da Venezuela", "ARST": "Horário de Verão da Argentina", "CHAST": "Horário Padrão de Chatham", "CAT": "Horário da África Central", "EDT": "Horário de Verão Oriental", "MST": "Horário Padrão de Macau", "MYT": "Horário da Malásia", "BT": "Horário do Butão", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "LHDT": "Horário de Verão de Lord Howe", "COT": "Horário Padrão da Colômbia", "SGT": "Horário Padrão de Cingapura", "AST": "Horário Padrão do Atlântico", "UYST": "Horário de Verão do Uruguai", "SRT": "Horário do Suriname", "TMT": "Horário Padrão do Turcomenistão", "WART": "Horário Padrão da Argentina Ocidental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "AWDT": "Horário de Verão da Austrália Ocidental", "IST": "Horário Padrão da Índia", "JST": "Horário Padrão do Japão", "TMST": "Horário de Verão do Turcomenistão", "ECT": "Horário do Equador", "WIB": "Horário da Indonésia Ocidental", "BOT": "Horário da Bolívia", "EAT": "Horário da África Oriental", "HENOMX": "Horário de Verão do Noroeste do México", "MDT": "Horário de Verão de Macau", "∅∅∅": "Horário de Verão do Amazonas", "HEEG": "Horário de Verão da Groelândia Oriental", "OEZ": "Horário Padrão da Europa Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "ADT": "Horário de Verão do Atlântico", "HAT": "Horário de Verão de Terra Nova", "PST": "Horário Padrão do Pacífico", "WESZ": "Horário de Verão da Europa Ocidental", "JDT": "Horário de Verão do Japão", "ACDT": "Horário de Verão da Austrália Central", "HNNOMX": "Horário Padrão do Noroeste do México", "HNCU": "Horário Padrão de Cuba", "CDT": "Horário de Verão Central", "UYT": "Horário Padrão do Uruguai", "ART": "Horário Padrão da Argentina", "HNOG": "Horário Padrão da Groenlândia Ocidental", "CHADT": "Horário de Verão de Chatham", "LHST": "Horário Padrão de Lord Howe", "NZDT": "Horário de Verão da Nova Zelândia", "CST": "Horário Padrão Central", "GYT": "Horário da Guiana", "HNT": "Horário Padrão de Terra Nova", "HEOG": "Horário de Verão da Groenlândia Ocidental", "WEZ": "Horário Padrão da Europa Ocidental", "WITA": "Horário da Indonésia Central", "HNEG": "Horário Padrão da Groelândia Oriental", "OESZ": "Horário de Verão da Europa Oriental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HKT": "Horário Padrão de Hong Kong", "MEZ": "Horário Padrão da Europa Central", "NZST": "Horário Padrão da Nova Zelândia", "SAST": "Horário da África do Sul", "WIT": "Horário da Indonésia Oriental", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "AEDT": "Horário de Verão da Austrália Oriental", "AWST": "Horário Padrão da Austrália Ocidental"}, } } @@ -118,7 +118,9 @@ func (pt *pt_CH) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_CH) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_CH) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_CH) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_CH) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_CV/pt_CV.go b/pt_CV/pt_CV.go index cbce1ea26..9793116f9 100644 --- a/pt_CV/pt_CV.go +++ b/pt_CV/pt_CV.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "\u200b", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "\u200bPTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "\u200b", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "\u200bPTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"EAT": "Horário da África Oriental", "TMT": "Horário Padrão do Turcomenistão", "CAT": "Horário da África Central", "LHST": "Horário Padrão de Lord Howe", "WART": "Horário Padrão da Argentina Ocidental", "CLT": "Horário Padrão do Chile", "WIT": "Horário da Indonésia Oriental", "COST": "Horário de Verão da Colômbia", "PST": "Horário Padrão do Pacífico", "OEZ": "Horário Padrão da Europa Oriental", "WIB": "Horário da Indonésia Ocidental", "IST": "Horário Padrão da Índia", "MDT": "Horário de Verão da Montanha", "ChST": "Horário de Chamorro", "BOT": "Horário da Bolívia", "HAT": "Horário de Verão de Terra Nova", "HKT": "Horário Padrão de Hong Kong", "ECT": "Horário do Equador", "EST": "Horário Padrão Oriental", "CDT": "Horário de Verão Central", "NZDT": "Horário de Verão da Nova Zelândia", "OESZ": "Horário de Verão da Europa Oriental", "AKDT": "Horário de Verão do Alasca", "SGT": "Horário Padrão de Cingapura", "AEST": "Horário Padrão da Austrália Oriental", "AKST": "Horário Padrão do Alasca", "AST": "Horário Padrão do Atlântico", "AWDT": "Horário de Verão da Austrália Ocidental", "JST": "Horário Padrão do Japão", "LHDT": "Horário de Verão de Lord Howe", "MEZ": "Horário Padrão da Europa Central", "ADT": "Horário de Verão do Atlântico", "COT": "Horário Padrão da Colômbia", "ACST": "Horário Padrão da Austrália Central", "ART": "Horário Padrão da Argentina", "WAST": "Horário de Verão da África Ocidental", "BT": "Horário do Butão", "∅∅∅": "Horário de Verão de Brasília", "SRT": "Horário do Suriname", "MESZ": "Horário de Verão da Europa Central", "WITA": "Horário da Indonésia Central", "MST": "Horário Padrão da Montanha", "AWST": "Horário Padrão da Austrália Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "VET": "Horário da Venezuela", "ARST": "Horário de Verão da Argentina", "TMST": "Horário de Verão do Turcomenistão", "NZST": "Horário Padrão da Nova Zelândia", "HNT": "Horário Padrão de Terra Nova", "CLST": "Horário de Verão do Chile", "GMT": "Horário do Meridiano de Greenwich", "CHAST": "Horário Padrão de Chatham", "EDT": "Horário de Verão Oriental", "CST": "Horário Padrão Central", "GYT": "Horário da Guiana", "UYT": "Horário Padrão do Uruguai", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "WAT": "Horário Padrão da África Ocidental", "UYST": "Horário de Verão do Uruguai", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "MYT": "Horário da Malásia", "JDT": "Horário de Verão do Japão", "HKST": "Horário de Verão de Hong Kong", "CHADT": "Horário de Verão de Chatham", "SAST": "Horário da África do Sul", "ACDT": "Horário de Verão da Austrália Central", "WARST": "Horário de Verão da Argentina Ocidental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "PDT": "Horário de Verão do Pacífico", "GFT": "Horário da Guiana Francesa", "WEZ": "Horário Padrão da Europa Ocidental"}, + timezones: map[string]string{"AWST": "Horário Padrão da Austrália Ocidental", "CHAST": "Horário Padrão de Chatham", "CLT": "Horário Padrão do Chile", "EAT": "Horário da África Oriental", "ECT": "Horário do Equador", "GMT": "Horário do Meridiano de Greenwich", "UYT": "Horário Padrão do Uruguai", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "GFT": "Horário da Guiana Francesa", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "ACST": "Horário Padrão da Austrália Central", "HECU": "Horário de Verão de Cuba", "WIT": "Horário da Indonésia Oriental", "ART": "Horário Padrão da Argentina", "PDT": "Horário de Verão do Pacífico", "NZDT": "Horário de Verão da Nova Zelândia", "CHADT": "Horário de Verão de Chatham", "CAT": "Horário da África Central", "HNNOMX": "Horário Padrão do Noroeste do México", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "WESZ": "Horário de Verão da Europa Ocidental", "HAT": "Horário de Verão de Terra Nova", "AKST": "Horário Padrão do Alasca", "ADT": "Horário de Verão do Atlântico", "WEZ": "Horário Padrão da Europa Ocidental", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "SAST": "Horário da África do Sul", "COST": "Horário de Verão da Colômbia", "AST": "Horário Padrão do Atlântico", "MYT": "Horário da Malásia", "HNT": "Horário Padrão de Terra Nova", "MEZ": "Horário Padrão da Europa Central", "HENOMX": "Horário de Verão do Noroeste do México", "UYST": "Horário de Verão do Uruguai", "BT": "Horário do Butão", "HKST": "Horário de Verão de Hong Kong", "AEST": "Horário Padrão da Austrália Oriental", "VET": "Horário da Venezuela", "MESZ": "Horário de Verão da Europa Central", "ChST": "Horário de Chamorro", "IST": "Horário Padrão da Índia", "TMST": "Horário de Verão do Turcomenistão", "WAT": "Horário Padrão da África Ocidental", "WART": "Horário Padrão da Argentina Ocidental", "AKDT": "Horário de Verão do Alasca", "SRT": "Horário do Suriname", "HEOG": "Horário de Verão da Groenlândia Ocidental", "TMT": "Horário Padrão do Turcomenistão", "ACDT": "Horário de Verão da Austrália Central", "WAST": "Horário de Verão da África Ocidental", "∅∅∅": "Horário de Verão do Peru", "SGT": "Horário Padrão de Cingapura", "CLST": "Horário de Verão do Chile", "MDT": "Horário de Verão de Macau", "GYT": "Horário da Guiana", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HEEG": "Horário de Verão da Groelândia Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "EST": "Horário Padrão Oriental", "WIB": "Horário da Indonésia Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "LHST": "Horário Padrão de Lord Howe", "BOT": "Horário da Bolívia", "OESZ": "Horário de Verão da Europa Oriental", "COT": "Horário Padrão da Colômbia", "WITA": "Horário da Indonésia Central", "LHDT": "Horário de Verão de Lord Howe", "JDT": "Horário de Verão do Japão", "HNCU": "Horário Padrão de Cuba", "ARST": "Horário de Verão da Argentina", "AWDT": "Horário de Verão da Austrália Ocidental", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "WARST": "Horário de Verão da Argentina Ocidental", "MST": "Horário Padrão de Macau", "HNOG": "Horário Padrão da Groenlândia Ocidental", "JST": "Horário Padrão do Japão", "EDT": "Horário de Verão Oriental", "HNEG": "Horário Padrão da Groelândia Oriental", "HKT": "Horário Padrão de Hong Kong", "NZST": "Horário Padrão da Nova Zelândia", "OEZ": "Horário Padrão da Europa Oriental", "HNPMX": "Horário Padrão do Pacífico do México", "CST": "Horário Padrão Central", "CDT": "Horário de Verão Central", "PST": "Horário Padrão do Pacífico"}, } } @@ -118,7 +118,9 @@ func (pt *pt_CV) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_CV) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_CV) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_CV) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_CV) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_GQ/pt_GQ.go b/pt_GQ/pt_GQ.go index 421fc1532..eee3e0f6e 100644 --- a/pt_GQ/pt_GQ.go +++ b/pt_GQ/pt_GQ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"WIT": "Horário da Indonésia Oriental", "GFT": "Horário da Guiana Francesa", "ACST": "Horário Padrão da Austrália Central", "ACDT": "Horário de Verão da Austrália Central", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "CAT": "Horário da África Central", "HAT": "Horário de Verão de Terra Nova", "CHADT": "Horário de Verão de Chatham", "WART": "Horário Padrão da Argentina Ocidental", "CDT": "Horário de Verão Central", "NZDT": "Horário de Verão da Nova Zelândia", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "AWDT": "Horário de Verão da Austrália Ocidental", "OESZ": "Horário de Verão da Europa Oriental", "COT": "Horário Padrão da Colômbia", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "EST": "Horário Padrão Oriental", "EDT": "Horário de Verão Oriental", "HKST": "Horário de Verão de Hong Kong", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "MEZ": "Horário Padrão da Europa Central", "AEDT": "Horário de Verão da Austrália Oriental", "MYT": "Horário da Malásia", "BOT": "Horário da Bolívia", "CLST": "Horário de Verão do Chile", "GMT": "Horário do Meridiano de Greenwich", "OEZ": "Horário Padrão da Europa Oriental", "CHAST": "Horário Padrão de Chatham", "VET": "Horário da Venezuela", "IST": "Horário Padrão da Índia", "LHST": "Horário Padrão de Lord Howe", "WESZ": "Horário de Verão da Europa Ocidental", "ECT": "Horário do Equador", "WAT": "Horário Padrão da África Ocidental", "WAST": "Horário de Verão da África Ocidental", "HNT": "Horário Padrão de Terra Nova", "CLT": "Horário Padrão do Chile", "COST": "Horário de Verão da Colômbia", "PST": "Horário Padrão do Pacífico", "MST": "Horário Padrão da Montanha", "ChST": "Horário de Chamorro", "ARST": "Horário de Verão da Argentina", "SAST": "Horário da África do Sul", "PDT": "Horário de Verão do Pacífico", "AST": "Horário Padrão do Atlântico", "CST": "Horário Padrão Central", "BT": "Horário do Butão", "WARST": "Horário de Verão da Argentina Ocidental", "EAT": "Horário da África Oriental", "MDT": "Horário de Verão da Montanha", "WEZ": "Horário Padrão da Europa Ocidental", "SRT": "Horário do Suriname", "WIB": "Horário da Indonésia Ocidental", "JDT": "Horário de Verão do Japão", "∅∅∅": "Horário de Verão do Acre", "MESZ": "Horário de Verão da Europa Central", "AEST": "Horário Padrão da Austrália Oriental", "AKDT": "Horário de Verão do Alasca", "ADT": "Horário de Verão do Atlântico", "AWST": "Horário Padrão da Austrália Ocidental", "LHDT": "Horário de Verão de Lord Howe", "JST": "Horário Padrão do Japão", "HKT": "Horário Padrão de Hong Kong", "SGT": "Horário Padrão de Cingapura", "WITA": "Horário da Indonésia Central", "TMT": "Horário Padrão do Turcomenistão", "TMST": "Horário de Verão do Turcomenistão", "GYT": "Horário da Guiana", "ART": "Horário Padrão da Argentina", "AKST": "Horário Padrão do Alasca", "NZST": "Horário Padrão da Nova Zelândia", "UYT": "Horário Padrão do Uruguai", "UYST": "Horário de Verão do Uruguai"}, + timezones: map[string]string{"WARST": "Horário de Verão da Argentina Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "IST": "Horário Padrão da Índia", "TMT": "Horário Padrão do Turcomenistão", "MESZ": "Horário de Verão da Europa Central", "EST": "Horário Padrão Oriental", "MDT": "Horário de Verão de Macau", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HAT": "Horário de Verão de Terra Nova", "NZDT": "Horário de Verão da Nova Zelândia", "GMT": "Horário do Meridiano de Greenwich", "SGT": "Horário Padrão de Cingapura", "UYST": "Horário de Verão do Uruguai", "WEZ": "Horário Padrão da Europa Ocidental", "WART": "Horário Padrão da Argentina Ocidental", "COST": "Horário de Verão da Colômbia", "AST": "Horário Padrão do Atlântico", "HNT": "Horário Padrão de Terra Nova", "CHADT": "Horário de Verão de Chatham", "WAT": "Horário Padrão da África Ocidental", "ECT": "Horário do Equador", "PST": "Horário Padrão do Pacífico", "ChST": "Horário de Chamorro", "MYT": "Horário da Malásia", "UYT": "Horário Padrão do Uruguai", "ARST": "Horário de Verão da Argentina", "AEDT": "Horário de Verão da Austrália Oriental", "JDT": "Horário de Verão do Japão", "CST": "Horário Padrão Central", "ADT": "Horário de Verão do Atlântico", "WIB": "Horário da Indonésia Ocidental", "ACDT": "Horário de Verão da Austrália Central", "HNOG": "Horário Padrão da Groenlândia Ocidental", "SAST": "Horário da África do Sul", "TMST": "Horário de Verão do Turcomenistão", "AWDT": "Horário de Verão da Austrália Ocidental", "WAST": "Horário de Verão da África Ocidental", "HNNOMX": "Horário Padrão do Noroeste do México", "MST": "Horário Padrão de Macau", "VET": "Horário da Venezuela", "HKST": "Horário de Verão de Hong Kong", "HNEG": "Horário Padrão da Groelândia Oriental", "AWST": "Horário Padrão da Austrália Ocidental", "MEZ": "Horário Padrão da Europa Central", "JST": "Horário Padrão do Japão", "CLT": "Horário Padrão do Chile", "CLST": "Horário de Verão do Chile", "OEZ": "Horário Padrão da Europa Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "AKDT": "Horário de Verão do Alasca", "GYT": "Horário da Guiana", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "HEOG": "Horário de Verão da Groenlândia Ocidental", "LHST": "Horário Padrão de Lord Howe", "HENOMX": "Horário de Verão do Noroeste do México", "HECU": "Horário de Verão de Cuba", "CDT": "Horário de Verão Central", "WIT": "Horário da Indonésia Oriental", "ART": "Horário Padrão da Argentina", "OESZ": "Horário de Verão da Europa Oriental", "EAT": "Horário da África Oriental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "WITA": "Horário da Indonésia Central", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "ACST": "Horário Padrão da Austrália Central", "EDT": "Horário de Verão Oriental", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HKT": "Horário Padrão de Hong Kong", "BOT": "Horário da Bolívia", "PDT": "Horário de Verão do Pacífico", "NZST": "Horário Padrão da Nova Zelândia", "CHAST": "Horário Padrão de Chatham", "∅∅∅": "Horário de Verão do Peru", "COT": "Horário Padrão da Colômbia", "AKST": "Horário Padrão do Alasca", "BT": "Horário do Butão", "SRT": "Horário do Suriname", "LHDT": "Horário de Verão de Lord Howe", "HEEG": "Horário de Verão da Groelândia Oriental", "GFT": "Horário da Guiana Francesa", "CAT": "Horário da África Central", "HNCU": "Horário Padrão de Cuba", "HNPMX": "Horário Padrão do Pacífico do México", "WESZ": "Horário de Verão da Europa Ocidental", "HEPM": "Horário de Verão de Saint Pierre e Miquelon"}, } } @@ -118,7 +118,9 @@ func (pt *pt_GQ) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_GQ) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_GQ) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_GQ) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_GQ) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_GW/pt_GW.go b/pt_GW/pt_GW.go index a8e0cc6b1..fa991b63d 100644 --- a/pt_GW/pt_GW.go +++ b/pt_GW/pt_GW.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"ChST": "Horário de Chamorro", "HAT": "Horário de Verão de Terra Nova", "HKT": "Horário Padrão de Hong Kong", "SGT": "Horário Padrão de Cingapura", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "EDT": "Horário de Verão Oriental", "AST": "Horário Padrão do Atlântico", "MYT": "Horário da Malásia", "JST": "Horário Padrão do Japão", "GFT": "Horário da Guiana Francesa", "TMST": "Horário de Verão do Turcomenistão", "GYT": "Horário da Guiana", "MDT": "Horário de Verão da Montanha", "NZDT": "Horário de Verão da Nova Zelândia", "WART": "Horário Padrão da Argentina Ocidental", "EAT": "Horário da África Oriental", "WITA": "Horário da Indonésia Central", "NZST": "Horário Padrão da Nova Zelândia", "LHST": "Horário Padrão de Lord Howe", "OEZ": "Horário Padrão da Europa Oriental", "WEZ": "Horário Padrão da Europa Ocidental", "COST": "Horário de Verão da Colômbia", "∅∅∅": "Horário de Verão dos Açores", "MST": "Horário Padrão da Montanha", "AKST": "Horário Padrão do Alasca", "PST": "Horário Padrão do Pacífico", "SAST": "Horário da África do Sul", "WAT": "Horário Padrão da África Ocidental", "CST": "Horário Padrão Central", "CHADT": "Horário de Verão de Chatham", "SRT": "Horário do Suriname", "OESZ": "Horário de Verão da Europa Oriental", "WARST": "Horário de Verão da Argentina Ocidental", "CLST": "Horário de Verão do Chile", "GMT": "Horário do Meridiano de Greenwich", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "IST": "Horário Padrão da Índia", "EST": "Horário Padrão Oriental", "BOT": "Horário da Bolívia", "BT": "Horário do Butão", "AEST": "Horário Padrão da Austrália Oriental", "WAST": "Horário de Verão da África Ocidental", "WIT": "Horário da Indonésia Oriental", "JDT": "Horário de Verão do Japão", "MESZ": "Horário de Verão da Europa Central", "AEDT": "Horário de Verão da Austrália Oriental", "PDT": "Horário de Verão do Pacífico", "CDT": "Horário de Verão Central", "AWDT": "Horário de Verão da Austrália Ocidental", "CHAST": "Horário Padrão de Chatham", "WIB": "Horário da Indonésia Ocidental", "HNT": "Horário Padrão de Terra Nova", "WESZ": "Horário de Verão da Europa Ocidental", "HKST": "Horário de Verão de Hong Kong", "VET": "Horário da Venezuela", "UYST": "Horário de Verão do Uruguai", "ACDT": "Horário de Verão da Austrália Central", "ADT": "Horário de Verão do Atlântico", "TMT": "Horário Padrão do Turcomenistão", "CAT": "Horário da África Central", "AWST": "Horário Padrão da Austrália Ocidental", "COT": "Horário Padrão da Colômbia", "ARST": "Horário de Verão da Argentina", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "LHDT": "Horário de Verão de Lord Howe", "UYT": "Horário Padrão do Uruguai", "MEZ": "Horário Padrão da Europa Central", "AKDT": "Horário de Verão do Alasca", "CLT": "Horário Padrão do Chile", "ECT": "Horário do Equador", "ACST": "Horário Padrão da Austrália Central", "ART": "Horário Padrão da Argentina", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas"}, + timezones: map[string]string{"HEPMX": "Horário de Verão do Pacífico do México", "MDT": "Horário de Verão da Montanha", "LHDT": "Horário de Verão de Lord Howe", "NZST": "Horário Padrão da Nova Zelândia", "TMT": "Horário Padrão do Turcomenistão", "HNNOMX": "Horário Padrão do Noroeste do México", "HECU": "Horário de Verão de Cuba", "HNOG": "Horário Padrão da Groenlândia Ocidental", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "NZDT": "Horário de Verão da Nova Zelândia", "HNEG": "Horário Padrão da Groelândia Oriental", "UYT": "Horário Padrão do Uruguai", "MST": "Horário Padrão da Montanha", "CHADT": "Horário de Verão de Chatham", "BOT": "Horário da Bolívia", "WART": "Horário Padrão da Argentina Ocidental", "HNPMX": "Horário Padrão do Pacífico do México", "AST": "Horário Padrão do Atlântico", "ADT": "Horário de Verão do Atlântico", "BT": "Horário do Butão", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "CLT": "Horário Padrão do Chile", "SRT": "Horário do Suriname", "HKT": "Horário Padrão de Hong Kong", "OEZ": "Horário Padrão da Europa Oriental", "CST": "Horário Padrão Central", "WIB": "Horário da Indonésia Ocidental", "WIT": "Horário da Indonésia Oriental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HKST": "Horário de Verão de Hong Kong", "CHAST": "Horário Padrão de Chatham", "EAT": "Horário da África Oriental", "WARST": "Horário de Verão da Argentina Ocidental", "EDT": "Horário de Verão Oriental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "WESZ": "Horário de Verão da Europa Ocidental", "ART": "Horário Padrão da Argentina", "MEZ": "Horário Padrão da Europa Central", "MESZ": "Horário de Verão da Europa Central", "GFT": "Horário da Guiana Francesa", "ACST": "Horário Padrão da Austrália Central", "ECT": "Horário do Equador", "AWST": "Horário Padrão da Austrália Ocidental", "WITA": "Horário da Indonésia Central", "AEDT": "Horário de Verão da Austrália Oriental", "AKDT": "Horário de Verão do Alasca", "SGT": "Horário Padrão de Cingapura", "MYT": "Horário da Malásia", "UYST": "Horário de Verão do Uruguai", "ARST": "Horário de Verão da Argentina", "JST": "Horário Padrão do Japão", "GYT": "Horário da Guiana", "HAT": "Horário de Verão de Terra Nova", "SAST": "Horário da África do Sul", "ChST": "Horário de Chamorro", "ACDT": "Horário de Verão da Austrália Central", "EST": "Horário Padrão Oriental", "AKST": "Horário Padrão do Alasca", "LHST": "Horário Padrão de Lord Howe", "IST": "Horário Padrão da Índia", "TMST": "Horário de Verão do Turcomenistão", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "PDT": "Horário de Verão do Pacífico", "∅∅∅": "Horário de Verão do Amazonas", "HEEG": "Horário de Verão da Groelândia Oriental", "WAT": "Horário Padrão da África Ocidental", "WAST": "Horário de Verão da África Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "CLST": "Horário de Verão do Chile", "JDT": "Horário de Verão do Japão", "COST": "Horário de Verão da Colômbia", "HENOMX": "Horário de Verão do Noroeste do México", "CDT": "Horário de Verão Central", "HNT": "Horário Padrão de Terra Nova", "PST": "Horário Padrão do Pacífico", "AWDT": "Horário de Verão da Austrália Ocidental", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "CAT": "Horário da África Central", "COT": "Horário Padrão da Colômbia", "VET": "Horário da Venezuela", "WEZ": "Horário Padrão da Europa Ocidental", "HEOG": "Horário de Verão da Groenlândia Ocidental", "OESZ": "Horário de Verão da Europa Oriental", "HNCU": "Horário Padrão de Cuba", "GMT": "Horário do Meridiano de Greenwich"}, } } @@ -118,7 +118,9 @@ func (pt *pt_GW) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_GW) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_GW) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_GW) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_GW) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_LU/pt_LU.go b/pt_LU/pt_LU.go index 6bf36f995..14ce4657d 100644 --- a/pt_LU/pt_LU.go +++ b/pt_LU/pt_LU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "F", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"BOT": "Horário da Bolívia", "AWST": "Horário Padrão da Austrália Ocidental", "CLST": "Horário de Verão do Chile", "UYST": "Horário de Verão do Uruguai", "SGT": "Horário Padrão de Cingapura", "WAST": "Horário de Verão da África Ocidental", "MYT": "Horário da Malásia", "GYT": "Horário da Guiana", "LHDT": "Horário de Verão de Lord Howe", "ART": "Horário Padrão da Argentina", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "ACDT": "Horário de Verão da Austrália Central", "JST": "Horário Padrão do Japão", "GMT": "Horário do Meridiano de Greenwich", "NZDT": "Horário de Verão da Nova Zelândia", "CHAST": "Horário Padrão de Chatham", "LHST": "Horário Padrão de Lord Howe", "WEZ": "Horário Padrão da Europa Ocidental", "COST": "Horário de Verão da Colômbia", "SAST": "Horário da África do Sul", "CST": "Horário Padrão Central", "AWDT": "Horário de Verão da Austrália Ocidental", "WITA": "Horário da Indonésia Central", "TMT": "Horário Padrão do Turcomenistão", "∅∅∅": "Horário de Verão dos Açores", "WIT": "Horário da Indonésia Oriental", "ECT": "Horário do Equador", "IST": "Horário Padrão da Índia", "AKST": "Horário Padrão do Alasca", "PST": "Horário Padrão do Pacífico", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "EDT": "Horário de Verão Oriental", "PDT": "Horário de Verão do Pacífico", "CHADT": "Horário de Verão de Chatham", "MEZ": "Horário Padrão da Europa Central", "CAT": "Horário da África Central", "BT": "Horário do Butão", "ADT": "Horário de Verão do Atlântico", "NZST": "Horário Padrão da Nova Zelândia", "HNT": "Horário Padrão de Terra Nova", "MESZ": "Horário de Verão da Europa Central", "MDT": "Horário de Verão da Montanha", "HAT": "Horário de Verão de Terra Nova", "WIB": "Horário da Indonésia Ocidental", "ARST": "Horário de Verão da Argentina", "WART": "Horário Padrão da Argentina Ocidental", "UYT": "Horário Padrão do Uruguai", "WAT": "Horário Padrão da África Ocidental", "MST": "Horário Padrão da Montanha", "COT": "Horário Padrão da Colômbia", "WARST": "Horário de Verão da Argentina Ocidental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "TMST": "Horário de Verão do Turcomenistão", "ChST": "Horário de Chamorro", "JDT": "Horário de Verão do Japão", "GFT": "Horário da Guiana Francesa", "HKT": "Horário Padrão de Hong Kong", "OEZ": "Horário Padrão da Europa Oriental", "SRT": "Horário do Suriname", "OESZ": "Horário de Verão da Europa Oriental", "VET": "Horário da Venezuela", "AEDT": "Horário de Verão da Austrália Oriental", "CLT": "Horário Padrão do Chile", "HKST": "Horário de Verão de Hong Kong", "AST": "Horário Padrão do Atlântico", "EAT": "Horário da África Oriental", "CDT": "Horário de Verão Central", "ACST": "Horário Padrão da Austrália Central", "AEST": "Horário Padrão da Austrália Oriental", "AKDT": "Horário de Verão do Alasca", "EST": "Horário Padrão Oriental"}, + timezones: map[string]string{"MST": "Horário Padrão de Macau", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "EAT": "Horário da África Oriental", "ADT": "Horário de Verão do Atlântico", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "MEZ": "Horário Padrão da Europa Central", "BOT": "Horário da Bolívia", "ART": "Horário Padrão da Argentina", "NZDT": "Horário de Verão da Nova Zelândia", "CHAST": "Horário Padrão de Chatham", "HECU": "Horário de Verão de Cuba", "HNPMX": "Horário Padrão do Pacífico do México", "MDT": "Horário de Verão de Macau", "AST": "Horário Padrão do Atlântico", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "LHDT": "Horário de Verão de Lord Howe", "SGT": "Horário Padrão de Cingapura", "HNT": "Horário Padrão de Terra Nova", "PST": "Horário Padrão do Pacífico", "CAT": "Horário da África Central", "HNCU": "Horário Padrão de Cuba", "HEPMX": "Horário de Verão do Pacífico do México", "BT": "Horário do Butão", "SRT": "Horário do Suriname", "AEST": "Horário Padrão da Austrália Oriental", "CHADT": "Horário de Verão de Chatham", "TMT": "Horário Padrão do Turcomenistão", "HENOMX": "Horário de Verão do Noroeste do México", "EDT": "Horário de Verão Oriental", "UYT": "Horário Padrão do Uruguai", "HKST": "Horário de Verão de Hong Kong", "AEDT": "Horário de Verão da Austrália Oriental", "COT": "Horário Padrão da Colômbia", "GMT": "Horário do Meridiano de Greenwich", "CST": "Horário Padrão Central", "UYST": "Horário de Verão do Uruguai", "WITA": "Horário da Indonésia Central", "VET": "Horário da Venezuela", "AKST": "Horário Padrão do Alasca", "HAT": "Horário de Verão de Terra Nova", "ECT": "Horário do Equador", "GYT": "Horário da Guiana", "LHST": "Horário Padrão de Lord Howe", "HNEG": "Horário Padrão da Groelândia Oriental", "HEEG": "Horário de Verão da Groelândia Oriental", "SAST": "Horário da África do Sul", "CLT": "Horário Padrão do Chile", "ACST": "Horário Padrão da Austrália Central", "∅∅∅": "Horário de Verão dos Açores", "EST": "Horário Padrão Oriental", "ARST": "Horário de Verão da Argentina", "PDT": "Horário de Verão do Pacífico", "AWST": "Horário Padrão da Austrália Ocidental", "ACDT": "Horário de Verão da Austrália Central", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "IST": "Horário Padrão da Índia", "JST": "Horário Padrão do Japão", "HNNOMX": "Horário Padrão do Noroeste do México", "WART": "Horário Padrão da Argentina Ocidental", "WARST": "Horário de Verão da Argentina Ocidental", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HEOG": "Horário de Verão da Groenlândia Ocidental", "WAT": "Horário Padrão da África Ocidental", "CDT": "Horário de Verão Central", "WESZ": "Horário de Verão da Europa Ocidental", "OEZ": "Horário Padrão da Europa Oriental", "MESZ": "Horário de Verão da Europa Central", "WAST": "Horário de Verão da África Ocidental", "AKDT": "Horário de Verão do Alasca", "MYT": "Horário da Malásia", "WIB": "Horário da Indonésia Ocidental", "HNOG": "Horário Padrão da Groenlândia Ocidental", "WEZ": "Horário Padrão da Europa Ocidental", "CLST": "Horário de Verão do Chile", "GFT": "Horário da Guiana Francesa", "TMST": "Horário de Verão do Turcomenistão", "COST": "Horário de Verão da Colômbia", "WIT": "Horário da Indonésia Oriental", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "NZST": "Horário Padrão da Nova Zelândia", "JDT": "Horário de Verão do Japão", "OESZ": "Horário de Verão da Europa Oriental", "HKT": "Horário Padrão de Hong Kong", "AWDT": "Horário de Verão da Austrália Ocidental", "ChST": "Horário de Chamorro"}, } } @@ -118,7 +118,9 @@ func (pt *pt_LU) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_LU) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_LU) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_LU) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_LU) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_MO/pt_MO.go b/pt_MO/pt_MO.go index 7dc29122a..dc33ef13f 100644 --- a/pt_MO/pt_MO.go +++ b/pt_MO/pt_MO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"GMT": "Horário do Meridiano de Greenwich", "JDT": "Horário de Verão do Japão", "MESZ": "Horário de Verão da Europa Central", "ACST": "Horário Padrão da Austrália Central", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AST": "Horário Padrão do Atlântico", "EST": "Horário Padrão Oriental", "TMT": "Horário Padrão do Turcomenistão", "LHDT": "Horário de Verão de Lord Howe", "ACDT": "Horário de Verão da Austrália Central", "PDT": "Horário de Verão do Pacífico", "NZDT": "Horário de Verão da Nova Zelândia", "WESZ": "Horário de Verão da Europa Ocidental", "GFT": "Horário da Guiana Francesa", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "SAST": "Horário da África do Sul", "TMST": "Horário de Verão do Turcomenistão", "HNT": "Horário Padrão de Terra Nova", "CLST": "Horário de Verão do Chile", "UYT": "Horário Padrão do Uruguai", "JST": "Horário Padrão do Japão", "SRT": "Horário do Suriname", "CHADT": "Horário de Verão de Chatham", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "CDT": "Horário de Verão Central", "MYT": "Horário da Malásia", "CHAST": "Horário Padrão de Chatham", "OEZ": "Horário Padrão da Europa Oriental", "COT": "Horário Padrão da Colômbia", "WITA": "Horário da Indonésia Central", "HAT": "Horário de Verão de Terra Nova", "∅∅∅": "Horário de Verão de Brasília", "AWST": "Horário Padrão da Austrália Ocidental", "COST": "Horário de Verão da Colômbia", "ECT": "Horário do Equador", "AEDT": "Horário de Verão da Austrália Oriental", "ADT": "Horário de Verão do Atlântico", "MDT": "Horário de Verão da Montanha", "WIT": "Horário da Indonésia Oriental", "WART": "Horário Padrão da Argentina Ocidental", "WIB": "Horário da Indonésia Ocidental", "VET": "Horário da Venezuela", "WARST": "Horário de Verão da Argentina Ocidental", "PST": "Horário Padrão do Pacífico", "IST": "Horário Padrão da Índia", "ChST": "Horário de Chamorro", "CLT": "Horário Padrão do Chile", "SGT": "Horário Padrão de Cingapura", "ARST": "Horário de Verão da Argentina", "WAST": "Horário de Verão da África Ocidental", "BT": "Horário do Butão", "CST": "Horário Padrão Central", "MST": "Horário Padrão da Montanha", "LHST": "Horário Padrão de Lord Howe", "HKT": "Horário Padrão de Hong Kong", "HKST": "Horário de Verão de Hong Kong", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "EAT": "Horário da África Oriental", "AKDT": "Horário de Verão do Alasca", "EDT": "Horário de Verão Oriental", "WAT": "Horário Padrão da África Ocidental", "BOT": "Horário da Bolívia", "OESZ": "Horário de Verão da Europa Oriental", "MEZ": "Horário Padrão da Europa Central", "AKST": "Horário Padrão do Alasca", "GYT": "Horário da Guiana", "NZST": "Horário Padrão da Nova Zelândia", "UYST": "Horário de Verão do Uruguai", "WEZ": "Horário Padrão da Europa Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "ART": "Horário Padrão da Argentina", "CAT": "Horário da África Central", "AWDT": "Horário de Verão da Austrália Ocidental"}, + timezones: map[string]string{"HEOG": "Horário de Verão da Groenlândia Ocidental", "CLST": "Horário de Verão do Chile", "OEZ": "Horário Padrão da Europa Oriental", "AST": "Horário Padrão do Atlântico", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "WARST": "Horário de Verão da Argentina Ocidental", "AKST": "Horário Padrão do Alasca", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "MEZ": "Horário Padrão da Europa Central", "JST": "Horário Padrão do Japão", "ChST": "Horário de Chamorro", "WAT": "Horário Padrão da África Ocidental", "TMST": "Horário de Verão do Turcomenistão", "CAT": "Horário da África Central", "MDT": "Horário de Verão de Macau", "CST": "Horário Padrão Central", "HNT": "Horário Padrão de Terra Nova", "JDT": "Horário de Verão do Japão", "TMT": "Horário Padrão do Turcomenistão", "HEPMX": "Horário de Verão do Pacífico do México", "WEZ": "Horário Padrão da Europa Ocidental", "AKDT": "Horário de Verão do Alasca", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "BT": "Horário do Butão", "HKT": "Horário Padrão de Hong Kong", "GFT": "Horário da Guiana Francesa", "WART": "Horário Padrão da Argentina Ocidental", "COT": "Horário Padrão da Colômbia", "MYT": "Horário da Malásia", "SRT": "Horário do Suriname", "HNEG": "Horário Padrão da Groelândia Oriental", "HEEG": "Horário de Verão da Groelândia Oriental", "WAST": "Horário de Verão da África Ocidental", "ECT": "Horário do Equador", "ADT": "Horário de Verão do Atlântico", "PDT": "Horário de Verão do Pacífico", "HKST": "Horário de Verão de Hong Kong", "ACST": "Horário Padrão da Austrália Central", "ACDT": "Horário de Verão da Austrália Central", "HECU": "Horário de Verão de Cuba", "UYT": "Horário Padrão do Uruguai", "ARST": "Horário de Verão da Argentina", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "NZDT": "Horário de Verão da Nova Zelândia", "CHAST": "Horário Padrão de Chatham", "WIT": "Horário da Indonésia Oriental", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "HAT": "Horário de Verão de Terra Nova", "AEST": "Horário Padrão da Austrália Oriental", "WITA": "Horário da Indonésia Central", "CDT": "Horário de Verão Central", "GYT": "Horário da Guiana", "WIB": "Horário da Indonésia Ocidental", "VET": "Horário da Venezuela", "NZST": "Horário Padrão da Nova Zelândia", "IST": "Horário Padrão da Índia", "GMT": "Horário do Meridiano de Greenwich", "HNCU": "Horário Padrão de Cuba", "LHDT": "Horário de Verão de Lord Howe", "CHADT": "Horário de Verão de Chatham", "AWST": "Horário Padrão da Austrália Ocidental", "AWDT": "Horário de Verão da Austrália Ocidental", "∅∅∅": "Horário de Verão do Amazonas", "EST": "Horário Padrão Oriental", "HNPMX": "Horário Padrão do Pacífico do México", "UYST": "Horário de Verão do Uruguai", "HNOG": "Horário Padrão da Groenlândia Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "LHST": "Horário Padrão de Lord Howe", "SAST": "Horário da África do Sul", "HNNOMX": "Horário Padrão do Noroeste do México", "MST": "Horário Padrão de Macau", "ART": "Horário Padrão da Argentina", "MESZ": "Horário de Verão da Europa Central", "CLT": "Horário Padrão do Chile", "COST": "Horário de Verão da Colômbia", "SGT": "Horário Padrão de Cingapura", "BOT": "Horário da Bolívia", "EDT": "Horário de Verão Oriental", "WESZ": "Horário de Verão da Europa Ocidental", "EAT": "Horário da África Oriental", "OESZ": "Horário de Verão da Europa Oriental", "HENOMX": "Horário de Verão do Noroeste do México", "PST": "Horário Padrão do Pacífico"}, } } @@ -118,7 +118,9 @@ func (pt *pt_MO) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_MO) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_MO) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_MO) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_MO) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_MZ/pt_MZ.go b/pt_MZ/pt_MZ.go index 5ec88fa70..5c42cf78d 100644 --- a/pt_MZ/pt_MZ.go +++ b/pt_MZ/pt_MZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"JST": "Horário Padrão do Japão", "OEZ": "Horário Padrão da Europa Oriental", "EST": "Horário Padrão Oriental", "TMST": "Horário de Verão do Turcomenistão", "MYT": "Horário da Malásia", "WEZ": "Horário Padrão da Europa Ocidental", "COST": "Horário de Verão da Colômbia", "ART": "Horário Padrão da Argentina", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AKST": "Horário Padrão do Alasca", "ADT": "Horário de Verão do Atlântico", "EAT": "Horário da África Oriental", "TMT": "Horário Padrão do Turcomenistão", "VET": "Horário da Venezuela", "MESZ": "Horário de Verão da Europa Central", "WAT": "Horário Padrão da África Ocidental", "AST": "Horário Padrão do Atlântico", "NZDT": "Horário de Verão da Nova Zelândia", "ACST": "Horário Padrão da Austrália Central", "AEDT": "Horário de Verão da Austrália Oriental", "MST": "Horário Padrão da Montanha", "CDT": "Horário de Verão Central", "CLT": "Horário Padrão do Chile", "CAT": "Horário da África Central", "CHADT": "Horário de Verão de Chatham", "PST": "Horário Padrão do Pacífico", "WART": "Horário Padrão da Argentina Ocidental", "LHST": "Horário Padrão de Lord Howe", "LHDT": "Horário de Verão de Lord Howe", "CST": "Horário Padrão Central", "GYT": "Horário da Guiana", "BOT": "Horário da Bolívia", "BT": "Horário do Butão", "WESZ": "Horário de Verão da Europa Ocidental", "WARST": "Horário de Verão da Argentina Ocidental", "WIB": "Horário da Indonésia Ocidental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "IST": "Horário Padrão da Índia", "MDT": "Horário de Verão da Montanha", "AWST": "Horário Padrão da Austrália Ocidental", "HKST": "Horário de Verão de Hong Kong", "GFT": "Horário da Guiana Francesa", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "AKDT": "Horário de Verão do Alasca", "UYT": "Horário Padrão do Uruguai", "SGT": "Horário Padrão de Cingapura", "SAST": "Horário da África do Sul", "COT": "Horário Padrão da Colômbia", "AEST": "Horário Padrão da Austrália Oriental", "PDT": "Horário de Verão do Pacífico", "WITA": "Horário da Indonésia Central", "NZST": "Horário Padrão da Nova Zelândia", "WIT": "Horário da Indonésia Oriental", "∅∅∅": "Horário de Verão de Brasília", "WAST": "Horário de Verão da África Ocidental", "CLST": "Horário de Verão do Chile", "HKT": "Horário Padrão de Hong Kong", "ChST": "Horário de Chamorro", "ECT": "Horário do Equador", "ACDT": "Horário de Verão da Austrália Central", "ARST": "Horário de Verão da Argentina", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "HNT": "Horário Padrão de Terra Nova", "CHAST": "Horário Padrão de Chatham", "SRT": "Horário do Suriname", "GMT": "Horário do Meridiano de Greenwich", "UYST": "Horário de Verão do Uruguai", "JDT": "Horário de Verão do Japão", "EDT": "Horário de Verão Oriental", "AWDT": "Horário de Verão da Austrália Ocidental", "HAT": "Horário de Verão de Terra Nova", "OESZ": "Horário de Verão da Europa Oriental", "MEZ": "Horário Padrão da Europa Central"}, + timezones: map[string]string{"HNPMX": "Horário Padrão do Pacífico do México", "AKDT": "Horário de Verão do Alasca", "AEDT": "Horário de Verão da Austrália Oriental", "TMST": "Horário de Verão do Turcomenistão", "HEEG": "Horário de Verão da Groelândia Oriental", "OEZ": "Horário Padrão da Europa Oriental", "ECT": "Horário do Equador", "EST": "Horário Padrão Oriental", "COST": "Horário de Verão da Colômbia", "HNNOMX": "Horário Padrão do Noroeste do México", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AWST": "Horário Padrão da Austrália Ocidental", "HKT": "Horário Padrão de Hong Kong", "NZDT": "Horário de Verão da Nova Zelândia", "JDT": "Horário de Verão do Japão", "COT": "Horário Padrão da Colômbia", "MDT": "Horário de Verão de Macau", "WIT": "Horário da Indonésia Oriental", "SRT": "Horário do Suriname", "OESZ": "Horário de Verão da Europa Oriental", "CAT": "Horário da África Central", "WAT": "Horário Padrão da África Ocidental", "GMT": "Horário do Meridiano de Greenwich", "CST": "Horário Padrão Central", "VET": "Horário da Venezuela", "HEOG": "Horário de Verão da Groenlândia Ocidental", "ACDT": "Horário de Verão da Austrália Central", "EAT": "Horário da África Oriental", "HECU": "Horário de Verão de Cuba", "MYT": "Horário da Malásia", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "IST": "Horário Padrão da Índia", "∅∅∅": "Horário de Verão do Amazonas", "GFT": "Horário da Guiana Francesa", "TMT": "Horário Padrão do Turcomenistão", "BOT": "Horário da Bolívia", "SGT": "Horário Padrão de Cingapura", "HAT": "Horário de Verão de Terra Nova", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "CHAST": "Horário Padrão de Chatham", "CHADT": "Horário de Verão de Chatham", "LHST": "Horário Padrão de Lord Howe", "ACST": "Horário Padrão da Austrália Central", "HNT": "Horário Padrão de Terra Nova", "AST": "Horário Padrão do Atlântico", "NZST": "Horário Padrão da Nova Zelândia", "CLT": "Horário Padrão do Chile", "WARST": "Horário de Verão da Argentina Ocidental", "MST": "Horário Padrão de Macau", "WIB": "Horário da Indonésia Ocidental", "ART": "Horário Padrão da Argentina", "MEZ": "Horário Padrão da Europa Central", "GYT": "Horário da Guiana", "ARST": "Horário de Verão da Argentina", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "SAST": "Horário da África do Sul", "ADT": "Horário de Verão do Atlântico", "PST": "Horário Padrão do Pacífico", "CLST": "Horário de Verão do Chile", "WART": "Horário Padrão da Argentina Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "HNEG": "Horário Padrão da Groelândia Oriental", "HENOMX": "Horário de Verão do Noroeste do México", "UYT": "Horário Padrão do Uruguai", "HNCU": "Horário Padrão de Cuba", "EDT": "Horário de Verão Oriental", "BT": "Horário do Butão", "PDT": "Horário de Verão do Pacífico", "WEZ": "Horário Padrão da Europa Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "WITA": "Horário da Indonésia Central", "LHDT": "Horário de Verão de Lord Howe", "AKST": "Horário Padrão do Alasca", "HKST": "Horário de Verão de Hong Kong", "CDT": "Horário de Verão Central", "MESZ": "Horário de Verão da Europa Central", "JST": "Horário Padrão do Japão", "ChST": "Horário de Chamorro", "HEPMX": "Horário de Verão do Pacífico do México", "UYST": "Horário de Verão do Uruguai", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "HNOG": "Horário Padrão da Groenlândia Ocidental", "AWDT": "Horário de Verão da Austrália Ocidental", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "WAST": "Horário de Verão da África Ocidental"}, } } @@ -118,7 +118,9 @@ func (pt *pt_MZ) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_MZ) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_MZ) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_MZ) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_MZ) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_PT/pt_PT.go b/pt_PT/pt_PT.go index 4ac9c27e0..25aaba1dd 100644 --- a/pt_PT/pt_PT.go +++ b/pt_PT/pt_PT.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "\u200b", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "\u200b", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"a.E.C.", "E.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AWDT": "Hora de verão da Austrália Ocidental", "SGT": "Hora padrão de Singapura", "COT": "Hora padrão da Colômbia", "WART": "Hora padrão da Argentina Ocidental", "NZDT": "Hora de verão da Nova Zelândia", "HKT": "Hora padrão de Hong Kong", "ART": "Hora padrão da Argentina", "EAT": "Hora da África Oriental", "IST": "Hora padrão da Índia", "AST": "Hora padrão do Atlântico", "CDT": "Hora de verão Central", "JDT": "Hora de verão do Japão", "WEZ": "Hora padrão da Europa Ocidental", "AKDT": "Hora de verão do Alasca", "MST": "Hora padrão da Montanha", "MYT": "Hora da Malásia", "AKST": "Hora padrão do Alasca", "AWST": "Hora padrão da Austrália Ocidental", "WIT": "Hora da Indonésia Oriental", "LHST": "Hora padrão de Lord Howe", "GFT": "Hora da Guiana Francesa", "MESZ": "Hora de verão da Europa Central", "ACST": "Hora padrão da Austrália Central", "BT": "Hora do Butão", "CLT": "Hora padrão do Chile", "VET": "Hora da Venezuela", "ACWST": "Hora padrão da Austrália Central Ocidental", "CAT": "Hora da África Central", "HAT": "Hora de verão da Terra Nova", "WARST": "Hora de verão da Argentina Ocidental", "WAT": "Hora padrão da África Ocidental", "PST": "Hora padrão do Pacífico", "CLST": "Hora de verão do Chile", "UYT": "Hora padrão do Uruguai", "EST": "Hora padrão Oriental", "GYT": "Hora da Guiana", "WESZ": "Hora de verão da Europa Ocidental", "CHADT": "Hora de verão do Chatham", "SAST": "Hora da África do Sul", "∅∅∅": "Hora de verão de Brasília", "ACDT": "Hora de verão da Austrália Central", "COST": "Hora de verão da Colômbia", "AEST": "Hora padrão da Austrália Oriental", "PDT": "Hora de verão do Pacífico", "MDT": "Hora de verão da Montanha", "GMT": "Hora de Greenwich", "BOT": "Hora da Bolívia", "ARST": "Hora de verão da Argentina", "WITA": "Hora da Indonésia Central", "HNT": "Hora padrão da Terra Nova", "UYST": "Hora de verão do Uruguai", "JST": "Hora padrão do Japão", "OESZ": "Hora de verão da Europa Oriental", "ECT": "Hora do Equador", "HAST": "Hora padrão do Havai e Aleutas", "HKST": "Hora de verão de Hong Kong", "MEZ": "Hora padrão da Europa Central", "TMST": "Hora de verão do Turquemenistão", "CHAST": "Hora padrão do Chatham", "SRT": "Hora do Suriname", "AEDT": "Hora de verão da Austrália Oriental", "ADT": "Hora de verão do Atlântico", "LHDT": "Hora de verão de Lord Howe", "WIB": "Hora da Indonésia Ocidental", "EDT": "Hora de verão Oriental", "NZST": "Hora padrão da Nova Zelândia", "ChST": "Hora padrão do Chamorro", "OEZ": "Hora padrão da Europa Oriental", "HADT": "Hora de verão do Havai e Aleutas", "ACWDT": "Hora de verão da Austrália Central Ocidental", "WAST": "Hora de verão da África Ocidental", "TMT": "Hora padrão do Turquemenistão", "CST": "Hora padrão Central"}, + timezones: map[string]string{"ACDT": "Hora de verão da Austrália Central", "EDT": "Hora de verão Oriental", "LHDT": "Hora de verão de Lord Howe", "IST": "Hora padrão da Índia", "HEEG": "Hora de verão da Gronelândia Oriental", "ACWST": "Hora padrão da Austrália Central Ocidental", "AWST": "Hora padrão da Austrália Ocidental", "HKT": "Hora padrão de Hong Kong", "WITA": "Hora da Indonésia Central", "MEZ": "Hora padrão da Europa Central", "ACST": "Hora padrão da Austrália Central", "∅∅∅": "Hora de verão do Peru", "MDT": "Hora de verão de Macau", "AEST": "Hora padrão da Austrália Oriental", "JST": "Hora padrão do Japão", "HECU": "Hora de verão de Cuba", "HADT": "Hora de verão do Havai e Aleutas", "HEOG": "Hora de verão da Gronelândia Ocidental", "LHST": "Hora padrão de Lord Howe", "HNEG": "Hora padrão da Gronelândia Oriental", "WAT": "Hora padrão da África Ocidental", "OEZ": "Hora padrão da Europa Oriental", "SRT": "Hora do Suriname", "ART": "Hora padrão da Argentina", "CLT": "Hora padrão do Chile", "WAST": "Hora de verão da África Ocidental", "UYST": "Hora de verão do Uruguai", "PDT": "Hora de verão do Pacífico", "AWDT": "Hora de verão da Austrália Ocidental", "AEDT": "Hora de verão da Austrália Oriental", "HNPMX": "Hora padrão do Pacífico Mexicano", "MESZ": "Hora de verão da Europa Central", "JDT": "Hora de verão do Japão", "NZDT": "Hora de verão da Nova Zelândia", "WARST": "Hora de verão da Argentina Ocidental", "ADT": "Hora de verão do Atlântico", "VET": "Hora da Venezuela", "HKST": "Hora de verão de Hong Kong", "HNPM": "Hora padrão de São Pedro e Miquelão", "WIB": "Hora da Indonésia Ocidental", "HNOG": "Hora padrão da Gronelândia Ocidental", "OESZ": "Hora de verão da Europa Oriental", "ECT": "Hora do Equador", "HNNOMX": "Hora padrão do Noroeste do México", "HENOMX": "Hora de verão do Noroeste do México", "AST": "Hora padrão do Atlântico", "HNCU": "Hora padrão de Cuba", "WESZ": "Hora de verão da Europa Ocidental", "GFT": "Hora da Guiana Francesa", "EAT": "Hora da África Oriental", "CAT": "Hora da África Central", "AKDT": "Hora de verão do Alasca", "HNT": "Hora padrão da Terra Nova", "PST": "Hora padrão do Pacífico", "CHADT": "Hora de verão do Chatham", "CLST": "Hora de verão do Chile", "BOT": "Hora da Bolívia", "GMT": "Hora de Greenwich", "CST": "Hora padrão Central", "HAST": "Hora padrão do Havai e Aleutas", "ACWDT": "Hora de verão da Austrália Central Ocidental", "NZST": "Hora padrão da Nova Zelândia", "AKST": "Hora padrão do Alasca", "GYT": "Hora da Guiana", "HEPM": "Hora de verão de São Pedro e Miquelão", "ChST": "Hora padrão do Chamorro", "BT": "Hora do Butão", "WEZ": "Hora padrão da Europa Ocidental", "HAT": "Hora de verão da Terra Nova", "HEPMX": "Hora de verão do Pacífico Mexicano", "EST": "Hora padrão Oriental", "CDT": "Hora de verão Central", "MYT": "Hora da Malásia", "WIT": "Hora da Indonésia Oriental", "ARST": "Hora de verão da Argentina", "TMT": "Hora padrão do Turquemenistão", "TMST": "Hora de verão do Turquemenistão", "WART": "Hora padrão da Argentina Ocidental", "SGT": "Hora padrão de Singapura", "MST": "Hora padrão de Macau", "UYT": "Hora padrão do Uruguai", "SAST": "Hora da África do Sul", "COT": "Hora padrão da Colômbia", "COST": "Hora de verão da Colômbia", "CHAST": "Hora padrão do Chatham"}, } } @@ -120,7 +120,9 @@ func (pt *pt_PT) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -448,7 +450,12 @@ func (pt *pt_PT) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +471,12 @@ func (pt *pt_PT) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -482,7 +494,12 @@ func (pt *pt_PT) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_ST/pt_ST.go b/pt_ST/pt_ST.go index 81cc9756c..e0ad2eacd 100644 --- a/pt_ST/pt_ST.go +++ b/pt_ST/pt_ST.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "Db", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "Db", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"WIB": "Horário da Indonésia Ocidental", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "AEDT": "Horário de Verão da Austrália Oriental", "∅∅∅": "Horário de Verão de Brasília", "HNT": "Horário Padrão de Terra Nova", "WESZ": "Horário de Verão da Europa Ocidental", "CHAST": "Horário Padrão de Chatham", "ACST": "Horário Padrão da Austrália Central", "AWDT": "Horário de Verão da Austrália Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "WARST": "Horário de Verão da Argentina Ocidental", "CAT": "Horário da África Central", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "COST": "Horário de Verão da Colômbia", "BOT": "Horário da Bolívia", "BT": "Horário do Butão", "LHST": "Horário Padrão de Lord Howe", "SRT": "Horário do Suriname", "MEZ": "Horário Padrão da Europa Central", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "MDT": "Horário de Verão de Macau", "GMT": "Horário do Meridiano de Greenwich", "VET": "Horário da Venezuela", "TMT": "Horário Padrão do Turcomenistão", "CST": "Horário Padrão Central", "HAT": "Horário de Verão de Terra Nova", "WIT": "Horário da Indonésia Oriental", "LHDT": "Horário de Verão de Lord Howe", "OEZ": "Horário Padrão da Europa Oriental", "OESZ": "Horário de Verão da Europa Oriental", "ECT": "Horário do Equador", "AKST": "Horário Padrão do Alasca", "AWST": "Horário Padrão da Austrália Ocidental", "CLST": "Horário de Verão do Chile", "MST": "Horário Padrão de Macau", "COT": "Horário Padrão da Colômbia", "EAT": "Horário da África Oriental", "EST": "Horário Padrão Oriental", "PDT": "Horário de Verão do Pacífico", "GYT": "Horário da Guiana", "NZST": "Horário Padrão da Nova Zelândia", "ChST": "Horário de Chamorro", "ARST": "Horário de Verão da Argentina", "WART": "Horário Padrão da Argentina Ocidental", "ADT": "Horário de Verão do Atlântico", "EDT": "Horário de Verão Oriental", "NZDT": "Horário de Verão da Nova Zelândia", "JST": "Horário Padrão do Japão", "WEZ": "Horário Padrão da Europa Ocidental", "CHADT": "Horário de Verão de Chatham", "MESZ": "Horário de Verão da Europa Central", "ART": "Horário Padrão da Argentina", "IST": "Horário Padrão da Índia", "MYT": "Horário da Malásia", "UYST": "Horário de Verão do Uruguai", "GFT": "Horário da Guiana Francesa", "SGT": "Horário Padrão de Cingapura", "AST": "Horário Padrão do Atlântico", "WAST": "Horário de Verão da África Ocidental", "CDT": "Horário de Verão Central", "UYT": "Horário Padrão do Uruguai", "AKDT": "Horário de Verão do Alasca", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "JDT": "Horário de Verão do Japão", "WITA": "Horário da Indonésia Central", "CLT": "Horário Padrão do Chile", "ACDT": "Horário de Verão da Austrália Central", "WAT": "Horário Padrão da África Ocidental", "HKST": "Horário de Verão de Hong Kong", "SAST": "Horário da África do Sul", "PST": "Horário Padrão do Pacífico", "TMST": "Horário de Verão do Turcomenistão", "HKT": "Horário Padrão de Hong Kong"}, + timezones: map[string]string{"UYST": "Horário de Verão do Uruguai", "WEZ": "Horário Padrão da Europa Ocidental", "CHADT": "Horário de Verão de Chatham", "COT": "Horário Padrão da Colômbia", "HNNOMX": "Horário Padrão do Noroeste do México", "MDT": "Horário de Verão de Macau", "HNPMX": "Horário Padrão do Pacífico do México", "GYT": "Horário da Guiana", "ACST": "Horário Padrão da Austrália Central", "LHDT": "Horário de Verão de Lord Howe", "NZST": "Horário Padrão da Nova Zelândia", "GFT": "Horário da Guiana Francesa", "OESZ": "Horário de Verão da Europa Oriental", "MST": "Horário Padrão de Macau", "ADT": "Horário de Verão do Atlântico", "WIT": "Horário da Indonésia Oriental", "PST": "Horário Padrão do Pacífico", "OEZ": "Horário Padrão da Europa Oriental", "HEPMX": "Horário de Verão do Pacífico do México", "HKT": "Horário Padrão de Hong Kong", "MEZ": "Horário Padrão da Europa Central", "IST": "Horário Padrão da Índia", "WART": "Horário Padrão da Argentina Ocidental", "HECU": "Horário de Verão de Cuba", "AST": "Horário Padrão do Atlântico", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "CLST": "Horário de Verão do Chile", "AEDT": "Horário de Verão da Austrália Oriental", "BOT": "Horário da Bolívia", "ECT": "Horário do Equador", "WARST": "Horário de Verão da Argentina Ocidental", "EST": "Horário Padrão Oriental", "AWST": "Horário Padrão da Austrália Ocidental", "AWDT": "Horário de Verão da Austrália Ocidental", "HEEG": "Horário de Verão da Groelândia Oriental", "COST": "Horário de Verão da Colômbia", "EDT": "Horário de Verão Oriental", "HEOG": "Horário de Verão da Groenlândia Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "HAT": "Horário de Verão de Terra Nova", "TMST": "Horário de Verão do Turcomenistão", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "JDT": "Horário de Verão do Japão", "SGT": "Horário Padrão de Cingapura", "HNCU": "Horário Padrão de Cuba", "MYT": "Horário da Malásia", "CDT": "Horário de Verão Central", "HKST": "Horário de Verão de Hong Kong", "EAT": "Horário da África Oriental", "AKDT": "Horário de Verão do Alasca", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "MESZ": "Horário de Verão da Europa Central", "HNEG": "Horário Padrão da Groelândia Oriental", "JST": "Horário Padrão do Japão", "ACDT": "Horário de Verão da Austrália Central", "CAT": "Horário da África Central", "GMT": "Horário do Meridiano de Greenwich", "WIB": "Horário da Indonésia Ocidental", "HNT": "Horário Padrão de Terra Nova", "CHAST": "Horário Padrão de Chatham", "UYT": "Horário Padrão do Uruguai", "PDT": "Horário de Verão do Pacífico", "LHST": "Horário Padrão de Lord Howe", "TMT": "Horário Padrão do Turcomenistão", "AKST": "Horário Padrão do Alasca", "ARST": "Horário de Verão da Argentina", "NZDT": "Horário de Verão da Nova Zelândia", "SAST": "Horário da África do Sul", "∅∅∅": "Horário de Verão do Peru", "CST": "Horário Padrão Central", "SRT": "Horário do Suriname", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "WITA": "Horário da Indonésia Central", "WAST": "Horário de Verão da África Ocidental", "HENOMX": "Horário de Verão do Noroeste do México", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "CLT": "Horário Padrão do Chile", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "BT": "Horário do Butão", "HNOG": "Horário Padrão da Groenlândia Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "WAT": "Horário Padrão da África Ocidental", "VET": "Horário da Venezuela", "ART": "Horário Padrão da Argentina", "ChST": "Horário de Chamorro"}, } } @@ -118,7 +118,9 @@ func (pt *pt_ST) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_ST) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_ST) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_ST) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_ST) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/pt_TL/pt_TL.go b/pt_TL/pt_TL.go index a5018605e..36bb13192 100644 --- a/pt_TL/pt_TL.go +++ b/pt_TL/pt_TL.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"dom", "seg", "ter", "qua", "qui", "sex", "sáb"}, daysWide: []string{"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"a.C.", "d.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"antes de Cristo", "depois de Cristo"}, - timezones: map[string]string{"CHAST": "Horário Padrão de Chatham", "VET": "Horário da Venezuela", "MESZ": "Horário de Verão da Europa Central", "CDT": "Horário de Verão Central", "CLT": "Horário Padrão do Chile", "AWST": "Horário Padrão da Austrália Ocidental", "HKT": "Horário Padrão de Hong Kong", "ARST": "Horário de Verão da Argentina", "EAT": "Horário da África Oriental", "HAT": "Horário de Verão de Terra Nova", "CAT": "Horário da África Central", "SRT": "Horário do Suriname", "WAST": "Horário de Verão da África Ocidental", "HNT": "Horário Padrão de Terra Nova", "WAT": "Horário Padrão da África Ocidental", "ECT": "Horário do Equador", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "AEST": "Horário Padrão da Austrália Oriental", "EST": "Horário Padrão Oriental", "PDT": "Horário de Verão do Pacífico", "HKST": "Horário de Verão de Hong Kong", "WIB": "Horário da Indonésia Ocidental", "GMT": "Horário do Meridiano de Greenwich", "LHDT": "Horário de Verão de Lord Howe", "MEZ": "Horário Padrão da Europa Central", "TMST": "Horário de Verão do Turcomenistão", "UYT": "Horário Padrão do Uruguai", "CST": "Horário Padrão Central", "OEZ": "Horário Padrão da Europa Oriental", "COST": "Horário de Verão da Colômbia", "ACST": "Horário Padrão da Austrália Central", "ART": "Horário Padrão da Argentina", "WARST": "Horário de Verão da Argentina Ocidental", "OESZ": "Horário de Verão da Europa Oriental", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "AEDT": "Horário de Verão da Austrália Oriental", "MST": "Horário Padrão da Montanha", "NZDT": "Horário de Verão da Nova Zelândia", "JDT": "Horário de Verão do Japão", "WEZ": "Horário Padrão da Europa Ocidental", "COT": "Horário Padrão da Colômbia", "EDT": "Horário de Verão Oriental", "TMT": "Horário Padrão do Turcomenistão", "GYT": "Horário da Guiana", "ChST": "Horário de Chamorro", "CHADT": "Horário de Verão de Chatham", "∅∅∅": "Horário de Verão do Acre", "GFT": "Horário da Guiana Francesa", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "MYT": "Horário da Malásia", "ACDT": "Horário de Verão da Austrália Central", "IST": "Horário Padrão da Índia", "MDT": "Horário de Verão da Montanha", "WIT": "Horário da Indonésia Oriental", "LHST": "Horário Padrão de Lord Howe", "PST": "Horário Padrão do Pacífico", "AKST": "Horário Padrão do Alasca", "AKDT": "Horário de Verão do Alasca", "JST": "Horário Padrão do Japão", "WART": "Horário Padrão da Argentina Ocidental", "AST": "Horário Padrão do Atlântico", "WITA": "Horário da Indonésia Central", "BOT": "Horário da Bolívia", "BT": "Horário do Butão", "NZST": "Horário Padrão da Nova Zelândia", "CLST": "Horário de Verão do Chile", "AWDT": "Horário de Verão da Austrália Ocidental", "WESZ": "Horário de Verão da Europa Ocidental", "SGT": "Horário Padrão de Cingapura", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "ADT": "Horário de Verão do Atlântico", "SAST": "Horário da África do Sul", "UYST": "Horário de Verão do Uruguai"}, + timezones: map[string]string{"MST": "Horário Padrão de Macau", "HEEG": "Horário de Verão da Groelândia Oriental", "CAT": "Horário da África Central", "OESZ": "Horário de Verão da Europa Oriental", "HNNOMX": "Horário Padrão do Noroeste do México", "EST": "Horário Padrão Oriental", "JST": "Horário Padrão do Japão", "HAST": "Horário Padrão do Havaí e Ilhas Aleutas", "WESZ": "Horário de Verão da Europa Ocidental", "NZST": "Horário Padrão da Nova Zelândia", "ACST": "Horário Padrão da Austrália Central", "WAST": "Horário de Verão da África Ocidental", "HECU": "Horário de Verão de Cuba", "HNPMX": "Horário Padrão do Pacífico do México", "CST": "Horário Padrão Central", "HNCU": "Horário Padrão de Cuba", "HADT": "Horário de Verão do Havaí e Ilhas Aleutas", "EAT": "Horário da África Oriental", "OEZ": "Horário Padrão da Europa Oriental", "MDT": "Horário de Verão de Macau", "LHST": "Horário Padrão de Lord Howe", "WAT": "Horário Padrão da África Ocidental", "PDT": "Horário de Verão do Pacífico", "BOT": "Horário da Bolívia", "CLST": "Horário de Verão do Chile", "COT": "Horário Padrão da Colômbia", "GYT": "Horário da Guiana", "CHADT": "Horário de Verão de Chatham", "HKT": "Horário Padrão de Hong Kong", "MYT": "Horário da Malásia", "BT": "Horário do Butão", "PST": "Horário Padrão do Pacífico", "LHDT": "Horário de Verão de Lord Howe", "CHAST": "Horário Padrão de Chatham", "MESZ": "Horário de Verão da Europa Central", "JDT": "Horário de Verão do Japão", "COST": "Horário de Verão da Colômbia", "AKST": "Horário Padrão do Alasca", "ART": "Horário Padrão da Argentina", "HNPM": "Horário Padrão de Saint Pierre e Miquelon", "MEZ": "Horário Padrão da Europa Central", "CLT": "Horário Padrão do Chile", "ChST": "Horário de Chamorro", "WARST": "Horário de Verão da Argentina Ocidental", "VET": "Horário da Venezuela", "HNOG": "Horário Padrão da Groenlândia Ocidental", "WIT": "Horário da Indonésia Oriental", "ARST": "Horário de Verão da Argentina", "CDT": "Horário de Verão Central", "UYT": "Horário Padrão do Uruguai", "WIB": "Horário da Indonésia Ocidental", "AWST": "Horário Padrão da Austrália Ocidental", "IST": "Horário Padrão da Índia", "SAST": "Horário da África do Sul", "HNEG": "Horário Padrão da Groelândia Oriental", "TMT": "Horário Padrão do Turcomenistão", "WART": "Horário Padrão da Argentina Ocidental", "GMT": "Horário do Meridiano de Greenwich", "AST": "Horário Padrão do Atlântico", "ACWDT": "Horário de Verão da Austrália Centro-Ocidental", "ECT": "Horário do Equador", "EDT": "Horário de Verão Oriental", "UYST": "Horário de Verão do Uruguai", "WEZ": "Horário Padrão da Europa Ocidental", "AEST": "Horário Padrão da Austrália Oriental", "HEPM": "Horário de Verão de Saint Pierre e Miquelon", "TMST": "Horário de Verão do Turcomenistão", "SRT": "Horário do Suriname", "ACWST": "Horário Padrão da Austrália Centro-Ocidental", "HKST": "Horário de Verão de Hong Kong", "HEOG": "Horário de Verão da Groenlândia Ocidental", "AWDT": "Horário de Verão da Austrália Ocidental", "ACDT": "Horário de Verão da Austrália Central", "HENOMX": "Horário de Verão do Noroeste do México", "ADT": "Horário de Verão do Atlântico", "HNT": "Horário Padrão de Terra Nova", "AKDT": "Horário de Verão do Alasca", "HAT": "Horário de Verão de Terra Nova", "WITA": "Horário da Indonésia Central", "AEDT": "Horário de Verão da Austrália Oriental", "NZDT": "Horário de Verão da Nova Zelândia", "SGT": "Horário Padrão de Cingapura", "∅∅∅": "Horário de Verão dos Açores", "HEPMX": "Horário de Verão do Pacífico do México", "GFT": "Horário da Guiana Francesa"}, } } @@ -118,7 +118,9 @@ func (pt *pt_TL) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint6 start := pt.CardinalPluralRule(num1, v1) end := pt.CardinalPluralRule(num2, v2) - if start == locales.PluralRuleOne && end == locales.PluralRuleOther { + if start == locales.PluralRuleOne && end == locales.PluralRuleOne { + return locales.PluralRuleOne + } else if start == locales.PluralRuleOne && end == locales.PluralRuleOther { return locales.PluralRuleOther } else if start == locales.PluralRuleOther && end == locales.PluralRuleOne { return locales.PluralRuleOne @@ -417,10 +419,10 @@ func (pt *pt_TL) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -437,7 +439,12 @@ func (pt *pt_TL) FmtDateMedium(t time.Time) string { b = append(b, pt.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +460,12 @@ func (pt *pt_TL) FmtDateLong(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -471,7 +483,12 @@ func (pt *pt_TL) FmtDateFull(t time.Time) string { b = append(b, pt.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/qu/qu.go b/qu/qu.go index 210875d16..9d1c84e95 100644 --- a/qu/qu.go +++ b/qu/qu.go @@ -56,21 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "S/.", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "S/", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Qul", "Hat", "Pau", "Ayr", "Aym", "Int", "Ant", "Qha", "Uma", "Kan", "Aya", "Kap"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Qulla puquy", "Hatun puquy", "Pauqar waray", "Ayriwa", "Aymuray", "Inti raymi", "Anta Sitwa", "Qhapaq Sitwa", "Uma raymi", "Kantaray", "Ayamarqʼa", "Kapaq Raymi"}, daysAbbreviated: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysShort: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysWide: []string{"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, + periodsNarrow: []string{"a.m.", "p.m."}, periodsWide: []string{"a.m.", "p.m."}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"LHDT": "LHDT", "COT": "COT", "NZST": "NZST", "WESZ": "WESZ", "HKT": "HKT", "ACST": "ACST", "GYT": "GYT", "CLST": "CLST", "MEZ": "MEZ", "PDT": "PDT", "CDT": "CDT", "WAST": "WAST", "HNT": "HNT", "PST": "PST", "EAT": "EAT", "WAT": "WAT", "ACWST": "ACWST", "AEDT": "AEDT", "ARST": "ARST", "SAST": "SAST", "CAT": "CAT", "HKST": "HKST", "VET": "VET", "WIB": "WIB", "JST": "JST", "BT": "BT", "MESZ": "MESZ", "COST": "COST", "ChST": "ChST", "HAT": "HAT", "WITA": "WITA", "NZDT": "NZDT", "AWST": "AWST", "ART": "ART", "AKST": "AKST", "WART": "WART", "ADT": "ADT", "WIT": "WIT", "AEST": "AEST", "EDT": "EDT", "AKDT": "AKDT", "TMST": "TMST", "AWDT": "AWDT", "GFT": "GFT", "OESZ": "OESZ", "HADT": "HADT", "HAST": "HAST", "UYT": "UYT", "∅∅∅": "∅∅∅", "CST": "CST", "MST": "MST", "MYT": "MYT", "GMT": "GMT", "UYST": "UYST", "ACDT": "ACDT", "SGT": "SGT", "AST": "AST", "CHADT": "CHADT", "ECT": "ECT", "ACWDT": "ACWDT", "WARST": "WARST", "MDT": "MDT", "SRT": "SRT", "OEZ": "OEZ", "WEZ": "WEZ", "TMT": "TMT", "BOT": "BOT", "CLT": "CLT", "LHST": "LHST", "JDT": "JDT", "CHAST": "CHAST", "EST": "EST", "IST": "IST"}, + timezones: map[string]string{"HNPMX": "HNPMX", "AKDT": "AKDT", "SRT": "SRT", "WEZ": "WEZ", "LHDT": "LHDT", "WAST": "WAST", "OESZ": "OESZ", "WARST": "WARST", "HEPMX": "HEPMX", "HNT": "HNT", "GFT": "GFT", "ACST": "ACST", "HENOMX": "HENOMX", "WART": "WART", "SAST": "SAST", "HNEG": "HNEG", "WAT": "WAT", "CST": "CST", "ACWST": "ACWST", "ADT": "ADT", "ACDT": "ACDT", "ECT": "ECT", "ARST": "ARST", "MST": "MST", "HADT": "HADT", "HEPM": "HEPM", "BT": "BT", "CLST": "CLST", "COST": "COST", "EDT": "EDT", "WIB": "WIB", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "HKT": "HKT", "LHST": "LHST", "CHADT": "CHADT", "MESZ": "MESZ", "IST": "IST", "CLT": "CLT", "HNCU": "HNCU", "UYST": "UYST", "AEST": "AEST", "HEEG": "HEEG", "TMT": "TMT", "TMST": "TMST", "VET": "VET", "HEOG": "HEOG", "AEDT": "AEDT", "NZST": "NZST", "ChST": "ChST", "EAT": "EAT", "SGT": "SGT", "MDT": "MDT", "GYT": "GYT", "MYT": "MYT", "AWDT": "AWDT", "JDT": "JDT", "BOT": "BOT", "CAT": "CAT", "EST": "EST", "AKST": "AKST", "WITA": "WITA", "OEZ": "OEZ", "ART": "ART", "PST": "PST", "GMT": "GMT", "ACWDT": "ACWDT", "WIT": "WIT", "HNPM": "HNPM", "NZDT": "NZDT", "HAST": "HAST", "HAT": "HAT", "HNOG": "HNOG", "AWST": "AWST", "HKST": "HKST", "COT": "COT", "HECU": "HECU", "UYT": "UYT", "MEZ": "MEZ", "JST": "JST", "PDT": "PDT", "CHAST": "CHAST", "HNNOMX": "HNNOMX", "CDT": "CDT", "AST": "AST"}, } } @@ -126,7 +129,7 @@ func (qu *qu) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (qu *qu) MonthsNarrow() []string { - return nil + return qu.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -407,7 +410,12 @@ func (qu *qu) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,6 +425,17 @@ func (qu *qu) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -425,6 +444,17 @@ func (qu *qu) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -439,7 +469,12 @@ func (qu *qu) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, qu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/qu_BO/qu_BO.go b/qu_BO/qu_BO.go index 542652215..a0b2372dc 100644 --- a/qu_BO/qu_BO.go +++ b/qu_BO/qu_BO.go @@ -56,21 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Qul", "Hat", "Pau", "Ayr", "Aym", "Int", "Ant", "Qha", "Uma", "Kan", "Aya", "Kap"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Qulla puquy", "Hatun puquy", "Pauqar waray", "Ayriwa", "Aymuray", "Inti raymi", "Anta Sitwa", "Qhapaq Sitwa", "Uma raymi", "Kantaray", "Ayamarqʼa", "Kapaq Raymi"}, daysAbbreviated: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysShort: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysWide: []string{"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, + periodsNarrow: []string{"a.m.", "p.m."}, periodsWide: []string{"a.m.", "p.m."}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"SGT": "SGT", "MST": "MST", "HADT": "HADT", "TMST": "TMST", "MYT": "MYT", "ChST": "ChST", "ACST": "ACST", "EST": "EST", "CST": "CST", "ARST": "ARST", "EAT": "EAT", "AKST": "AKST", "NZDT": "NZDT", "BOT": "BOT", "SRT": "SRT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "HNT": "HNT", "CDT": "CDT", "LHST": "LHST", "HAST": "HAST", "WARST": "WARST", "TMT": "TMT", "ECT": "ECT", "AEDT": "AEDT", "AST": "AST", "OESZ": "OESZ", "CHADT": "CHADT", "WIB": "WIB", "WEZ": "WEZ", "ACDT": "ACDT", "PDT": "PDT", "SAST": "SAST", "WAT": "WAT", "AKDT": "AKDT", "GYT": "GYT", "AWST": "AWST", "MEZ": "MEZ", "ACWST": "ACWST", "ADT": "ADT", "UYT": "UYT", "NZST": "NZST", "CLST": "CLST", "GFT": "GFT", "HKST": "HKST", "WAST": "WAST", "WIT": "WIT", "GMT": "GMT", "ACWDT": "ACWDT", "EDT": "EDT", "PST": "PST", "HKT": "HKT", "COST": "COST", "CAT": "CAT", "UYST": "UYST", "ART": "ART", "WITA": "WITA", "CLT": "CLT", "BT": "BT", "MESZ": "MESZ", "WART": "WART", "MDT": "MDT", "HAT": "HAT", "LHDT": "LHDT", "WESZ": "WESZ", "CHAST": "CHAST", "IST": "IST", "VET": "VET", "AEST": "AEST", "AWDT": "AWDT", "COT": "COT", "JST": "JST", "JDT": "JDT"}, + timezones: map[string]string{"HEPMX": "HEPMX", "WIT": "WIT", "WEZ": "WEZ", "HEOG": "HEOG", "CHADT": "CHADT", "ACST": "ACST", "BOT": "BOT", "EAT": "EAT", "EDT": "EDT", "WESZ": "WESZ", "HNT": "HNT", "CLST": "CLST", "JST": "JST", "ACDT": "ACDT", "CAT": "CAT", "COST": "COST", "MST": "MST", "AKST": "AKST", "HAT": "HAT", "NZDT": "NZDT", "TMST": "TMST", "SGT": "SGT", "MYT": "MYT", "CDT": "CDT", "GYT": "GYT", "WIB": "WIB", "PDT": "PDT", "MESZ": "MESZ", "ChST": "ChST", "HNOG": "HNOG", "HKT": "HKT", "HNNOMX": "HNNOMX", "AKDT": "AKDT", "JDT": "JDT", "HNEG": "HNEG", "EST": "EST", "AEST": "AEST", "HNCU": "HNCU", "CST": "CST", "AWDT": "AWDT", "IST": "IST", "WAST": "WAST", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "MEZ": "MEZ", "LHST": "LHST", "TMT": "TMT", "OEZ": "OEZ", "COT": "COT", "UYT": "UYT", "HNPM": "HNPM", "CLT": "CLT", "BT": "BT", "ACWST": "ACWST", "HKST": "HKST", "CHAST": "CHAST", "GMT": "GMT", "VET": "VET", "ART": "ART", "WITA": "WITA", "SAST": "SAST", "AST": "AST", "ECT": "ECT", "WARST": "WARST", "UYST": "UYST", "ADT": "ADT", "AWST": "AWST", "HEPM": "HEPM", "NZST": "NZST", "ACWDT": "ACWDT", "ARST": "ARST", "AEDT": "AEDT", "HENOMX": "HENOMX", "MDT": "MDT", "HAST": "HAST", "HEEG": "HEEG", "WAT": "WAT", "HADT": "HADT", "SRT": "SRT", "HECU": "HECU", "HNPMX": "HNPMX", "WART": "WART", "PST": "PST", "LHDT": "LHDT", "GFT": "GFT"}, } } @@ -126,7 +129,7 @@ func (qu *qu_BO) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (qu *qu_BO) MonthsNarrow() []string { - return nil + return qu.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -407,7 +410,12 @@ func (qu *qu_BO) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,6 +425,17 @@ func (qu *qu_BO) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -425,6 +444,17 @@ func (qu *qu_BO) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -439,7 +469,12 @@ func (qu *qu_BO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, qu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/qu_EC/qu_EC.go b/qu_EC/qu_EC.go index d1a48db36..17651e4e1 100644 --- a/qu_EC/qu_EC.go +++ b/qu_EC/qu_EC.go @@ -56,21 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Qul", "Hat", "Pau", "Ayr", "Aym", "Int", "Ant", "Qha", "Uma", "Kan", "Aya", "Kap"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Qulla puquy", "Hatun puquy", "Pauqar waray", "Ayriwa", "Aymuray", "Inti raymi", "Anta Sitwa", "Qhapaq Sitwa", "Uma raymi", "Kantaray", "Ayamarqʼa", "Kapaq Raymi"}, daysAbbreviated: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysShort: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysWide: []string{"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, + periodsNarrow: []string{"a.m.", "p.m."}, periodsWide: []string{"a.m.", "p.m."}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WIB": "WIB", "ARST": "ARST", "WAST": "WAST", "TMT": "TMT", "CAT": "CAT", "JST": "JST", "HKT": "HKT", "SRT": "SRT", "ACWDT": "ACWDT", "PDT": "PDT", "AST": "AST", "ADT": "ADT", "CLST": "CLST", "WIT": "WIT", "ART": "ART", "ACWST": "ACWST", "HNT": "HNT", "VET": "VET", "MESZ": "MESZ", "HADT": "HADT", "AKST": "AKST", "SAST": "SAST", "MYT": "MYT", "CLT": "CLT", "JDT": "JDT", "OESZ": "OESZ", "COT": "COT", "BOT": "BOT", "SGT": "SGT", "WART": "WART", "TMST": "TMST", "CDT": "CDT", "LHDT": "LHDT", "WEZ": "WEZ", "WITA": "WITA", "GFT": "GFT", "MST": "MST", "EDT": "EDT", "PST": "PST", "ChST": "ChST", "LHST": "LHST", "OEZ": "OEZ", "MEZ": "MEZ", "ACDT": "ACDT", "∅∅∅": "∅∅∅", "CHAST": "CHAST", "WAT": "WAT", "AKDT": "AKDT", "AWST": "AWST", "UYT": "UYT", "AEST": "AEST", "NZDT": "NZDT", "BT": "BT", "EAT": "EAT", "GYT": "GYT", "COST": "COST", "ACST": "ACST", "IST": "IST", "UYST": "UYST", "GMT": "GMT", "WARST": "WARST", "EST": "EST", "MDT": "MDT", "CST": "CST", "AWDT": "AWDT", "HKST": "HKST", "WESZ": "WESZ", "HAST": "HAST", "NZST": "NZST", "HAT": "HAT", "CHADT": "CHADT", "ECT": "ECT", "AEDT": "AEDT"}, + timezones: map[string]string{"TMST": "TMST", "UYT": "UYT", "WEZ": "WEZ", "LHST": "LHST", "MDT": "MDT", "WESZ": "WESZ", "CHADT": "CHADT", "OEZ": "OEZ", "OESZ": "OESZ", "WIT": "WIT", "SRT": "SRT", "JDT": "JDT", "MEZ": "MEZ", "ACST": "ACST", "WARST": "WARST", "HECU": "HECU", "AKST": "AKST", "ACWDT": "ACWDT", "HNT": "HNT", "HNEG": "HNEG", "CAT": "CAT", "HENOMX": "HENOMX", "SGT": "SGT", "EST": "EST", "EAT": "EAT", "WAT": "WAT", "GMT": "GMT", "WITA": "WITA", "CLST": "CLST", "HNNOMX": "HNNOMX", "UYST": "UYST", "ECT": "ECT", "HEOG": "HEOG", "AEST": "AEST", "IST": "IST", "GFT": "GFT", "AST": "AST", "ACWST": "ACWST", "ARST": "ARST", "AWST": "AWST", "AEDT": "AEDT", "HAST": "HAST", "HADT": "HADT", "HAT": "HAT", "ART": "ART", "HNPM": "HNPM", "WART": "WART", "HEPMX": "HEPMX", "ADT": "ADT", "ChST": "ChST", "NZDT": "NZDT", "CHAST": "CHAST", "MESZ": "MESZ", "HNPMX": "HNPMX", "HNOG": "HNOG", "JST": "JST", "COT": "COT", "HKST": "HKST", "CLT": "CLT", "BOT": "BOT", "TMT": "TMT", "COST": "COST", "MST": "MST", "HKT": "HKT", "PST": "PST", "AWDT": "AWDT", "LHDT": "LHDT", "NZST": "NZST", "∅∅∅": "∅∅∅", "AKDT": "AKDT", "WIB": "WIB", "GYT": "GYT", "MYT": "MYT", "VET": "VET", "PDT": "PDT", "HEPM": "HEPM", "HNCU": "HNCU", "EDT": "EDT", "CST": "CST", "SAST": "SAST", "HEEG": "HEEG", "ACDT": "ACDT", "CDT": "CDT", "BT": "BT", "WAST": "WAST"}, } } @@ -126,7 +129,7 @@ func (qu *qu_EC) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (qu *qu_EC) MonthsNarrow() []string { - return nil + return qu.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -407,7 +410,12 @@ func (qu *qu_EC) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,6 +425,17 @@ func (qu *qu_EC) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -425,6 +444,17 @@ func (qu *qu_EC) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -439,7 +469,12 @@ func (qu *qu_EC) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, qu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/qu_PE/qu_PE.go b/qu_PE/qu_PE.go index cb9254455..453c6274c 100644 --- a/qu_PE/qu_PE.go +++ b/qu_PE/qu_PE.go @@ -56,21 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Qul", "Hat", "Pau", "Ayr", "Aym", "Int", "Ant", "Qha", "Uma", "Kan", "Aya", "Kap"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Qulla puquy", "Hatun puquy", "Pauqar waray", "Ayriwa", "Aymuray", "Inti raymi", "Anta Sitwa", "Qhapaq Sitwa", "Uma raymi", "Kantaray", "Ayamarqʼa", "Kapaq Raymi"}, daysAbbreviated: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysNarrow: []string{"D", "L", "M", "X", "J", "V", "S"}, + daysShort: []string{"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"}, daysWide: []string{"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"}, periodsAbbreviated: []string{"a.m.", "p.m."}, + periodsNarrow: []string{"a.m.", "p.m."}, periodsWide: []string{"a.m.", "p.m."}, erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CDT": "CDT", "GMT": "GMT", "SGT": "SGT", "HADT": "HADT", "ACWST": "ACWST", "AKDT": "AKDT", "AST": "AST", "WITA": "WITA", "LHDT": "LHDT", "JDT": "JDT", "VET": "VET", "EAT": "EAT", "ADT": "ADT", "CAT": "CAT", "AWST": "AWST", "HNT": "HNT", "MEZ": "MEZ", "PDT": "PDT", "NZDT": "NZDT", "HAT": "HAT", "OESZ": "OESZ", "WESZ": "WESZ", "ACST": "ACST", "COST": "COST", "ARST": "ARST", "IST": "IST", "GYT": "GYT", "ART": "ART", "TMST": "TMST", "NZST": "NZST", "BOT": "BOT", "CHADT": "CHADT", "PST": "PST", "WIT": "WIT", "OEZ": "OEZ", "HKT": "HKT", "WIB": "WIB", "MDT": "MDT", "HKST": "HKST", "SRT": "SRT", "HAST": "HAST", "SAST": "SAST", "LHST": "LHST", "UYST": "UYST", "∅∅∅": "∅∅∅", "MESZ": "MESZ", "WARST": "WARST", "WAST": "WAST", "EDT": "EDT", "CLST": "CLST", "COT": "COT", "WAT": "WAT", "MST": "MST", "AWDT": "AWDT", "CLT": "CLT", "CHAST": "CHAST", "AKST": "AKST", "EST": "EST", "GFT": "GFT", "AEST": "AEST", "WART": "WART", "TMT": "TMT", "ACWDT": "ACWDT", "AEDT": "AEDT", "UYT": "UYT", "ECT": "ECT", "MYT": "MYT", "JST": "JST", "WEZ": "WEZ", "ACDT": "ACDT", "CST": "CST", "ChST": "ChST", "BT": "BT"}, + timezones: map[string]string{"HNEG": "HNEG", "HEOG": "HEOG", "AWST": "AWST", "WITA": "WITA", "ART": "ART", "MEZ": "MEZ", "SAST": "SAST", "HEEG": "HEEG", "TMT": "TMT", "GYT": "GYT", "NZST": "NZST", "WIT": "WIT", "ChST": "ChST", "HNNOMX": "HNNOMX", "GMT": "GMT", "MST": "MST", "UYST": "UYST", "MESZ": "MESZ", "BOT": "BOT", "WARST": "WARST", "COT": "COT", "MYT": "MYT", "JDT": "JDT", "ACDT": "ACDT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "HNOG": "HNOG", "AEDT": "AEDT", "OESZ": "OESZ", "CST": "CST", "WESZ": "WESZ", "AEST": "AEST", "JST": "JST", "WAT": "WAT", "COST": "COST", "ACWDT": "ACWDT", "HAT": "HAT", "AWDT": "AWDT", "CHADT": "CHADT", "CLST": "CLST", "HEPMX": "HEPMX", "HAST": "HAST", "ACWST": "ACWST", "HNT": "HNT", "HEPM": "HEPM", "CHAST": "CHAST", "EDT": "EDT", "UYT": "UYT", "AKST": "AKST", "PST": "PST", "WAST": "WAST", "SGT": "SGT", "MDT": "MDT", "SRT": "SRT", "CDT": "CDT", "HKST": "HKST", "NZDT": "NZDT", "GFT": "GFT", "TMST": "TMST", "EAT": "EAT", "HECU": "HECU", "VET": "VET", "ARST": "ARST", "HKT": "HKT", "CLT": "CLT", "ACST": "ACST", "HNCU": "HNCU", "WIB": "WIB", "HADT": "HADT", "CAT": "CAT", "ECT": "ECT", "HENOMX": "HENOMX", "BT": "BT", "AST": "AST", "HNPM": "HNPM", "IST": "IST", "ADT": "ADT", "PDT": "PDT", "WEZ": "WEZ", "LHST": "LHST", "WART": "WART", "EST": "EST", "HNPMX": "HNPMX", "AKDT": "AKDT", "LHDT": "LHDT"}, } } @@ -126,7 +129,7 @@ func (qu *qu_PE) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (qu *qu_PE) MonthsNarrow() []string { - return nil + return qu.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -407,7 +410,12 @@ func (qu *qu_PE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,6 +425,17 @@ func (qu *qu_PE) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -425,6 +444,17 @@ func (qu *qu_PE) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, qu.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -439,7 +469,12 @@ func (qu *qu_PE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, qu.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rm/rm.go b/rm/rm.go index 18f00d8df..ed281d88b 100644 --- a/rm/rm.go +++ b/rm/rm.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,13 +65,15 @@ func New() locales.Translator { monthsWide: []string{"", "schaner", "favrer", "mars", "avrigl", "matg", "zercladur", "fanadur", "avust", "settember", "october", "november", "december"}, daysAbbreviated: []string{"du", "gli", "ma", "me", "gie", "ve", "so"}, daysNarrow: []string{"D", "G", "M", "M", "G", "V", "S"}, + daysShort: []string{"du", "gli", "ma", "me", "gie", "ve", "so"}, daysWide: []string{"dumengia", "glindesdi", "mardi", "mesemna", "gievgia", "venderdi", "sonda"}, - periodsAbbreviated: []string{"am", "sm"}, - periodsWide: []string{"am", "sm"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"av. Cr.", "s. Cr."}, erasNarrow: []string{"", ""}, erasWide: []string{"avant Cristus", "suenter Cristus"}, - timezones: map[string]string{"HADT": "HADT", "WAT": "WAT", "AKDT": "AKDT", "JST": "JST", "OESZ": "OESZ", "WESZ": "WESZ", "ACST": "ACST", "SGT": "SGT", "BT": "BT", "AWDT": "AWDT", "CLT": "CLT", "EST": "EST", "COT": "COT", "HAST": "HAST", "SAST": "SAST", "IST": "IST", "MST": "MST", "MDT": "MDT", "NZDT": "NZDT", "WEZ": "WEZ", "CHAST": "CHAST", "VET": "VET", "WARST": "WARST", "AST": "AST", "MYT": "MYT", "NZST": "NZST", "AWST": "AWST", "WAST": "WAST", "TMT": "TMT", "ADT": "ADT", "PST": "PST", "HKT": "HKT", "ACWST": "ACWST", "ART": "ART", "∅∅∅": "∅∅∅", "HAT": "HAT", "LHDT": "LHDT", "MEZ": "MEZ", "ACDT": "ACDT", "CST": "CST", "LHST": "LHST", "UYT": "UYT", "ACWDT": "ACWDT", "WITA": "WITA", "CAT": "CAT", "GFT": "GFT", "WIB": "WIB", "AEDT": "AEDT", "PDT": "PDT", "TMST": "TMST", "GYT": "GYT", "GMT": "GMT", "SRT": "SRT", "CHADT": "CHADT", "EDT": "EDT", "BOT": "BOT", "JDT": "JDT", "OEZ": "OEZ", "WIT": "WIT", "UYST": "UYST", "AEST": "AEST", "HNT": "HNT", "HKST": "HKST", "MESZ": "MESZ", "ECT": "ECT", "ARST": "ARST", "EAT": "EAT", "CDT": "CDT", "ChST": "ChST", "CLST": "CLST", "AKST": "AKST", "COST": "COST", "WART": "WART"}, + timezones: map[string]string{"LHST": "LHST", "JST": "JST", "ChST": "ChST", "EDT": "EDT", "UYT": "UYT", "AWDT": "AWDT", "OEZ": "OEZ", "HNPMX": "HNPMX", "AKDT": "AKDT", "MYT": "MYT", "ART": "ART", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "ACST": "ACST", "OESZ": "OESZ", "PST": "PST", "PDT": "PDT", "NZDT": "NZDT", "CLT": "CLT", "GFT": "GFT", "WITA": "WITA", "HAST": "HAST", "WESZ": "WESZ", "HEPM": "HEPM", "CHAST": "CHAST", "CLST": "CLST", "ACDT": "ACDT", "UYST": "UYST", "GYT": "GYT", "HNT": "HNT", "WART": "WART", "WIT": "WIT", "SRT": "SRT", "HNOG": "HNOG", "ARST": "ARST", "NZST": "NZST", "JDT": "JDT", "WARST": "WARST", "COST": "COST", "GMT": "GMT", "WIB": "WIB", "CST": "CST", "HAT": "HAT", "SAST": "SAST", "MDT": "MDT", "CDT": "CDT", "AST": "AST", "WEZ": "WEZ", "AEDT": "AEDT", "ACWDT": "ACWDT", "AEST": "AEST", "HKT": "HKT", "HNPM": "HNPM", "IST": "IST", "TMST": "TMST", "EST": "EST", "HKST": "HKST", "HENOMX": "HENOMX", "ADT": "ADT", "HECU": "HECU", "HADT": "HADT", "MESZ": "MESZ", "LHDT": "LHDT", "BOT": "BOT", "CAT": "CAT", "ECT": "ECT", "COT": "COT", "VET": "VET", "ACWST": "ACWST", "MEZ": "MEZ", "HNEG": "HNEG", "WAT": "WAT", "SGT": "SGT", "HNCU": "HNCU", "HEPMX": "HEPMX", "HEOG": "HEOG", "EAT": "EAT", "WAST": "WAST", "AKST": "AKST", "AWST": "AWST", "CHADT": "CHADT", "TMT": "TMT", "HNNOMX": "HNNOMX", "MST": "MST", "BT": "BT"}, } } @@ -445,7 +447,12 @@ func (rm *rm) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +467,12 @@ func (rm *rm) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +490,12 @@ func (rm *rm) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rm_CH/rm_CH.go b/rm_CH/rm_CH.go index acd22297d..23172b726 100644 --- a/rm_CH/rm_CH.go +++ b/rm_CH/rm_CH.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,13 +65,15 @@ func New() locales.Translator { monthsWide: []string{"", "schaner", "favrer", "mars", "avrigl", "matg", "zercladur", "fanadur", "avust", "settember", "october", "november", "december"}, daysAbbreviated: []string{"du", "gli", "ma", "me", "gie", "ve", "so"}, daysNarrow: []string{"D", "G", "M", "M", "G", "V", "S"}, + daysShort: []string{"du", "gli", "ma", "me", "gie", "ve", "so"}, daysWide: []string{"dumengia", "glindesdi", "mardi", "mesemna", "gievgia", "venderdi", "sonda"}, - periodsAbbreviated: []string{"am", "sm"}, - periodsWide: []string{"am", "sm"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"av. Cr.", "s. Cr."}, erasNarrow: []string{"", ""}, erasWide: []string{"avant Cristus", "suenter Cristus"}, - timezones: map[string]string{"OESZ": "OESZ", "WEZ": "WEZ", "ART": "ART", "UYST": "UYST", "ACDT": "ACDT", "MDT": "MDT", "AWST": "AWST", "MST": "MST", "CAT": "CAT", "JST": "JST", "GFT": "GFT", "HKST": "HKST", "WIB": "WIB", "AKDT": "AKDT", "TMT": "TMT", "ECT": "ECT", "HADT": "HADT", "CDT": "CDT", "MEZ": "MEZ", "ADT": "ADT", "CLT": "CLT", "VET": "VET", "EAT": "EAT", "LHDT": "LHDT", "SGT": "SGT", "HAST": "HAST", "AEST": "AEST", "GYT": "GYT", "AWDT": "AWDT", "WESZ": "WESZ", "MYT": "MYT", "HNT": "HNT", "WIT": "WIT", "GMT": "GMT", "JDT": "JDT", "LHST": "LHST", "COST": "COST", "AST": "AST", "WAST": "WAST", "BOT": "BOT", "ChST": "ChST", "CST": "CST", "TMST": "TMST", "UYT": "UYT", "HKT": "HKT", "COT": "COT", "ACST": "ACST", "AKST": "AKST", "EDT": "EDT", "ACWDT": "ACWDT", "PST": "PST", "WAT": "WAT", "NZST": "NZST", "CLST": "CLST", "CHAST": "CHAST", "CHADT": "CHADT", "SRT": "SRT", "MESZ": "MESZ", "ARST": "ARST", "WARST": "WARST", "IST": "IST", "HAT": "HAT", "BT": "BT", "OEZ": "OEZ", "WART": "WART", "AEDT": "AEDT", "SAST": "SAST", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "ACWST": "ACWST", "EST": "EST", "PDT": "PDT", "WITA": "WITA"}, + timezones: map[string]string{"GYT": "GYT", "WIB": "WIB", "HNOG": "HNOG", "HNPM": "HNPM", "MESZ": "MESZ", "NZDT": "NZDT", "WAT": "WAT", "COT": "COT", "CDT": "CDT", "ARST": "ARST", "LHDT": "LHDT", "EAT": "EAT", "OESZ": "OESZ", "UYST": "UYST", "AKST": "AKST", "HEPM": "HEPM", "ACST": "ACST", "OEZ": "OEZ", "MDT": "MDT", "AWST": "AWST", "TMT": "TMT", "AWDT": "AWDT", "BOT": "BOT", "GFT": "GFT", "EST": "EST", "VET": "VET", "ACWST": "ACWST", "AEDT": "AEDT", "HKT": "HKT", "HNCU": "HNCU", "CST": "CST", "HADT": "HADT", "UYT": "UYT", "SAST": "SAST", "IST": "IST", "ChST": "ChST", "SGT": "SGT", "MST": "MST", "MYT": "MYT", "MEZ": "MEZ", "HECU": "HECU", "HNPMX": "HNPMX", "HAST": "HAST", "WEZ": "WEZ", "TMST": "TMST", "HNEG": "HNEG", "WAST": "WAST", "WARST": "WARST", "AKDT": "AKDT", "ART": "ART", "AEST": "AEST", "NZST": "NZST", "HEOG": "HEOG", "ACWDT": "ACWDT", "CHAST": "CHAST", "HEEG": "HEEG", "PDT": "PDT", "HNT": "HNT", "LHST": "LHST", "WIT": "WIT", "HEPMX": "HEPMX", "BT": "BT", "PST": "PST", "HAT": "HAT", "WART": "WART", "COST": "COST", "GMT": "GMT", "EDT": "EDT", "HKST": "HKST", "CHADT": "CHADT", "CAT": "CAT", "JST": "JST", "JDT": "JDT", "CLT": "CLT", "HENOMX": "HENOMX", "SRT": "SRT", "HNNOMX": "HNNOMX", "AST": "AST", "WESZ": "WESZ", "WITA": "WITA", "CLST": "CLST", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "ECT": "ECT", "ADT": "ADT"}, } } @@ -445,7 +447,12 @@ func (rm *rm_CH) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -460,7 +467,12 @@ func (rm *rm_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +490,12 @@ func (rm *rm_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rn/rn.go b/rn/rn.go index ed1a245a7..aac81cba6 100644 --- a/rn/rn.go +++ b/rn/rn.go @@ -50,7 +50,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "FBu", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "Mut.", "Gas.", "Wer.", "Mat.", "Gic.", "Kam.", "Nya.", "Kan.", "Nze.", "Ukw.", "Ugu.", "Uku."}, monthsWide: []string{"", "Nzero", "Ruhuhuma", "Ntwarante", "Ndamukiza", "Rusama", "Ruheshi", "Mukakaro", "Nyandagaro", "Nyakanga", "Gitugutu", "Munyonyo", "Kigarama"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"Mb.Y.", "Ny.Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Yezu", "Nyuma ya Yezu"}, - timezones: map[string]string{"HAST": "HAST", "ART": "ART", "CAT": "CAT", "AWST": "AWST", "WIT": "WIT", "OESZ": "OESZ", "AEDT": "AEDT", "ARST": "ARST", "UYST": "UYST", "HKT": "HKT", "BOT": "BOT", "CLST": "CLST", "SRT": "SRT", "COST": "COST", "MYT": "MYT", "NZDT": "NZDT", "MEZ": "MEZ", "MDT": "MDT", "GMT": "GMT", "UYT": "UYT", "OEZ": "OEZ", "CHAST": "CHAST", "ACST": "ACST", "AEST": "AEST", "AKST": "AKST", "JDT": "JDT", "ACWST": "ACWST", "SAST": "SAST", "EST": "EST", "AWDT": "AWDT", "CHADT": "CHADT", "WIB": "WIB", "ACDT": "ACDT", "SGT": "SGT", "PST": "PST", "PDT": "PDT", "MESZ": "MESZ", "WAT": "WAT", "HAT": "HAT", "LHST": "LHST", "WEZ": "WEZ", "ACWDT": "ACWDT", "CST": "CST", "GYT": "GYT", "ChST": "ChST", "HNT": "HNT", "HADT": "HADT", "IST": "IST", "TMST": "TMST", "AKDT": "AKDT", "EDT": "EDT", "WESZ": "WESZ", "GFT": "GFT", "VET": "VET", "WART": "WART", "AST": "AST", "WAST": "WAST", "WITA": "WITA", "BT": "BT", "HKST": "HKST", "COT": "COT", "CDT": "CDT", "∅∅∅": "∅∅∅", "EAT": "EAT", "NZST": "NZST", "LHDT": "LHDT", "JST": "JST", "ECT": "ECT", "WARST": "WARST", "ADT": "ADT", "TMT": "TMT", "MST": "MST", "CLT": "CLT"}, + timezones: map[string]string{"JST": "JST", "HECU": "HECU", "CDT": "CDT", "GYT": "GYT", "AKST": "AKST", "WESZ": "WESZ", "HKT": "HKT", "WAT": "WAT", "COST": "COST", "OEZ": "OEZ", "WIT": "WIT", "MDT": "MDT", "ECT": "ECT", "WAST": "WAST", "EST": "EST", "UYT": "UYT", "ARST": "ARST", "HNPM": "HNPM", "CHADT": "CHADT", "OESZ": "OESZ", "MEZ": "MEZ", "PDT": "PDT", "AEST": "AEST", "CHAST": "CHAST", "HNOG": "HNOG", "HAST": "HAST", "HADT": "HADT", "HEOG": "HEOG", "HNEG": "HNEG", "ADT": "ADT", "MYT": "MYT", "ART": "ART", "PST": "PST", "ACST": "ACST", "WARST": "WARST", "JDT": "JDT", "BOT": "BOT", "BT": "BT", "WEZ": "WEZ", "WITA": "WITA", "HKST": "HKST", "HEPM": "HEPM", "LHDT": "LHDT", "NZST": "NZST", "SRT": "SRT", "HAT": "HAT", "ACWST": "ACWST", "LHST": "LHST", "TMT": "TMT", "GMT": "GMT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "HNCU": "HNCU", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "HNT": "HNT", "ACWDT": "ACWDT", "CAT": "CAT", "TMST": "TMST", "ChST": "ChST", "ACDT": "ACDT", "MESZ": "MESZ", "SGT": "SGT", "EDT": "EDT", "AST": "AST", "AKDT": "AKDT", "NZDT": "NZDT", "GFT": "GFT", "HEEG": "HEEG", "COT": "COT", "AWST": "AWST", "WART": "WART", "VET": "VET", "AEDT": "AEDT", "AWDT": "AWDT", "SAST": "SAST", "CLT": "CLT", "CLST": "CLST", "UYST": "UYST", "EAT": "EAT", "MST": "MST", "CST": "CST", "WIB": "WIB", "IST": "IST", "∅∅∅": "∅∅∅"}, } } @@ -371,7 +371,12 @@ func (rn *rn) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +390,12 @@ func (rn *rn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -399,7 +409,12 @@ func (rn *rn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +430,12 @@ func (rn *rn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rn_BI/rn_BI.go b/rn_BI/rn_BI.go index 0ce0da9c7..1f5bf1095 100644 --- a/rn_BI/rn_BI.go +++ b/rn_BI/rn_BI.go @@ -50,7 +50,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "Mut.", "Gas.", "Wer.", "Mat.", "Gic.", "Kam.", "Nya.", "Kan.", "Nze.", "Ukw.", "Ugu.", "Uku."}, monthsWide: []string{"", "Nzero", "Ruhuhuma", "Ntwarante", "Ndamukiza", "Rusama", "Ruheshi", "Mukakaro", "Nyandagaro", "Nyakanga", "Gitugutu", "Munyonyo", "Kigarama"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"Mb.Y.", "Ny.Y"}, erasNarrow: []string{"", ""}, erasWide: []string{"Mbere ya Yezu", "Nyuma ya Yezu"}, - timezones: map[string]string{"PST": "PST", "CDT": "CDT", "CHAST": "CHAST", "ART": "ART", "IST": "IST", "PDT": "PDT", "TMST": "TMST", "MESZ": "MESZ", "ACDT": "ACDT", "EST": "EST", "LHDT": "LHDT", "VET": "VET", "MEZ": "MEZ", "TMT": "TMT", "EAT": "EAT", "AKDT": "AKDT", "MST": "MST", "HNT": "HNT", "JST": "JST", "WEZ": "WEZ", "ARST": "ARST", "ACWDT": "ACWDT", "AWDT": "AWDT", "GMT": "GMT", "LHST": "LHST", "WART": "WART", "WAST": "WAST", "HAT": "HAT", "NZST": "NZST", "CHADT": "CHADT", "AKST": "AKST", "ADT": "ADT", "ChST": "ChST", "CLST": "CLST", "EDT": "EDT", "SAST": "SAST", "MYT": "MYT", "CLT": "CLT", "∅∅∅": "∅∅∅", "WIB": "WIB", "BOT": "BOT", "HAST": "HAST", "AEST": "AEST", "GYT": "GYT", "AWST": "AWST", "OESZ": "OESZ", "HKST": "HKST", "COST": "COST", "SGT": "SGT", "WARST": "WARST", "WITA": "WITA", "WIT": "WIT", "COT": "COT", "ECT": "ECT", "ACST": "ACST", "CAT": "CAT", "GFT": "GFT", "HADT": "HADT", "NZDT": "NZDT", "MDT": "MDT", "UYT": "UYT", "WESZ": "WESZ", "WAT": "WAT", "CST": "CST", "BT": "BT", "SRT": "SRT", "OEZ": "OEZ", "ACWST": "ACWST", "HKT": "HKT", "AEDT": "AEDT", "AST": "AST", "JDT": "JDT", "UYST": "UYST"}, + timezones: map[string]string{"HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "AKST": "AKST", "AWDT": "AWDT", "CHADT": "CHADT", "JST": "JST", "∅∅∅": "∅∅∅", "BT": "BT", "HNT": "HNT", "AEST": "AEST", "HKT": "HKT", "NZST": "NZST", "HNEG": "HNEG", "MST": "MST", "HAT": "HAT", "HNPM": "HNPM", "HEPM": "HEPM", "WAST": "WAST", "HADT": "HADT", "WEZ": "WEZ", "WESZ": "WESZ", "AEDT": "AEDT", "ChST": "ChST", "BOT": "BOT", "ADT": "ADT", "CDT": "CDT", "HAST": "HAST", "PDT": "PDT", "ACWST": "ACWST", "ACWDT": "ACWDT", "HNOG": "HNOG", "ACDT": "ACDT", "MYT": "MYT", "PST": "PST", "LHST": "LHST", "SAST": "SAST", "EAT": "EAT", "EST": "EST", "UYST": "UYST", "CLST": "CLST", "TMST": "TMST", "OEZ": "OEZ", "CST": "CST", "VET": "VET", "WIT": "WIT", "ARST": "ARST", "HEOG": "HEOG", "AWST": "AWST", "LHDT": "LHDT", "SGT": "SGT", "JDT": "JDT", "NZDT": "NZDT", "OESZ": "OESZ", "ECT": "ECT", "GMT": "GMT", "CLT": "CLT", "TMT": "TMT", "CAT": "CAT", "AKDT": "AKDT", "HKST": "HKST", "MESZ": "MESZ", "WART": "WART", "EDT": "EDT", "HEPMX": "HEPMX", "WIB": "WIB", "COT": "COT", "COST": "COST", "MDT": "MDT", "AST": "AST", "CHAST": "CHAST", "IST": "IST", "HEEG": "HEEG", "GFT": "GFT", "WAT": "WAT", "HECU": "HECU", "HNPMX": "HNPMX", "WARST": "WARST", "MEZ": "MEZ", "HNCU": "HNCU", "GYT": "GYT", "ART": "ART", "WITA": "WITA", "ACST": "ACST", "SRT": "SRT", "UYT": "UYT"}, } } @@ -371,7 +371,12 @@ func (rn *rn_BI) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +390,12 @@ func (rn *rn_BI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -399,7 +409,12 @@ func (rn *rn_BI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -415,7 +430,12 @@ func (rn *rn_BI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ro/ro.go b/ro/ro.go index a7913dd8a..ce4f17dc2 100644 --- a/ro/ro.go +++ b/ro/ro.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -67,7 +67,7 @@ func New() locales.Translator { monthsWide: []string{"", "ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie"}, daysAbbreviated: []string{"dum.", "lun.", "mar.", "mie.", "joi", "vin.", "sâm."}, daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, - daysShort: []string{"du.", "lu.", "ma.", "mi.", "jo.", "vi.", "sâ."}, + daysShort: []string{"du.", "lu.", "ma.", "mi.", "joi", "vi.", "sâ."}, daysWide: []string{"duminică", "luni", "marți", "miercuri", "joi", "vineri", "sâmbătă"}, periodsAbbreviated: []string{"a.m.", "p.m."}, periodsNarrow: []string{"a.m.", "p.m."}, @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"î.Hr.", "d.Hr."}, erasNarrow: []string{"", ""}, erasWide: []string{"înainte de Hristos", "după Hristos"}, - timezones: map[string]string{"CLT": "Ora standard din Chile", "JDT": "Ora de vară a Japoniei", "NZDT": "Ora de vară a Noii Zeelande", "WESZ": "Ora de vară a Europei de Vest", "AKST": "Ora standard din Alaska", "MST": "Ora standard în zona montană nord-americană", "UYT": "Ora standard a Uruguayului", "GFT": "Ora Guianei Franceze", "CHADT": "Ora de vară din Chatham", "ACST": "Ora standard a Australiei Centrale", "ACDT": "Ora de vară a Australiei Centrale", "CAT": "Ora Africii Centrale", "BT": "Ora Bhutanului", "AWDT": "Ora de vară a Australiei Occidentale", "COT": "Ora standard a Columbiei", "TMST": "Ora de vară din Turkmenistan", "UYST": "Ora de vară a Uruguayului", "AST": "Ora standard în zona Atlantic nord-americană", "CST": "Ora standard centrală nord-americană", "WAT": "Ora standard a Africii Occidentale", "HNT": "Ora standard din Newfoundland", "CHAST": "Ora standard din Chatham", "PST": "Ora standard în zona Pacific nord-americană", "SGT": "Ora din Singapore", "AEDT": "Ora de vară a Australiei Orientale", "EAT": "Ora Africii Orientale", "SAST": "Ora Africii Meridionale", "GYT": "Ora din Guyana", "LHST": "Ora standard din Lord Howe", "JST": "Ora standard a Japoniei", "MESZ": "Ora de vară a Europei Centrale", "IST": "Ora Indiei", "AKDT": "Ora de vară din Alaska", "TMT": "Ora standard din Turkmenistan", "BOT": "Ora Boliviei", "ECT": "Ora Ecuadorului", "ACWST": "Ora standard a Australiei Central Occidentale", "WART": "Ora standard a Argentinei Occidentale", "HAST": "Ora standard din Hawaii-Aleutine", "EDT": "Ora de vară orientală nord-americană", "SRT": "Ora Surinamului", "OEZ": "Ora standard a Europei de Est", "HKST": "Ora de vară din Hong Kong", "HAT": "Ora de vară din Newfoundland", "ART": "Ora standard a Argentinei", "WARST": "Ora de vară a Argentinei Occidentale", "ARST": "Ora de vară a Argentinei", "ADT": "Ora de vară în zona Atlantic nord-americană", "WITA": "Ora Indoneziei Centrale", "CDT": "Ora de vară centrală nord-americană", "MDT": "Ora de vară în zona montană nord-americană", "GMT": "Ora de Greenwhich", "∅∅∅": "Ora de vară a Amazonului", "ACWDT": "Ora de vară a Australiei Central Occidentale", "MYT": "Ora din Malaysia", "ChST": "Ora din Chamorro", "WAST": "Ora de vară a Africii Occidentale", "CLST": "Ora de vară din Chile", "LHDT": "Ora de vară din Lord Howe", "PDT": "Ora de vară în zona Pacific nord-americană", "COST": "Ora de vară a Columbiei", "AEST": "Ora standard a Australiei Orientale", "EST": "Ora standard orientală nord-americană", "WIT": "Ora Indoneziei de Est", "WEZ": "Ora standard a Europei de Vest", "MEZ": "Ora standard a Europei Centrale", "OESZ": "Ora de vară a Europei de Est", "WIB": "Ora Indoneziei de Vest", "NZST": "Ora standard a Noii Zeelande", "AWST": "Ora standard a Australiei Occidentale", "VET": "Ora Venezuelei", "HKT": "Ora standard din Hong Kong", "HADT": "Ora de vară din Hawaii-Aleutine"}, + timezones: map[string]string{"COST": "Ora de vară a Columbiei", "PST": "Ora standard în zona Pacific nord-americană", "AWDT": "Ora de vară a Australiei Occidentale", "LHDT": "Ora de vară din Lord Howe", "∅∅∅": "Ora de vară a Amazonului", "ChST": "Ora din Chamorro", "BOT": "Ora Boliviei", "HEEG": "Ora de vară a Groenlandei orientale", "EAT": "Ora Africii Orientale", "CST": "Ora standard centrală nord-americană", "AST": "Ora standard în zona Atlantic nord-americană", "SRT": "Ora Surinamului", "EST": "Ora standard orientală nord-americană", "GYT": "Ora din Guyana", "JST": "Ora standard a Japoniei", "HNNOMX": "Ora standard a Mexicului de nord-vest", "HKST": "Ora de vară din Hong Kong", "MESZ": "Ora de vară a Europei Centrale", "CLST": "Ora de vară din Chile", "OEZ": "Ora standard a Europei de Est", "UYT": "Ora standard a Uruguayului", "AKDT": "Ora de vară din Alaska", "ADT": "Ora de vară în zona Atlantic nord-americană", "HNEG": "Ora standard a Groenlandei orientale", "MDT": "Ora de vară în zona montană nord-americană", "MEZ": "Ora standard a Europei Centrale", "NZDT": "Ora de vară a Noii Zeelande", "CHAST": "Ora standard din Chatham", "CHADT": "Ora de vară din Chatham", "IST": "Ora Indiei", "WARST": "Ora de vară a Argentinei Occidentale", "HEPMX": "Ora de vară a zonei Pacific mexicane", "CDT": "Ora de vară centrală nord-americană", "WIT": "Ora Indoneziei de Est", "AEST": "Ora standard a Australiei Orientale", "ACDT": "Ora de vară a Australiei Centrale", "HNPMX": "Ora standard a zonei Pacific mexicane", "MST": "Ora standard în zona montană nord-americană", "HAST": "Ora standard din Hawaii-Aleutine", "TMT": "Ora standard din Turkmenistan", "WESZ": "Ora de vară a Europei de Vest", "ART": "Ora standard a Argentinei", "LHST": "Ora standard din Lord Howe", "WART": "Ora standard a Argentinei Occidentale", "HENOMX": "Ora de vară a Mexicului de nord-vest", "HEOG": "Ora de vară a Groenlandei occidentale", "PDT": "Ora de vară în zona Pacific nord-americană", "WEZ": "Ora standard a Europei de Vest", "WIB": "Ora Indoneziei de Vest", "WAT": "Ora standard a Africii Occidentale", "ACST": "Ora standard a Australiei Centrale", "WAST": "Ora de vară a Africii Occidentale", "VET": "Ora Venezuelei", "BT": "Ora Bhutanului", "ARST": "Ora de vară a Argentinei", "HEPM": "Ora de vară din Saint-Pierre și Miquelon", "GFT": "Ora din Guyana Franceză", "CAT": "Ora Africii Centrale", "GMT": "Ora de Greenwhich", "EDT": "Ora de vară orientală nord-americană", "HADT": "Ora de vară din Hawaii-Aleutine", "HNT": "Ora standard din Newfoundland", "HKT": "Ora standard din Hong Kong", "COT": "Ora standard a Columbiei", "HNCU": "Ora standard a Cubei", "HECU": "Ora de vară a Cubei", "HAT": "Ora de vară din Newfoundland", "NZST": "Ora standard a Noii Zeelande", "JDT": "Ora de vară a Japoniei", "AEDT": "Ora de vară a Australiei Orientale", "CLT": "Ora standard din Chile", "TMST": "Ora de vară din Turkmenistan", "HNPM": "Ora standard din Saint-Pierre și Miquelon", "MYT": "Ora din Malaysia", "ACWST": "Ora standard a Australiei Central Occidentale", "WITA": "Ora Indoneziei Centrale", "ACWDT": "Ora de vară a Australiei Central Occidentale", "SAST": "Ora Africii Meridionale", "ECT": "Ora Ecuadorului", "UYST": "Ora de vară a Uruguayului", "AKST": "Ora standard din Alaska", "HNOG": "Ora standard a Groenlandei occidentale", "AWST": "Ora standard a Australiei Occidentale", "OESZ": "Ora de vară a Europei de Est", "SGT": "Ora din Singapore"}, } } @@ -436,7 +436,12 @@ func (ro *ro) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +455,12 @@ func (ro *ro) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ro *ro) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -480,7 +495,12 @@ func (ro *ro) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ro_MD/ro_MD.go b/ro_MD/ro_MD.go index 3356926a5..1d1cbbc1f 100644 --- a/ro_MD/ro_MD.go +++ b/ro_MD/ro_MD.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "L", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "L", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"CLT": "Ora standard din Chile", "CAT": "Ora Africii Centrale", "LHST": "Ora standard din Lord Howe", "BOT": "Ora Boliviei", "∅∅∅": "Ora de vară din Azore", "CLST": "Ora de vară din Chile", "IST": "Ora Indiei", "MEZ": "Ora standard a Europei Centrale", "AEST": "Ora standard a Australiei Orientale", "HADT": "Ora de vară din Hawaii-Aleutine", "AWST": "Ora standard a Australiei Occidentale", "LHDT": "Ora de vară din Lord Howe", "OESZ": "Ora de vară a Europei de Est", "VET": "Ora Venezuelei", "MST": "Ora standard în zona montană nord-americană", "GFT": "Ora Guianei Franceze", "EAT": "Ora Africii Orientale", "ART": "Ora standard a Argentinei", "EST": "Ora standard orientală nord-americană", "HAT": "Ora de vară din Newfoundland", "ACWDT": "Ora de vară a Australiei Central Occidentale", "ACDT": "Ora de vară a Australiei Centrale", "ACWST": "Ora standard a Australiei Central Occidentale", "ARST": "Ora de vară a Argentinei", "WARST": "Ora de vară a Argentinei Occidentale", "SAST": "Ora Africii Meridionale", "WITA": "Ora Indoneziei Centrale", "GYT": "Ora din Guyana", "ACST": "Ora standard a Australiei Centrale", "HKST": "Ora de vară din Hong Kong", "MYT": "Ora din Malaysia", "UYT": "Ora standard a Uruguayului", "WESZ": "Ora de vară a Europei de Vest", "CHAST": "Ora standard din Chatham", "AST": "Ora standard în zona Atlantic nord-americană", "GMT": "Ora de Greenwhich", "NZDT": "Ora de vară a Noii Zeelande", "AKDT": "Ora de vară din Alaska", "ChST": "Ora din Chamorro", "WIT": "Ora Indoneziei de Est", "WEZ": "Ora standard a Europei de Vest", "CHADT": "Ora de vară din Chatham", "COST": "Ora de vară a Columbiei", "MESZ": "Ora de vară a Europei Centrale", "AWDT": "Ora de vară a Australiei Occidentale", "JST": "Ora standard a Japoniei", "ECT": "Ora Ecuadorului", "AEDT": "Ora de vară a Australiei Orientale", "AKST": "Ora standard din Alaska", "PDT": "Ora de vară în zona Pacific nord-americană", "HKT": "Ora standard din Hong Kong", "SRT": "Ora Surinamului", "SGT": "Ora din Singapore", "WART": "Ora standard a Argentinei Occidentale", "WAT": "Ora standard a Africii Occidentale", "WAST": "Ora de vară a Africii Occidentale", "TMST": "Ora de vară din Turkmenistan", "CDT": "Ora de vară centrală nord-americană", "OEZ": "Ora standard a Europei de Est", "WIB": "Ora Indoneziei de Vest", "UYST": "Ora de vară a Uruguayului", "ADT": "Ora de vară în zona Atlantic nord-americană", "TMT": "Ora standard din Turkmenistan", "MDT": "Ora de vară în zona montană nord-americană", "NZST": "Ora standard a Noii Zeelande", "BT": "Ora Bhutanului", "HNT": "Ora standard din Newfoundland", "JDT": "Ora de vară a Japoniei", "HAST": "Ora standard din Hawaii-Aleutine", "CST": "Ora standard centrală nord-americană", "EDT": "Ora de vară orientală nord-americană", "PST": "Ora standard în zona Pacific nord-americană", "COT": "Ora standard a Columbiei"}, + timezones: map[string]string{"SGT": "Ora din Singapore", "MST": "MST", "WESZ": "Ora de vară a Europei de Vest", "HECU": "Ora de vară a Cubei", "AST": "Ora standard în zona Atlantic nord-americană", "MEZ": "Ora standard a Europei Centrale", "EST": "Ora standard orientală nord-americană", "HNPM": "Ora standard din Saint-Pierre și Miquelon", "NZDT": "Ora de vară a Noii Zeelande", "JDT": "Ora de vară a Japoniei", "WAT": "Ora standard a Africii Occidentale", "HADT": "Ora de vară din Hawaii-Aleutine", "SRT": "Ora Surinamului", "WEZ": "Ora standard a Europei de Vest", "HKST": "Ora de vară din Hong Kong", "BT": "Ora Bhutanului", "MDT": "MDT", "CDT": "Ora de vară centrală nord-americană", "WIB": "Ora Indoneziei de Vest", "VET": "Ora Venezuelei", "PDT": "Ora de vară în zona Pacific nord-americană", "AEST": "Ora standard a Australiei Orientale", "∅∅∅": "Ora de vară a Amazonului", "WARST": "Ora de vară a Argentinei Occidentale", "CST": "Ora standard centrală nord-americană", "HKT": "Ora standard din Hong Kong", "HEPM": "Ora de vară din Saint-Pierre și Miquelon", "LHDT": "Ora de vară din Lord Howe", "NZST": "Ora standard a Noii Zeelande", "TMST": "Ora de vară din Turkmenistan", "ACDT": "Ora de vară a Australiei Centrale", "AKDT": "Ora de vară din Alaska", "GYT": "Ora din Guyana", "ARST": "Ora de vară a Argentinei", "HNOG": "Ora standard a Groenlandei occidentale", "AWST": "Ora standard a Australiei Occidentale", "WITA": "Ora Indoneziei Centrale", "IST": "Ora Indiei", "HEEG": "Ora de vară a Groenlandei orientale", "HEPMX": "Ora de vară a zonei Pacific mexicane", "ACWST": "Ora standard a Australiei Central Occidentale", "HEOG": "Ora de vară a Groenlandei occidentale", "JST": "Ora standard a Japoniei", "AKST": "Ora standard din Alaska", "PST": "Ora standard în zona Pacific nord-americană", "CLST": "Ora de vară din Chile", "ECT": "Ora Ecuadorului", "CAT": "Ora Africii Centrale", "COT": "Ora standard a Columbiei", "WART": "Ora standard a Argentinei Occidentale", "UYST": "Ora de vară a Uruguayului", "ACWDT": "Ora de vară a Australiei Central Occidentale", "CLT": "Ora standard din Chile", "HNEG": "Ora standard a Groenlandei orientale", "TMT": "Ora standard din Turkmenistan", "WAST": "Ora de vară a Africii Occidentale", "CHAST": "Ora standard din Chatham", "SAST": "Ora Africii Meridionale", "ACST": "Ora standard a Australiei Centrale", "HAST": "Ora standard din Hawaii-Aleutine", "HNT": "Ora standard din Newfoundland", "AWDT": "Ora de vară a Australiei Occidentale", "OEZ": "Ora standard a Europei de Est", "COST": "Ora de vară a Columbiei", "GMT": "Ora de Greenwhich", "HNPMX": "Ora standard a zonei Pacific mexicane", "HAT": "Ora de vară din Newfoundland", "ChST": "Ora din Chamorro", "EAT": "Ora Africii Orientale", "OESZ": "Ora de vară a Europei de Est", "HNNOMX": "Ora standard a Mexicului de nord-vest", "HENOMX": "Ora de vară a Mexicului de nord-vest", "ADT": "Ora de vară în zona Atlantic nord-americană", "MYT": "Ora din Malaysia", "MESZ": "Ora de vară a Europei Centrale", "BOT": "Ora Boliviei", "EDT": "Ora de vară orientală nord-americană", "UYT": "Ora standard a Uruguayului", "WIT": "Ora Indoneziei de Est", "ART": "Ora standard a Argentinei", "AEDT": "Ora de vară a Australiei Orientale", "GFT": "Ora din Guyana Franceză", "HNCU": "Ora standard a Cubei", "LHST": "Ora standard din Lord Howe", "CHADT": "Ora de vară din Chatham"}, } } @@ -436,7 +436,12 @@ func (ro *ro_MD) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +455,12 @@ func (ro *ro_MD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ro *ro_MD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -480,7 +495,12 @@ func (ro *ro_MD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ro_RO/ro_RO.go b/ro_RO/ro_RO.go index 0b3123b5d..f197e5c1a 100644 --- a/ro_RO/ro_RO.go +++ b/ro_RO/ro_RO.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -67,7 +67,7 @@ func New() locales.Translator { monthsWide: []string{"", "ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie"}, daysAbbreviated: []string{"dum.", "lun.", "mar.", "mie.", "joi", "vin.", "sâm."}, daysNarrow: []string{"D", "L", "M", "M", "J", "V", "S"}, - daysShort: []string{"du.", "lu.", "ma.", "mi.", "jo.", "vi.", "sâ."}, + daysShort: []string{"du.", "lu.", "ma.", "mi.", "joi", "vi.", "sâ."}, daysWide: []string{"duminică", "luni", "marți", "miercuri", "joi", "vineri", "sâmbătă"}, periodsAbbreviated: []string{"a.m.", "p.m."}, periodsNarrow: []string{"a.m.", "p.m."}, @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"î.Hr.", "d.Hr."}, erasNarrow: []string{"", ""}, erasWide: []string{"înainte de Hristos", "după Hristos"}, - timezones: map[string]string{"AEST": "Ora standard a Australiei Orientale", "TMST": "Ora de vară din Turkmenistan", "NZDT": "Ora de vară a Noii Zeelande", "LHST": "Ora standard din Lord Howe", "ACST": "Ora standard a Australiei Centrale", "PDT": "Ora de vară în zona Pacific nord-americană", "TMT": "Ora standard din Turkmenistan", "UYT": "Ora standard a Uruguayului", "EDT": "Ora de vară orientală nord-americană", "WAST": "Ora de vară a Africii Occidentale", "MYT": "Ora din Malaysia", "BT": "Ora Bhutanului", "EAT": "Ora Africii Orientale", "COT": "Ora standard a Columbiei", "WART": "Ora standard a Argentinei Occidentale", "PST": "Ora standard în zona Pacific nord-americană", "ADT": "Ora de vară în zona Atlantic nord-americană", "WAT": "Ora standard a Africii Occidentale", "ChST": "Ora din Chamorro", "CAT": "Ora Africii Centrale", "LHDT": "Ora de vară din Lord Howe", "HAST": "Ora standard din Hawaii-Aleutine", "HKT": "Ora standard din Hong Kong", "MEZ": "Ora standard a Europei Centrale", "WITA": "Ora Indoneziei Centrale", "CDT": "Ora de vară centrală nord-americană", "WIT": "Ora Indoneziei de Est", "AWDT": "Ora de vară a Australiei Occidentale", "COST": "Ora de vară a Columbiei", "NZST": "Ora standard a Noii Zeelande", "JDT": "Ora de vară a Japoniei", "∅∅∅": "Ora de vară a Brasiliei", "CLT": "Ora standard din Chile", "ACDT": "Ora de vară a Australiei Centrale", "OEZ": "Ora standard a Europei de Est", "WIB": "Ora Indoneziei de Vest", "ACWST": "Ora standard a Australiei Central Occidentale", "HNT": "Ora standard din Newfoundland", "UYST": "Ora de vară a Uruguayului", "SGT": "Ora din Singapore", "HADT": "Ora de vară din Hawaii-Aleutine", "AKST": "Ora standard din Alaska", "WEZ": "Ora standard a Europei de Vest", "ECT": "Ora Ecuadorului", "GMT": "Ora de Greenwhich", "ARST": "Ora de vară a Argentinei", "SRT": "Ora Surinamului", "OESZ": "Ora de vară a Europei de Est", "WARST": "Ora de vară a Argentinei Occidentale", "AKDT": "Ora de vară din Alaska", "EST": "Ora standard orientală nord-americană", "AST": "Ora standard în zona Atlantic nord-americană", "JST": "Ora standard a Japoniei", "CHADT": "Ora de vară din Chatham", "WESZ": "Ora de vară a Europei de Vest", "ART": "Ora standard a Argentinei", "ACWDT": "Ora de vară a Australiei Central Occidentale", "AEDT": "Ora de vară a Australiei Orientale", "CST": "Ora standard centrală nord-americană", "GYT": "Ora din Guyana", "AWST": "Ora standard a Australiei Occidentale", "CHAST": "Ora standard din Chatham", "MST": "Ora standard în zona montană nord-americană", "BOT": "Ora Boliviei", "SAST": "Ora Africii Meridionale", "MDT": "Ora de vară în zona montană nord-americană", "HAT": "Ora de vară din Newfoundland", "GFT": "Ora Guianei Franceze", "VET": "Ora Venezuelei", "MESZ": "Ora de vară a Europei Centrale", "IST": "Ora Indiei", "CLST": "Ora de vară din Chile", "HKST": "Ora de vară din Hong Kong"}, + timezones: map[string]string{"HKST": "Ora de vară din Hong Kong", "HNPMX": "Ora standard a zonei Pacific mexicane", "ARST": "Ora de vară a Argentinei", "HNOG": "Ora standard a Groenlandei occidentale", "ACWDT": "Ora de vară a Australiei Central Occidentale", "CHADT": "Ora de vară din Chatham", "CST": "Ora standard centrală nord-americană", "JDT": "Ora de vară a Japoniei", "ChST": "Ora din Chamorro", "HNEG": "Ora standard a Groenlandei orientale", "WAST": "Ora de vară a Africii Occidentale", "HADT": "Ora de vară din Hawaii-Aleutine", "GYT": "Ora din Guyana", "MYT": "Ora din Malaysia", "TMT": "Ora standard din Turkmenistan", "OESZ": "Ora de vară a Europei de Est", "COST": "Ora de vară a Columbiei", "HEPMX": "Ora de vară a zonei Pacific mexicane", "ACWST": "Ora standard a Australiei Central Occidentale", "HEPM": "Ora de vară din Saint-Pierre și Miquelon", "JST": "Ora standard a Japoniei", "CLST": "Ora de vară din Chile", "BOT": "Ora Boliviei", "EDT": "Ora de vară orientală nord-americană", "UYT": "Ora standard a Uruguayului", "MEZ": "Ora standard a Europei Centrale", "MST": "MST", "∅∅∅": "Ora de vară din Azore", "ADT": "Ora de vară în zona Atlantic nord-americană", "UYST": "Ora de vară a Uruguayului", "CDT": "Ora de vară centrală nord-americană", "HNPM": "Ora standard din Saint-Pierre și Miquelon", "LHDT": "Ora de vară din Lord Howe", "WART": "Ora standard a Argentinei Occidentale", "AWST": "Ora standard a Australiei Occidentale", "AKDT": "Ora de vară din Alaska", "HAST": "Ora standard din Hawaii-Aleutine", "HEOG": "Ora de vară a Groenlandei occidentale", "HKT": "Ora standard din Hong Kong", "EAT": "Ora Africii Orientale", "GMT": "Ora de Greenwhich", "WIT": "Ora Indoneziei de Est", "BT": "Ora Bhutanului", "PST": "Ora standard în zona Pacific nord-americană", "WESZ": "Ora de vară a Europei de Vest", "NZST": "Ora standard a Noii Zeelande", "HEEG": "Ora de vară a Groenlandei orientale", "GFT": "Ora din Guyana Franceză", "WIB": "Ora Indoneziei de Vest", "ACDT": "Ora de vară a Australiei Centrale", "COT": "Ora standard a Columbiei", "HNNOMX": "Ora standard a Mexicului de nord-vest", "SGT": "Ora din Singapore", "SRT": "Ora Surinamului", "WEZ": "Ora standard a Europei de Vest", "HAT": "Ora de vară din Newfoundland", "AWDT": "Ora de vară a Australiei Occidentale", "WARST": "Ora de vară a Argentinei Occidentale", "ACST": "Ora standard a Australiei Centrale", "CAT": "Ora Africii Centrale", "OEZ": "Ora standard a Europei de Est", "MESZ": "Ora de vară a Europei Centrale", "LHST": "Ora standard din Lord Howe", "SAST": "Ora Africii Meridionale", "MDT": "MDT", "ART": "Ora standard a Argentinei", "AEST": "Ora standard a Australiei Orientale", "WITA": "Ora Indoneziei Centrale", "CHAST": "Ora standard din Chatham", "IST": "Ora Indiei", "AKST": "Ora standard din Alaska", "HECU": "Ora de vară a Cubei", "NZDT": "Ora de vară a Noii Zeelande", "CLT": "Ora standard din Chile", "ECT": "Ora Ecuadorului", "WAT": "Ora standard a Africii Occidentale", "HNCU": "Ora standard a Cubei", "AST": "Ora standard în zona Atlantic nord-americană", "VET": "Ora Venezuelei", "HENOMX": "Ora de vară a Mexicului de nord-vest", "PDT": "Ora de vară în zona Pacific nord-americană", "HNT": "Ora standard din Newfoundland", "AEDT": "Ora de vară a Australiei Orientale", "TMST": "Ora de vară din Turkmenistan", "EST": "Ora standard orientală nord-americană"}, } } @@ -436,7 +436,12 @@ func (ro *ro_RO) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +455,12 @@ func (ro *ro_RO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ro *ro_RO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -480,7 +495,12 @@ func (ro *ro_RO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ro.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rof/rof.go b/rof/rof.go index dbf1b97e7..f9c5c2b72 100644 --- a/rof/rof.go +++ b/rof/rof.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12"}, monthsNarrow: []string{"", "K", "K", "K", "K", "T", "S", "S", "N", "T", "I", "I", "I"}, monthsWide: []string{"", "Mweri wa kwanza", "Mweri wa kaili", "Mweri wa katatu", "Mweri wa kaana", "Mweri wa tanu", "Mweri wa sita", "Mweri wa saba", "Mweri wa nane", "Mweri wa tisa", "Mweri wa ikumi", "Mweri wa ikumi na moja", "Mweri wa ikumi na mbili"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Mayesu", "Baada ya Mayesu"}, - timezones: map[string]string{"COT": "COT", "WAT": "WAT", "WAST": "WAST", "AKST": "AKST", "AKDT": "AKDT", "GMT": "GMT", "PST": "PST", "NZDT": "NZDT", "LHDT": "LHDT", "UYST": "UYST", "ARST": "ARST", "WARST": "WARST", "AWST": "AWST", "HKST": "HKST", "ART": "ART", "SAST": "SAST", "AWDT": "AWDT", "HAT": "HAT", "OEZ": "OEZ", "COST": "COST", "EST": "EST", "AST": "AST", "ADT": "ADT", "NZST": "NZST", "ACDT": "ACDT", "HAST": "HAST", "AEDT": "AEDT", "MDT": "MDT", "WIT": "WIT", "CLT": "CLT", "OESZ": "OESZ", "CHADT": "CHADT", "GFT": "GFT", "MEZ": "MEZ", "PDT": "PDT", "ChST": "ChST", "MESZ": "MESZ", "HADT": "HADT", "WART": "WART", "CST": "CST", "HNT": "HNT", "HKT": "HKT", "WITA": "WITA", "MYT": "MYT", "BT": "BT", "JST": "JST", "WIB": "WIB", "ACWST": "ACWST", "TMT": "TMT", "WEZ": "WEZ", "EAT": "EAT", "MST": "MST", "BOT": "BOT", "UYT": "UYT", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "ACST": "ACST", "VET": "VET", "ACWDT": "ACWDT", "IST": "IST", "EDT": "EDT", "CDT": "CDT", "GYT": "GYT", "WESZ": "WESZ", "SRT": "SRT", "JDT": "JDT", "SGT": "SGT", "AEST": "AEST", "CLST": "CLST", "LHST": "LHST", "ECT": "ECT", "TMST": "TMST", "CAT": "CAT"}, + timezones: map[string]string{"HNPM": "HNPM", "HNEG": "HNEG", "IST": "IST", "ECT": "ECT", "AKDT": "AKDT", "ACDT": "ACDT", "SGT": "SGT", "ADT": "ADT", "WIB": "WIB", "WIT": "WIT", "WEZ": "WEZ", "SAST": "SAST", "TMST": "TMST", "EST": "EST", "HNPMX": "HNPMX", "HECU": "HECU", "ACWDT": "ACWDT", "CHADT": "CHADT", "HEEG": "HEEG", "GFT": "GFT", "ACST": "ACST", "WART": "WART", "HADT": "HADT", "HAT": "HAT", "AEDT": "AEDT", "ChST": "ChST", "WARST": "WARST", "HENOMX": "HENOMX", "CST": "CST", "WAT": "WAT", "ART": "ART", "ARST": "ARST", "WITA": "WITA", "MEZ": "MEZ", "CLT": "CLT", "∅∅∅": "∅∅∅", "UYT": "UYT", "PST": "PST", "HNT": "HNT", "HKST": "HKST", "NZST": "NZST", "COT": "COT", "COST": "COST", "OESZ": "OESZ", "MST": "MST", "HEPM": "HEPM", "CHAST": "CHAST", "JST": "JST", "JDT": "JDT", "BOT": "BOT", "CAT": "CAT", "HEPMX": "HEPMX", "UYST": "UYST", "CDT": "CDT", "GYT": "GYT", "BT": "BT", "LHDT": "LHDT", "EAT": "EAT", "AKST": "AKST", "AST": "AST", "WESZ": "WESZ", "HNOG": "HNOG", "AWST": "AWST", "MESZ": "MESZ", "CLST": "CLST", "OEZ": "OEZ", "LHST": "LHST", "GMT": "GMT", "AWDT": "AWDT", "HKT": "HKT", "AEST": "AEST", "HNNOMX": "HNNOMX", "HAST": "HAST", "PDT": "PDT", "ACWST": "ACWST", "HNCU": "HNCU", "EDT": "EDT", "VET": "VET", "SRT": "SRT", "HEOG": "HEOG", "NZDT": "NZDT", "TMT": "TMT", "WAST": "WAST", "MDT": "MDT", "MYT": "MYT"}, } } @@ -329,7 +329,12 @@ func (rof *rof) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (rof *rof) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (rof *rof) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (rof *rof) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rof_TZ/rof_TZ.go b/rof_TZ/rof_TZ.go index d5994a9c2..e15459f41 100644 --- a/rof_TZ/rof_TZ.go +++ b/rof_TZ/rof_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12"}, monthsNarrow: []string{"", "K", "K", "K", "K", "T", "S", "S", "N", "T", "I", "I", "I"}, monthsWide: []string{"", "Mweri wa kwanza", "Mweri wa kaili", "Mweri wa katatu", "Mweri wa kaana", "Mweri wa tanu", "Mweri wa sita", "Mweri wa saba", "Mweri wa nane", "Mweri wa tisa", "Mweri wa ikumi", "Mweri wa ikumi na moja", "Mweri wa ikumi na mbili"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KM", "BM"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Mayesu", "Baada ya Mayesu"}, - timezones: map[string]string{"CST": "CST", "MYT": "MYT", "UYT": "UYT", "CHAST": "CHAST", "ACST": "ACST", "AWST": "AWST", "MESZ": "MESZ", "WAT": "WAT", "ChST": "ChST", "BT": "BT", "HNT": "HNT", "GMT": "GMT", "HKST": "HKST", "CHADT": "CHADT", "COST": "COST", "WART": "WART", "ADT": "ADT", "NZDT": "NZDT", "LHST": "LHST", "WIB": "WIB", "HAST": "HAST", "TMT": "TMT", "NZST": "NZST", "SRT": "SRT", "WEZ": "WEZ", "SGT": "SGT", "EAT": "EAT", "MST": "MST", "BOT": "BOT", "CAT": "CAT", "ECT": "ECT", "HADT": "HADT", "AEDT": "AEDT", "WIT": "WIT", "LHDT": "LHDT", "WESZ": "WESZ", "ACDT": "ACDT", "ACWST": "ACWST", "ARST": "ARST", "IST": "IST", "CLT": "CLT", "MEZ": "MEZ", "PDT": "PDT", "AKDT": "AKDT", "JDT": "JDT", "OESZ": "OESZ", "AEST": "AEST", "ART": "ART", "WARST": "WARST", "HAT": "HAT", "CLST": "CLST", "CDT": "CDT", "MDT": "MDT", "AWDT": "AWDT", "UYST": "UYST", "GFT": "GFT", "PST": "PST", "HKT": "HKT", "COT": "COT", "VET": "VET", "AST": "AST", "AKST": "AKST", "EST": "EST", "WITA": "WITA", "TMST": "TMST", "JST": "JST", "OEZ": "OEZ", "SAST": "SAST", "EDT": "EDT", "∅∅∅": "∅∅∅", "ACWDT": "ACWDT", "WAST": "WAST", "GYT": "GYT"}, + timezones: map[string]string{"CST": "CST", "WIB": "WIB", "HEOG": "HEOG", "AKST": "AKST", "MYT": "MYT", "LHST": "LHST", "CHAST": "CHAST", "SAST": "SAST", "WAST": "WAST", "WART": "WART", "HEPMX": "HEPMX", "HNT": "HNT", "HNOG": "HNOG", "NZST": "NZST", "CAT": "CAT", "HNCU": "HNCU", "WIT": "WIT", "HKST": "HKST", "NZDT": "NZDT", "WARST": "WARST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "EST": "EST", "HADT": "HADT", "HNPM": "HNPM", "WAT": "WAT", "HECU": "HECU", "MEZ": "MEZ", "CHADT": "CHADT", "COT": "COT", "GMT": "GMT", "VET": "VET", "ACWST": "ACWST", "JST": "JST", "GYT": "GYT", "BOT": "BOT", "ART": "ART", "OESZ": "OESZ", "ECT": "ECT", "ACDT": "ACDT", "EDT": "EDT", "JDT": "JDT", "SGT": "SGT", "SRT": "SRT", "WESZ": "WESZ", "HAT": "HAT", "HKT": "HKT", "IST": "IST", "OEZ": "OEZ", "MDT": "MDT", "ADT": "ADT", "PST": "PST", "PDT": "PDT", "AEDT": "AEDT", "AWST": "AWST", "WITA": "WITA", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "CLST": "CLST", "ARST": "ARST", "LHDT": "LHDT", "ChST": "ChST", "GFT": "GFT", "CDT": "CDT", "BT": "BT", "AWDT": "AWDT", "TMT": "TMT", "TMST": "TMST", "ACST": "ACST", "EAT": "EAT", "COST": "COST", "AKDT": "AKDT", "UYT": "UYT", "UYST": "UYST", "AST": "AST", "HAST": "HAST", "WEZ": "WEZ", "HEPM": "HEPM", "HEEG": "HEEG", "MST": "MST", "ACWDT": "ACWDT", "AEST": "AEST", "CLT": "CLT", "HNPMX": "HNPMX"}, } } @@ -329,7 +329,12 @@ func (rof *rof_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (rof *rof_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (rof *rof_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (rof *rof_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rof.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/root/root.go b/root/root.go index 1cf9352fa..887a1db6b 100644 --- a/root/root.go +++ b/root/root.go @@ -53,7 +53,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "$", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$", "$", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "$", "BTN", "BUK", "P", "BYB", "р.", "$", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$", "CNX", "CN¥", "$", "COU", "₡", "CSD", "CSK", "$", "$", "CVE", "CYP", "Kč", "DDM", "DEM", "DJF", "kr", "$", "DZD", "ECS", "ECV", "EEK", "E£", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "$", "£", "FRF", "£", "GEK", "₾", "GHC", "GHS", "£", "GMD", "FG", "GNS", "GQE", "GRD", "Q", "GWE", "GWP", "$", "HK$", "L", "HRD", "kn", "HTG", "Ft", "Rp", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "kr", "ITL", "$", "JOD", "JP¥", "KES", "KGS", "៛", "CF", "₩", "KRH", "KRO", "₩", "KWD", "$", "₸", "₭", "L£", "Rs", "$", "LSL", "Lt", "LTT", "LUC", "LUF", "LUL", "Ls", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "K", "₮", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "$", "₦", "NIC", "C$", "NLG", "kr", "Rs", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "Rs", "zł", "PLZ", "PTE", "₲", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "р.", "RF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "kr", "$", "£", "SIT", "SKK", "SLL", "SOS", "$", "SRG", "£", "Db", "SUR", "SVC", "£", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "₺", "$", "NT$", "TZS", "₴", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "$", "UZS", "VEB", "Bs", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZK", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "Kz", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "$", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "$", "৳", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "$", "$", "Bs", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "$", "BTN", "BUK", "P", "BYB", "р.", "BYR", "$", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "$", "CNX", "CN¥", "$", "COU", "₡", "CSD", "CSK", "$", "$", "CVE", "CYP", "Kč", "DDM", "DEM", "DJF", "kr", "$", "DZD", "ECS", "ECV", "EEK", "E£", "ERN", "ESA", "ESB", "₧", "ETB", "€", "FIM", "$", "£", "FRF", "£", "GEK", "₾", "GHC", "GHS", "£", "GMD", "FG", "GNS", "GQE", "GRD", "Q", "GWE", "GWP", "$", "HK$", "L", "HRD", "kn", "HTG", "Ft", "Rp", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "kr", "ITL", "$", "JOD", "JP¥", "KES", "KGS", "៛", "CF", "₩", "KRH", "KRO", "₩", "KWD", "$", "₸", "₭", "L£", "Rs", "$", "LSL", "Lt", "LTT", "LUC", "LUF", "LUL", "Ls", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "Ar", "MGF", "MKD", "MKN", "MLF", "K", "₮", "MOP", "MRO", "MTL", "MTP", "Rs", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "$", "₦", "NIC", "C$", "NLG", "kr", "Rs", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "₱", "Rs", "zł", "PLZ", "PTE", "₲", "QAR", "RHD", "ROL", "lei", "RSD", "₽", "р.", "RF", "SAR", "$", "SCR", "SDD", "SDG", "SDP", "kr", "$", "£", "SIT", "SKK", "SLL", "SOS", "$", "SRG", "£", "Db", "SUR", "SVC", "£", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "₺", "$", "NT$", "TZS", "₴", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "$", "UZS", "VEB", "Bs", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZK", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "M01", "M02", "M03", "M04", "M05", "M06", "M07", "M08", "M09", "M10", "M11", "M12"}, daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, @@ -64,7 +64,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BCE", "CE"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"AKST": "AKST", "WAT": "WAT", "CLT": "CLT", "CAT": "CAT", "HNT": "HNT", "UYST": "UYST", "VET": "VET", "ACWST": "ACWST", "HKST": "HKST", "WEZ": "WEZ", "HADT": "HADT", "MDT": "MDT", "WESZ": "WESZ", "WITA": "WITA", "CST": "CST", "CDT": "CDT", "LHST": "LHST", "COST": "COST", "WART": "WART", "WARST": "WARST", "ARST": "ARST", "∅∅∅": "∅∅∅", "AWDT": "AWDT", "MESZ": "MESZ", "COT": "COT", "ART": "ART", "GFT": "GFT", "MYT": "MYT", "LHDT": "LHDT", "AEDT": "AEDT", "AKDT": "AKDT", "GYT": "GYT", "HAT": "HAT", "SRT": "SRT", "WIB": "WIB", "ACST": "ACST", "PDT": "PDT", "ADT": "ADT", "MST": "MST", "UYT": "UYT", "JST": "JST", "CHAST": "CHAST", "HAST": "HAST", "EDT": "EDT", "WIT": "WIT", "OESZ": "OESZ", "ACDT": "ACDT", "PST": "PST", "CLST": "CLST", "HKT": "HKT", "AEST": "AEST", "AST": "AST", "MEZ": "MEZ", "ChST": "ChST", "BOT": "BOT", "CHADT": "CHADT", "NZST": "NZST", "NZDT": "NZDT", "GMT": "GMT", "SGT": "SGT", "SAST": "SAST", "TMST": "TMST", "BT": "BT", "OEZ": "OEZ", "ECT": "ECT", "TMT": "TMT", "EAT": "EAT", "WAST": "WAST", "IST": "IST", "AWST": "AWST", "JDT": "JDT", "ACWDT": "ACWDT", "EST": "EST"}, + timezones: map[string]string{"HNT": "HNT", "SAST": "SAST", "BOT": "BOT", "WAST": "WAST", "UYT": "UYT", "AKST": "AKST", "PST": "PST", "HKT": "HKT", "HKST": "HKST", "MEZ": "MEZ", "MYT": "MYT", "WIB": "WIB", "HEOG": "HEOG", "HNNOMX": "HNNOMX", "LHST": "LHST", "CLT": "CLT", "WARST": "WARST", "PDT": "PDT", "AWDT": "AWDT", "HNEG": "HNEG", "ECT": "ECT", "ADT": "ADT", "MDT": "MDT", "VET": "VET", "EDT": "EDT", "BT": "BT", "CHAST": "CHAST", "HENOMX": "HENOMX", "WIT": "WIT", "ARST": "ARST", "CLST": "CLST", "JST": "JST", "HNPMX": "HNPMX", "AKDT": "AKDT", "AST": "AST", "MST": "MST", "HEPMX": "HEPMX", "HAT": "HAT", "ART": "ART", "NZDT": "NZDT", "HEEG": "HEEG", "TMST": "TMST", "COST": "COST", "HNCU": "HNCU", "HECU": "HECU", "CDT": "CDT", "HNPM": "HNPM", "JDT": "JDT", "HEPM": "HEPM", "OESZ": "OESZ", "COT": "COT", "GYT": "GYT", "CST": "CST", "AWST": "AWST", "ACWST": "ACWST", "MESZ": "MESZ", "GFT": "GFT", "TMT": "TMT", "EAT": "EAT", "UYST": "UYST", "HAST": "HAST", "WEZ": "WEZ", "WART": "WART", "AEDT": "AEDT", "CHADT": "CHADT", "HADT": "HADT", "HNOG": "HNOG", "WESZ": "WESZ", "AEST": "AEST", "WITA": "WITA", "EST": "EST", "IST": "IST", "∅∅∅": "∅∅∅", "ACDT": "ACDT", "SGT": "SGT", "SRT": "SRT", "LHDT": "LHDT", "NZST": "NZST", "ACST": "ACST", "WAT": "WAT", "OEZ": "OEZ", "GMT": "GMT", "ACWDT": "ACWDT", "ChST": "ChST", "CAT": "CAT"}, } } @@ -207,7 +207,12 @@ func (root *root) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -232,7 +237,12 @@ func (root *root) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, root.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -246,7 +256,12 @@ func (root *root) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, root.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -260,7 +275,12 @@ func (root *root) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, root.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/ru/ru.go b/ru/ru.go index ba197507d..1c5126ce0 100644 --- a/ru/ru.go +++ b/ru/ru.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "р.", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "ТМТ", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "₴", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "р.", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "ТМТ", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "₴", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"EDT": "Восточная Америка, летнее время", "MYT": "Малайзия", "NZST": "Новая Зеландия, стандартное время", "AWST": "Западная Австралия, стандартное время", "HNT": "Ньюфаундленд, стандартное время", "WESZ": "Западная Европа, летнее время", "ACST": "Центральная Австралия, стандартное время", "IST": "Индия", "JST": "Япония, стандартное время", "GMT": "Среднее время по Гринвичу", "MESZ": "Центральная Европа, летнее время", "MST": "Горное стандартное время (США)", "AST": "Атлантическое стандартное время", "WITA": "Центральная Индонезия", "CAT": "Центральная Африка", "HADT": "Гавайско-алеутское летнее время", "WAT": "Западная Африка, стандартное время", "AEST": "Восточная Австралия, стандартное время", "ECT": "Эквадор", "TMST": "Туркмения, летнее время", "LHDT": "Лорд-Хау, летнее время", "EAT": "Восточная Африка", "OEZ": "Восточная Европа, стандартное время", "MEZ": "Центральная Европа, стандартное время", "HKT": "Гонконг, стандартное время", "EST": "Восточная Америка, стандартное время", "PST": "Тихоокеанское стандартное время", "UYST": "Уругвай, летнее время", "WARST": "Западная Аргентина, летнее время", "AKDT": "Аляска, летнее время", "TMT": "Туркмения, стандартное время", "JDT": "Япония, летнее время", "CHAST": "Чатем, стандартное время", "COST": "Колумбия, летнее время", "WAST": "Западная Африка, летнее время", "MDT": "Горное летнее время (США)", "∅∅∅": "Азорские о-ва, летнее время", "CST": "Центральная Америка, стандартное время", "HAT": "Ньюфаундленд, летнее время", "UYT": "Уругвай, стандартное время", "GYT": "Гайана", "CLST": "Чили, летнее время", "LHST": "Лорд-Хау, стандартное время", "WEZ": "Западная Европа, стандартное время", "SRT": "Суринам", "CDT": "Центральная Америка, летнее время", "CLT": "Чили, стандартное время", "WIT": "Восточная Индонезия", "SGT": "Сингапур", "AEDT": "Восточная Австралия, летнее время", "NZDT": "Новая Зеландия, летнее время", "CHADT": "Чатем, летнее время", "HAST": "Гавайско-алеутское стандартное время", "PDT": "Тихоокеанское летнее время", "COT": "Колумбия, стандартное время", "VET": "Венесуэла", "BOT": "Боливия", "ChST": "Чаморро", "ACWDT": "Центральная Австралия, западное летнее время", "ADT": "Атлантическое летнее время", "AWDT": "Западная Австралия, летнее время", "GFT": "Французская Гвиана", "WIB": "Западная Индонезия", "AKST": "Аляска, стандартное время", "BT": "Бутан", "HKST": "Гонконг, летнее время", "OESZ": "Восточная Европа, летнее время", "ACDT": "Центральная Австралия, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "ART": "Аргентина, стандартное время", "ARST": "Аргентина, летнее время", "SAST": "Южная Африка", "WART": "Западная Аргентина, стандартное время"}, + timezones: map[string]string{"COST": "Колумбия, летнее время", "AKST": "Аляска, стандартное время", "AST": "Атлантическое стандартное время", "ARST": "Аргентина, летнее время", "WITA": "Центральная Индонезия", "EAT": "Восточная Африка", "WEZ": "Западная Европа, стандартное время", "WESZ": "Западная Европа, летнее время", "HEOG": "Западная Гренландия, летнее время", "NZST": "Новая Зеландия, стандартное время", "ChST": "Чаморро", "PST": "Тихоокеанское стандартное время", "UYST": "Уругвай, летнее время", "HEPMX": "Тихоокеанское мексиканское летнее время", "OESZ": "Восточная Европа, летнее время", "WART": "Западная Аргентина, стандартное время", "GMT": "Среднее время по Гринвичу", "AWST": "Западная Австралия, стандартное время", "JST": "Япония, стандартное время", "WAST": "Западная Африка, летнее время", "HAST": "Гавайско-алеутское стандартное время", "CLST": "Чили, летнее время", "HNEG": "Восточная Гренландия, стандарное время", "HECU": "Куба, летнее время", "SGT": "Сингапур", "VET": "Венесуэла", "HNOG": "Западная Гренландия, стандартное время", "HEPM": "Сен-Пьер и Микелон, летнее время", "HENOMX": "Северо-западное мексиканское летнее время", "HNT": "Ньюфаундленд, стандартное время", "AEST": "Восточная Австралия, стандартное время", "AEDT": "Восточная Австралия, летнее время", "CLT": "Чили, стандартное время", "WAT": "Западная Африка, стандартное время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "TMT": "Туркмения, стандартное время", "SRT": "Суринам", "ACWST": "Центральная Австралия, западное стандартное время", "HKT": "Гонконг, стандартное время", "MEZ": "Центральная Европа, стандартное время", "HNCU": "Куба, стандартное время", "BT": "Бутан", "BOT": "Боливия", "ACDT": "Центральная Австралия, летнее время", "HNPMX": "Тихоокеанское мексиканское стандартное время", "COT": "Колумбия, стандартное время", "EST": "Восточная Америка, стандартное время", "WIB": "Западная Индонезия", "WIT": "Восточная Индонезия", "LHST": "Лорд-Хау, стандартное время", "LHDT": "Лорд-Хау, летнее время", "IST": "Индия", "∅∅∅": "Перу, летнее время", "ACST": "Центральная Австралия, стандартное время", "JDT": "Япония, летнее время", "WARST": "Западная Аргентина, летнее время", "CDT": "Центральная Америка, летнее время", "MYT": "Малайзия", "MESZ": "Центральная Европа, летнее время", "ECT": "Эквадор", "CST": "Центральная Америка, стандартное время", "UYT": "Уругвай, стандартное время", "PDT": "Тихоокеанское летнее время", "TMST": "Туркмения, летнее время", "AKDT": "Аляска, летнее время", "ADT": "Атлантическое летнее время", "HAT": "Ньюфаундленд, летнее время", "AWDT": "Западная Австралия, летнее время", "HKST": "Гонконг, летнее время", "HEEG": "Восточная Гренландия, летнее время", "MDT": "Макао, летнее время", "OEZ": "Восточная Европа, стандартное время", "HNNOMX": "Северо-западное мексиканское стандартное время", "EDT": "Восточная Америка, летнее время", "MST": "Макао, стандартное время", "GYT": "Гайана", "HADT": "Гавайско-алеутское летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "CAT": "Центральная Африка", "NZDT": "Новая Зеландия, летнее время", "CHAST": "Чатем, стандартное время", "CHADT": "Чатем, летнее время", "SAST": "Южная Африка", "GFT": "Французская Гвиана", "ART": "Аргентина, стандартное время"}, } } @@ -451,10 +451,10 @@ func (ru *ru) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_BY/ru_BY.go b/ru_BY/ru_BY.go index ba4c39984..11d4db0fa 100644 --- a/ru_BY/ru_BY.go +++ b/ru_BY/ru_BY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "р.", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "Br", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"WART": "Западная Аргентина, стандартное время", "NZDT": "Новая Зеландия, летнее время", "BOT": "Боливия", "OESZ": "Восточная Европа, летнее время", "HKST": "Гонконг, летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "PDT": "Тихоокеанское летнее время", "HAT": "Ньюфаундленд, летнее время", "COT": "Колумбия, стандартное время", "TMT": "Туркмения, стандартное время", "OEZ": "Восточная Европа, стандартное время", "AKDT": "Аляска, летнее время", "ChST": "Чаморро", "ACWST": "Центральная Австралия, западное стандартное время", "TMST": "Туркмения, летнее время", "UYT": "Уругвай, стандартное время", "UYST": "Уругвай, летнее время", "GFT": "Французская Гвиана", "MESZ": "Центральная Европа, летнее время", "EDT": "Восточная Америка, летнее время", "GYT": "Гайана", "CAT": "Центральная Африка", "LHDT": "Лорд-Хау, летнее время", "SRT": "Суринам", "WAT": "Западная Африка, стандартное время", "COST": "Колумбия, летнее время", "WARST": "Западная Аргентина, летнее время", "MDT": "Горное летнее время (США)", "AWDT": "Западная Австралия, летнее время", "JDT": "Япония, летнее время", "IST": "Индия", "CHAST": "Чатем, стандартное время", "ACDT": "Центральная Австралия, летнее время", "WITA": "Центральная Индонезия", "CDT": "Центральная Америка, летнее время", "CLT": "Чили, стандартное время", "BT": "Бутан", "PST": "Тихоокеанское стандартное время", "HNT": "Ньюфаундленд, стандартное время", "SGT": "Сингапур", "CHADT": "Чатем, летнее время", "MEZ": "Центральная Европа, стандартное время", "ART": "Аргентина, стандартное время", "EST": "Восточная Америка, стандартное время", "ADT": "Атлантическое летнее время", "AWST": "Западная Австралия, стандартное время", "GMT": "Среднее время по Гринвичу", "VET": "Венесуэла", "ACST": "Центральная Австралия, стандартное время", "HADT": "Гавайско-алеутское летнее время", "AEDT": "Восточная Австралия, летнее время", "ARST": "Аргентина, летнее время", "AST": "Атлантическое стандартное время", "WEZ": "Западная Европа, стандартное время", "ECT": "Эквадор", "EAT": "Восточная Африка", "SAST": "Южная Африка", "WAST": "Западная Африка, летнее время", "CST": "Центральная Америка, стандартное время", "JST": "Япония, стандартное время", "HKT": "Гонконг, стандартное время", "AEST": "Восточная Австралия, стандартное время", "MST": "Горное стандартное время (США)", "CLST": "Чили, летнее время", "AKST": "Аляска, стандартное время", "LHST": "Лорд-Хау, стандартное время", "WESZ": "Западная Европа, летнее время", "WIB": "Западная Индонезия", "HAST": "Гавайско-алеутское стандартное время", "MYT": "Малайзия", "NZST": "Новая Зеландия, стандартное время", "WIT": "Восточная Индонезия", "∅∅∅": "Бразилия, летнее время"}, + timezones: map[string]string{"HNCU": "Куба, стандартное время", "HEPMX": "Тихоокеанское мексиканское летнее время", "AKDT": "Аляска, летнее время", "HKST": "Гонконг, летнее время", "WIB": "Западная Индонезия", "JST": "Япония, стандартное время", "ChST": "Чаморро", "HENOMX": "Северо-западное мексиканское летнее время", "MYT": "Малайзия", "SRT": "Суринам", "HNOG": "Западная Гренландия, стандартное время", "PDT": "Тихоокеанское летнее время", "ACST": "Центральная Австралия, стандартное время", "OEZ": "Восточная Европа, стандартное время", "ECT": "Эквадор", "WARST": "Западная Аргентина, летнее время", "MEZ": "Центральная Европа, стандартное время", "GYT": "Гайана", "HNPM": "Сен-Пьер и Микелон, стандартное время", "HEPM": "Сен-Пьер и Микелон, летнее время", "MST": "Макао, стандартное время", "CST": "Центральная Америка, стандартное время", "HEOG": "Западная Гренландия, летнее время", "SAST": "Южная Африка", "CLT": "Чили, стандартное время", "COST": "Колумбия, летнее время", "EST": "Восточная Америка, стандартное время", "WIT": "Восточная Индонезия", "WESZ": "Западная Европа, летнее время", "IST": "Индия", "HEEG": "Восточная Гренландия, летнее время", "COT": "Колумбия, стандартное время", "CDT": "Центральная Америка, летнее время", "LHST": "Лорд-Хау, стандартное время", "EDT": "Восточная Америка, летнее время", "BT": "Бутан", "HAT": "Ньюфаундленд, летнее время", "ADT": "Атлантическое летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "AEDT": "Восточная Австралия, летнее время", "BOT": "Боливия", "OESZ": "Восточная Европа, летнее время", "SGT": "Сингапур", "AKST": "Аляска, стандартное время", "∅∅∅": "Амазонка, летнее время", "WART": "Западная Аргентина, стандартное время", "AEST": "Восточная Австралия, стандартное время", "ACDT": "Центральная Австралия, летнее время", "HNPMX": "Тихоокеанское мексиканское стандартное время", "AWDT": "Западная Австралия, летнее время", "VET": "Венесуэла", "HNT": "Ньюфаундленд, стандартное время", "WITA": "Центральная Индонезия", "HNEG": "Восточная Гренландия, стандарное время", "TMT": "Туркмения, стандартное время", "MDT": "Макао, летнее время", "AST": "Атлантическое стандартное время", "HECU": "Куба, летнее время", "HAST": "Гавайско-алеутское стандартное время", "WEZ": "Западная Европа, стандартное время", "CHADT": "Чатем, летнее время", "EAT": "Восточная Африка", "WAT": "Западная Африка, стандартное время", "WAST": "Западная Африка, летнее время", "CAT": "Центральная Африка", "UYT": "Уругвай, стандартное время", "HADT": "Гавайско-алеутское летнее время", "NZST": "Новая Зеландия, стандартное время", "NZDT": "Новая Зеландия, летнее время", "CLST": "Чили, летнее время", "GFT": "Французская Гвиана", "AWST": "Западная Австралия, стандартное время", "HKT": "Гонконг, стандартное время", "MESZ": "Центральная Европа, летнее время", "CHAST": "Чатем, стандартное время", "HNNOMX": "Северо-западное мексиканское стандартное время", "ACWDT": "Центральная Австралия, западное летнее время", "UYST": "Уругвай, летнее время", "ART": "Аргентина, стандартное время", "ARST": "Аргентина, летнее время", "LHDT": "Лорд-Хау, летнее время", "JDT": "Япония, летнее время", "TMST": "Туркмения, летнее время", "GMT": "Среднее время по Гринвичу", "PST": "Тихоокеанское стандартное время"}, } } @@ -451,10 +451,10 @@ func (ru *ru_BY) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_BY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_BY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_BY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_KG/ru_KG.go b/ru_KG/ru_KG.go index eeabb2142..c56e1042c 100644 --- a/ru_KG/ru_KG.go +++ b/ru_KG/ru_KG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "сом", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "сом", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"GYT": "Гайана", "MST": "Горное стандартное время (США)", "JST": "Япония, стандартное время", "COT": "Колумбия, стандартное время", "ACDT": "Центральная Австралия, летнее время", "GMT": "Среднее время по Гринвичу", "ACST": "Центральная Австралия, стандартное время", "WAST": "Западная Африка, летнее время", "HNT": "Ньюфаундленд, стандартное время", "WIB": "Западная Индонезия", "MEZ": "Центральная Европа, стандартное время", "ART": "Аргентина, стандартное время", "AKDT": "Аляска, летнее время", "EDT": "Восточная Америка, летнее время", "PST": "Тихоокеанское стандартное время", "TMST": "Туркмения, летнее время", "NZST": "Новая Зеландия, стандартное время", "CAT": "Центральная Африка", "CHADT": "Чатем, летнее время", "WART": "Западная Аргентина, стандартное время", "HKT": "Гонконг, стандартное время", "PDT": "Тихоокеанское летнее время", "TMT": "Туркмения, стандартное время", "ChST": "Чаморро", "HAT": "Ньюфаундленд, летнее время", "WEZ": "Западная Европа, стандартное время", "LHST": "Лорд-Хау, стандартное время", "HKST": "Гонконг, летнее время", "MESZ": "Центральная Европа, летнее время", "AST": "Атлантическое стандартное время", "EAT": "Восточная Африка", "MYT": "Малайзия", "NZDT": "Новая Зеландия, летнее время", "CLST": "Чили, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "ACWDT": "Центральная Австралия, западное летнее время", "COST": "Колумбия, летнее время", "VET": "Венесуэла", "SAST": "Южная Африка", "∅∅∅": "Азорские о-ва, летнее время", "CDT": "Центральная Америка, летнее время", "LHDT": "Лорд-Хау, летнее время", "UYT": "Уругвай, стандартное время", "JDT": "Япония, летнее время", "BOT": "Боливия", "OEZ": "Восточная Европа, стандартное время", "MDT": "Горное летнее время (США)", "AEST": "Восточная Австралия, стандартное время", "OESZ": "Восточная Европа, летнее время", "ECT": "Эквадор", "HAST": "Гавайско-алеутское стандартное время", "IST": "Индия", "AKST": "Аляска, стандартное время", "EST": "Восточная Америка, стандартное время", "CLT": "Чили, стандартное время", "CHAST": "Чатем, стандартное время", "WAT": "Западная Африка, стандартное время", "WESZ": "Западная Европа, летнее время", "HADT": "Гавайско-алеутское летнее время", "ADT": "Атлантическое летнее время", "WITA": "Центральная Индонезия", "SRT": "Суринам", "WARST": "Западная Аргентина, летнее время", "WIT": "Восточная Индонезия", "AWST": "Западная Австралия, стандартное время", "GFT": "Французская Гвиана", "SGT": "Сингапур", "AEDT": "Восточная Австралия, летнее время", "CST": "Центральная Америка, стандартное время", "BT": "Бутан", "AWDT": "Западная Австралия, летнее время", "UYST": "Уругвай, летнее время", "ARST": "Аргентина, летнее время"}, + timezones: map[string]string{"CAT": "Центральная Африка", "COT": "Колумбия, стандартное время", "SGT": "Сингапур", "HNOG": "Западная Гренландия, стандартное время", "PST": "Тихоокеанское стандартное время", "ChST": "Чаморро", "WARST": "Западная Аргентина, летнее время", "HECU": "Куба, летнее время", "EST": "Восточная Америка, стандартное время", "AST": "Атлантическое стандартное время", "HAST": "Гавайско-алеутское стандартное время", "ART": "Аргентина, стандартное время", "ACWST": "Центральная Австралия, западное стандартное время", "WAT": "Западная Африка, стандартное время", "HNCU": "Куба, стандартное время", "MYT": "Малайзия", "UYST": "Уругвай, летнее время", "AKDT": "Аляска, летнее время", "WIT": "Восточная Индонезия", "MEZ": "Центральная Европа, стандартное время", "JST": "Япония, стандартное время", "OEZ": "Восточная Европа, стандартное время", "HNNOMX": "Северо-западное мексиканское стандартное время", "MDT": "Макао, летнее время", "BT": "Бутан", "TMT": "Туркмения, стандартное время", "CST": "Центральная Америка, стандартное время", "AEST": "Восточная Австралия, стандартное время", "CHADT": "Чатем, летнее время", "SAST": "Южная Африка", "TMST": "Туркмения, летнее время", "COST": "Колумбия, летнее время", "ADT": "Атлантическое летнее время", "HEOG": "Западная Гренландия, летнее время", "WESZ": "Западная Европа, летнее время", "MESZ": "Центральная Европа, летнее время", "ACST": "Центральная Австралия, стандартное время", "OESZ": "Восточная Европа, летнее время", "HNPMX": "Тихоокеанское мексиканское стандартное время", "WIB": "Западная Индонезия", "ARST": "Аргентина, летнее время", "AWDT": "Западная Австралия, летнее время", "WAST": "Западная Африка, летнее время", "WEZ": "Западная Европа, стандартное время", "LHDT": "Лорд-Хау, летнее время", "HAT": "Ньюфаундленд, летнее время", "JDT": "Япония, летнее время", "ACDT": "Центральная Австралия, летнее время", "EDT": "Восточная Америка, летнее время", "GYT": "Гайана", "AKST": "Аляска, стандартное время", "CDT": "Центральная Америка, летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "HNEG": "Восточная Гренландия, стандарное время", "EAT": "Восточная Африка", "HNT": "Ньюфаундленд, стандартное время", "HKT": "Гонконг, стандартное время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "NZDT": "Новая Зеландия, летнее время", "GFT": "Французская Гвиана", "∅∅∅": "Перу, летнее время", "VET": "Венесуэла", "AEDT": "Восточная Австралия, летнее время", "HEPM": "Сен-Пьер и Микелон, летнее время", "LHST": "Лорд-Хау, стандартное время", "CLST": "Чили, летнее время", "HEPMX": "Тихоокеанское мексиканское летнее время", "AWST": "Западная Австралия, стандартное время", "HKST": "Гонконг, летнее время", "WITA": "Центральная Индонезия", "NZST": "Новая Зеландия, стандартное время", "CHAST": "Чатем, стандартное время", "HEEG": "Восточная Гренландия, летнее время", "GMT": "Среднее время по Гринвичу", "SRT": "Суринам", "BOT": "Боливия", "IST": "Индия", "WART": "Западная Аргентина, стандартное время", "HADT": "Гавайско-алеутское летнее время", "ECT": "Эквадор", "HENOMX": "Северо-западное мексиканское летнее время", "MST": "Макао, стандартное время", "UYT": "Уругвай, стандартное время", "PDT": "Тихоокеанское летнее время", "CLT": "Чили, стандартное время"}, } } @@ -451,10 +451,10 @@ func (ru *ru_KG) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_KG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_KG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_KG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_KZ/ru_KZ.go b/ru_KZ/ru_KZ.go index 1e11e9d59..482dd3303 100644 --- a/ru_KZ/ru_KZ.go +++ b/ru_KZ/ru_KZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "₸", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"JST": "Япония, стандартное время", "ACWDT": "Центральная Австралия, западное летнее время", "CDT": "Центральная Америка, летнее время", "GYT": "Гайана", "GMT": "Среднее время по Гринвичу", "JDT": "Япония, летнее время", "ACDT": "Центральная Австралия, летнее время", "PST": "Тихоокеанское стандартное время", "VET": "Венесуэла", "WIB": "Западная Индонезия", "ART": "Аргентина, стандартное время", "LHST": "Лорд-Хау, стандартное время", "ADT": "Атлантическое летнее время", "AKDT": "Аляска, летнее время", "TMST": "Туркмения, летнее время", "AWST": "Западная Австралия, стандартное время", "MEZ": "Центральная Европа, стандартное время", "AST": "Атлантическое стандартное время", "SGT": "Сингапур", "CST": "Центральная Америка, стандартное время", "ChST": "Чаморро", "UYT": "Уругвай, стандартное время", "ECT": "Эквадор", "EDT": "Восточная Америка, летнее время", "MST": "Горное стандартное время (США)", "WEZ": "Западная Европа, стандартное время", "MESZ": "Центральная Европа, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "AEDT": "Восточная Австралия, летнее время", "PDT": "Тихоокеанское летнее время", "WAST": "Западная Африка, летнее время", "MDT": "Горное летнее время (США)", "NZST": "Новая Зеландия, стандартное время", "COST": "Колумбия, летнее время", "CLST": "Чили, летнее время", "OESZ": "Восточная Европа, летнее время", "HADT": "Гавайско-алеутское летнее время", "COT": "Колумбия, стандартное время", "WARST": "Западная Аргентина, летнее время", "SAST": "Южная Африка", "AKST": "Аляска, стандартное время", "CLT": "Чили, стандартное время", "GFT": "Французская Гвиана", "CHADT": "Чатем, летнее время", "HNT": "Ньюфаундленд, стандартное время", "LHDT": "Лорд-Хау, летнее время", "WART": "Западная Аргентина, стандартное время", "TMT": "Туркмения, стандартное время", "∅∅∅": "Перу, летнее время", "WIT": "Восточная Индонезия", "AWDT": "Западная Австралия, летнее время", "WAT": "Западная Африка, стандартное время", "NZDT": "Новая Зеландия, летнее время", "OEZ": "Восточная Европа, стандартное время", "HKST": "Гонконг, летнее время", "CHAST": "Чатем, стандартное время", "ACST": "Центральная Австралия, стандартное время", "HAST": "Гавайско-алеутское стандартное время", "WITA": "Центральная Индонезия", "BT": "Бутан", "UYST": "Уругвай, летнее время", "WESZ": "Западная Европа, летнее время", "ARST": "Аргентина, летнее время", "EST": "Восточная Америка, стандартное время", "EAT": "Восточная Африка", "MYT": "Малайзия", "BOT": "Боливия", "AEST": "Восточная Австралия, стандартное время", "CAT": "Центральная Африка", "SRT": "Суринам", "HKT": "Гонконг, стандартное время", "HAT": "Ньюфаундленд, летнее время", "IST": "Индия"}, + timezones: map[string]string{"WIT": "Восточная Индонезия", "IST": "Индия", "JST": "Япония, стандартное время", "ACDT": "Центральная Австралия, летнее время", "MYT": "Малайзия", "HAST": "Гавайско-алеутское стандартное время", "VET": "Венесуэла", "CLST": "Чили, летнее время", "GFT": "Французская Гвиана", "HENOMX": "Северо-западное мексиканское летнее время", "MST": "Макао, стандартное время", "LHDT": "Лорд-Хау, летнее время", "CLT": "Чили, стандартное время", "GMT": "Среднее время по Гринвичу", "SRT": "Суринам", "WESZ": "Западная Европа, летнее время", "WARST": "Западная Аргентина, летнее время", "CHADT": "Чатем, летнее время", "ChST": "Чаморро", "BOT": "Боливия", "EAT": "Восточная Африка", "WART": "Западная Аргентина, стандартное время", "MDT": "Макао, летнее время", "ART": "Аргентина, стандартное время", "AEDT": "Восточная Австралия, летнее время", "AWDT": "Западная Австралия, летнее время", "∅∅∅": "Амазонка, летнее время", "WAT": "Западная Африка, стандартное время", "OESZ": "Восточная Европа, летнее время", "SGT": "Сингапур", "SAST": "Южная Африка", "COT": "Колумбия, стандартное время", "HNT": "Ньюфаундленд, стандартное время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "NZST": "Новая Зеландия, стандартное время", "NZDT": "Новая Зеландия, летнее время", "ECT": "Эквадор", "AST": "Атлантическое стандартное время", "HEOG": "Западная Гренландия, летнее время", "LHST": "Лорд-Хау, стандартное время", "HNEG": "Восточная Гренландия, стандарное время", "ADT": "Атлантическое летнее время", "HEPM": "Сен-Пьер и Микелон, летнее время", "MEZ": "Центральная Европа, стандартное время", "CHAST": "Чатем, стандартное время", "JDT": "Япония, летнее время", "TMST": "Туркмения, летнее время", "WEZ": "Западная Европа, стандартное время", "HAT": "Ньюфаундленд, летнее время", "HEPMX": "Тихоокеанское мексиканское летнее время", "UYT": "Уругвай, стандартное время", "PST": "Тихоокеанское стандартное время", "AKST": "Аляска, стандартное время", "PDT": "Тихоокеанское летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "WITA": "Центральная Индонезия", "HEEG": "Восточная Гренландия, летнее время", "ACST": "Центральная Австралия, стандартное время", "WAST": "Западная Африка, летнее время", "EDT": "Восточная Америка, летнее время", "AEST": "Восточная Австралия, стандартное время", "MESZ": "Центральная Европа, летнее время", "HNPMX": "Тихоокеанское мексиканское стандартное время", "GYT": "Гайана", "UYST": "Уругвай, летнее время", "CDT": "Центральная Америка, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "HNNOMX": "Северо-западное мексиканское стандартное время", "HNCU": "Куба, стандартное время", "HECU": "Куба, летнее время", "CST": "Центральная Америка, стандартное время", "HKT": "Гонконг, стандартное время", "TMT": "Туркмения, стандартное время", "CAT": "Центральная Африка", "COST": "Колумбия, летнее время", "EST": "Восточная Америка, стандартное время", "AWST": "Западная Австралия, стандартное время", "HKST": "Гонконг, летнее время", "AKDT": "Аляска, летнее время", "HADT": "Гавайско-алеутское летнее время", "BT": "Бутан", "HNOG": "Западная Гренландия, стандартное время", "OEZ": "Восточная Европа, стандартное время", "WIB": "Западная Индонезия", "ARST": "Аргентина, летнее время"}, } } @@ -451,10 +451,10 @@ func (ru *ru_KZ) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_KZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_KZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_KZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_MD/ru_MD.go b/ru_MD/ru_MD.go index b2f107f62..c23b4ec64 100644 --- a/ru_MD/ru_MD.go +++ b/ru_MD/ru_MD.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "L", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "L", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"∅∅∅": "Перу, летнее время", "HKT": "Гонконг, стандартное время", "ACWDT": "Центральная Австралия, западное летнее время", "AEST": "Восточная Австралия, стандартное время", "WART": "Западная Аргентина, стандартное время", "WIT": "Восточная Индонезия", "UYT": "Уругвай, стандартное время", "JDT": "Япония, летнее время", "WEZ": "Западная Европа, стандартное время", "CHAST": "Чатем, стандартное время", "EAT": "Восточная Африка", "IST": "Индия", "LHST": "Лорд-Хау, стандартное время", "LHDT": "Лорд-Хау, летнее время", "SRT": "Суринам", "OESZ": "Восточная Европа, летнее время", "MEZ": "Центральная Европа, стандартное время", "ECT": "Эквадор", "ART": "Аргентина, стандартное время", "WAT": "Западная Африка, стандартное время", "HAT": "Ньюфаундленд, летнее время", "GFT": "Французская Гвиана", "MESZ": "Центральная Европа, летнее время", "BOT": "Боливия", "AWST": "Западная Австралия, стандартное время", "GMT": "Среднее время по Гринвичу", "WESZ": "Западная Европа, летнее время", "PST": "Тихоокеанское стандартное время", "AKDT": "Аляска, летнее время", "CHADT": "Чатем, летнее время", "ACDT": "Центральная Австралия, летнее время", "HADT": "Гавайско-алеутское летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "SAST": "Южная Африка", "EDT": "Восточная Америка, летнее время", "NZST": "Новая Зеландия, стандартное время", "ChST": "Чаморро", "AWDT": "Западная Австралия, летнее время", "NZDT": "Новая Зеландия, летнее время", "BT": "Бутан", "CLST": "Чили, летнее время", "AKST": "Аляска, стандартное время", "TMST": "Туркмения, летнее время", "ADT": "Атлантическое летнее время", "GYT": "Гайана", "MST": "Горное стандартное время (США)", "MYT": "Малайзия", "HNT": "Ньюфаундленд, стандартное время", "EST": "Восточная Америка, стандартное время", "CLT": "Чили, стандартное время", "ACST": "Центральная Австралия, стандартное время", "HAST": "Гавайско-алеутское стандартное время", "PDT": "Тихоокеанское летнее время", "WITA": "Центральная Индонезия", "CST": "Центральная Америка, стандартное время", "MDT": "Горное летнее время (США)", "CAT": "Центральная Африка", "SGT": "Сингапур", "COST": "Колумбия, летнее время", "CDT": "Центральная Америка, летнее время", "HKST": "Гонконг, летнее время", "AEDT": "Восточная Австралия, летнее время", "TMT": "Туркмения, стандартное время", "UYST": "Уругвай, летнее время", "WIB": "Западная Индонезия", "AST": "Атлантическое стандартное время", "JST": "Япония, стандартное время", "VET": "Венесуэла", "ARST": "Аргентина, летнее время", "WARST": "Западная Аргентина, летнее время", "OEZ": "Восточная Европа, стандартное время", "COT": "Колумбия, стандартное время", "WAST": "Западная Африка, летнее время"}, + timezones: map[string]string{"ACDT": "Центральная Австралия, летнее время", "COT": "Колумбия, стандартное время", "WIB": "Западная Индонезия", "AEST": "Восточная Австралия, стандартное время", "AWST": "Западная Австралия, стандартное время", "AWDT": "Западная Австралия, летнее время", "MEZ": "Центральная Европа, стандартное время", "NZDT": "Новая Зеландия, летнее время", "CHADT": "Чатем, летнее время", "JST": "Япония, стандартное время", "WAST": "Западная Африка, летнее время", "VET": "Венесуэла", "∅∅∅": "Амазонка, летнее время", "CAT": "Центральная Африка", "WARST": "Западная Аргентина, летнее время", "HNPMX": "Тихоокеанское мексиканское стандартное время", "ARST": "Аргентина, летнее время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "GMT": "Среднее время по Гринвичу", "MST": "Макао, стандартное время", "MDT": "Макао, летнее время", "ADT": "Атлантическое летнее время", "SRT": "Суринам", "WEZ": "Западная Европа, стандартное время", "CLT": "Чили, стандартное время", "SGT": "Сингапур", "HKT": "Гонконг, стандартное время", "BOT": "Боливия", "AST": "Атлантическое стандартное время", "MYT": "Малайзия", "WITA": "Центральная Индонезия", "WART": "Западная Аргентина, стандартное время", "HNCU": "Куба, стандартное время", "AKST": "Аляска, стандартное время", "LHDT": "Лорд-Хау, летнее время", "CLST": "Чили, летнее время", "OESZ": "Восточная Европа, летнее время", "HEPMX": "Тихоокеанское мексиканское летнее время", "HADT": "Гавайско-алеутское летнее время", "WIT": "Восточная Индонезия", "ART": "Аргентина, стандартное время", "WESZ": "Западная Европа, летнее время", "MESZ": "Центральная Европа, летнее время", "HEEG": "Восточная Гренландия, летнее время", "HNNOMX": "Северо-западное мексиканское стандартное время", "HNOG": "Западная Гренландия, стандартное время", "HAT": "Ньюфаундленд, летнее время", "EAT": "Восточная Африка", "GYT": "Гайана", "CST": "Центральная Америка, стандартное время", "BT": "Бутан", "PST": "Тихоокеанское стандартное время", "JDT": "Япония, летнее время", "GFT": "Французская Гвиана", "ACST": "Центральная Австралия, стандартное время", "COST": "Колумбия, летнее время", "UYT": "Уругвай, стандартное время", "AKDT": "Аляска, летнее время", "TMT": "Туркмения, стандартное время", "TMST": "Туркмения, летнее время", "HENOMX": "Северо-западное мексиканское летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "HEOG": "Западная Гренландия, летнее время", "PDT": "Тихоокеанское летнее время", "AEDT": "Восточная Австралия, летнее время", "ChST": "Чаморро", "HNEG": "Восточная Гренландия, стандарное время", "HAST": "Гавайско-алеутское стандартное время", "NZST": "Новая Зеландия, стандартное время", "OEZ": "Восточная Европа, стандартное время", "EST": "Восточная Америка, стандартное время", "EDT": "Восточная Америка, летнее время", "UYST": "Уругвай, летнее время", "CDT": "Центральная Америка, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "HEPM": "Сен-Пьер и Микелон, летнее время", "CHAST": "Чатем, стандартное время", "SAST": "Южная Африка", "IST": "Индия", "ECT": "Эквадор", "WAT": "Западная Африка, стандартное время", "HECU": "Куба, летнее время", "HNT": "Ньюфаундленд, стандартное время", "HKST": "Гонконг, летнее время", "LHST": "Лорд-Хау, стандартное время"}, } } @@ -100,8 +100,8 @@ func (ru *ru_MD) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 if v == 0 && iMod10 == 1 && iMod100 != 11 { return locales.PluralRuleOne @@ -451,10 +451,10 @@ func (ru *ru_MD) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_MD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_MD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_MD) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_RU/ru_RU.go b/ru_RU/ru_RU.go index f4e035225..1410bd9ff 100644 --- a/ru_RU/ru_RU.go +++ b/ru_RU/ru_RU.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"CLST": "Чили, летнее время", "ACDT": "Центральная Австралия, летнее время", "COST": "Колумбия, летнее время", "WART": "Западная Аргентина, стандартное время", "HNT": "Ньюфаундленд, стандартное время", "HKST": "Гонконг, летнее время", "HADT": "Гавайско-алеутское летнее время", "WAT": "Западная Африка, стандартное время", "WAST": "Западная Африка, летнее время", "MDT": "Горное летнее время (США)", "WIT": "Восточная Индонезия", "LHST": "Лорд-Хау, стандартное время", "CHADT": "Чатем, летнее время", "EAT": "Восточная Африка", "TMST": "Туркмения, летнее время", "NZDT": "Новая Зеландия, летнее время", "CLT": "Чили, стандартное время", "TMT": "Туркмения, стандартное время", "ACST": "Центральная Австралия, стандартное время", "ADT": "Атлантическое летнее время", "MYT": "Малайзия", "BT": "Бутан", "UYT": "Уругвай, стандартное время", "WEZ": "Западная Европа, стандартное время", "WESZ": "Западная Европа, летнее время", "MEZ": "Центральная Европа, стандартное время", "∅∅∅": "Азорские о-ва, летнее время", "UYST": "Уругвай, летнее время", "CHAST": "Чатем, стандартное время", "AST": "Атлантическое стандартное время", "MST": "Горное стандартное время (США)", "GMT": "Среднее время по Гринвичу", "WARST": "Западная Аргентина, летнее время", "CDT": "Центральная Америка, летнее время", "OESZ": "Восточная Европа, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "ARST": "Аргентина, летнее время", "AKST": "Аляска, стандартное время", "CST": "Центральная Америка, стандартное время", "VET": "Венесуэла", "EST": "Восточная Америка, стандартное время", "CAT": "Центральная Африка", "OEZ": "Восточная Европа, стандартное время", "SAST": "Южная Африка", "AKDT": "Аляска, летнее время", "PDT": "Тихоокеанское летнее время", "HAT": "Ньюфаундленд, летнее время", "JDT": "Япония, летнее время", "SGT": "Сингапур", "ECT": "Эквадор", "ACWDT": "Центральная Австралия, западное летнее время", "AEDT": "Восточная Австралия, летнее время", "AWST": "Западная Австралия, стандартное время", "SRT": "Суринам", "MESZ": "Центральная Европа, летнее время", "ART": "Аргентина, стандартное время", "PST": "Тихоокеанское стандартное время", "BOT": "Боливия", "GFT": "Французская Гвиана", "AEST": "Восточная Австралия, стандартное время", "IST": "Индия", "WITA": "Центральная Индонезия", "GYT": "Гайана", "NZST": "Новая Зеландия, стандартное время", "LHDT": "Лорд-Хау, летнее время", "JST": "Япония, стандартное время", "WIB": "Западная Индонезия", "EDT": "Восточная Америка, летнее время", "ChST": "Чаморро", "AWDT": "Западная Австралия, летнее время", "HKT": "Гонконг, стандартное время", "COT": "Колумбия, стандартное время", "HAST": "Гавайско-алеутское стандартное время"}, + timezones: map[string]string{"HNPMX": "Тихоокеанское мексиканское стандартное время", "HEPMX": "Тихоокеанское мексиканское летнее время", "HAST": "Гавайско-алеутское стандартное время", "HADT": "Гавайско-алеутское летнее время", "BOT": "Боливия", "COST": "Колумбия, летнее время", "GMT": "Среднее время по Гринвичу", "WITA": "Центральная Индонезия", "AEDT": "Восточная Австралия, летнее время", "JDT": "Япония, летнее время", "HENOMX": "Северо-западное мексиканское летнее время", "WARST": "Западная Аргентина, летнее время", "MDT": "Макао, летнее время", "OEZ": "Восточная Европа, стандартное время", "ECT": "Эквадор", "UYT": "Уругвай, стандартное время", "BT": "Бутан", "HNT": "Ньюфаундленд, стандартное время", "HNNOMX": "Северо-западное мексиканское стандартное время", "WART": "Западная Аргентина, стандартное время", "COT": "Колумбия, стандартное время", "CST": "Центральная Америка, стандартное время", "MYT": "Малайзия", "ARST": "Аргентина, летнее время", "AEST": "Восточная Австралия, стандартное время", "ChST": "Чаморро", "EDT": "Восточная Америка, летнее время", "HNEG": "Восточная Гренландия, стандарное время", "TMT": "Туркмения, стандартное время", "WAST": "Западная Африка, летнее время", "HNCU": "Куба, стандартное время", "HECU": "Куба, летнее время", "AKST": "Аляска, стандартное время", "AWST": "Западная Австралия, стандартное время", "HEPM": "Сен-Пьер и Микелон, летнее время", "SRT": "Суринам", "AWDT": "Западная Австралия, летнее время", "GYT": "Гайана", "HNOG": "Западная Гренландия, стандартное время", "PDT": "Тихоокеанское летнее время", "CLST": "Чили, летнее время", "AST": "Атлантическое стандартное время", "TMST": "Туркмения, летнее время", "ACST": "Центральная Австралия, стандартное время", "MESZ": "Центральная Европа, летнее время", "LHST": "Лорд-Хау, стандартное время", "LHDT": "Лорд-Хау, летнее время", "CDT": "Центральная Америка, летнее время", "WIB": "Западная Индонезия", "ACWDT": "Центральная Австралия, западное летнее время", "ART": "Аргентина, стандартное время", "WEZ": "Западная Европа, стандартное время", "IST": "Индия", "CLT": "Чили, стандартное время", "CHADT": "Чатем, летнее время", "EST": "Восточная Америка, стандартное время", "MST": "Макао, стандартное время", "VET": "Венесуэла", "HAT": "Ньюфаундленд, летнее время", "WESZ": "Западная Европа, летнее время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "NZDT": "Новая Зеландия, летнее время", "ACDT": "Центральная Австралия, летнее время", "SGT": "Сингапур", "SAST": "Южная Африка", "HEEG": "Восточная Гренландия, летнее время", "GFT": "Французская Гвиана", "WAT": "Западная Африка, стандартное время", "∅∅∅": "Азорские о-ва, летнее время", "ADT": "Атлантическое летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "HKST": "Гонконг, летнее время", "MEZ": "Центральная Европа, стандартное время", "CHAST": "Чатем, стандартное время", "OESZ": "Восточная Европа, летнее время", "CAT": "Центральная Африка", "WIT": "Восточная Индонезия", "HEOG": "Западная Гренландия, летнее время", "PST": "Тихоокеанское стандартное время", "HKT": "Гонконг, стандартное время", "NZST": "Новая Зеландия, стандартное время", "AKDT": "Аляска, летнее время", "UYST": "Уругвай, летнее время", "JST": "Япония, стандартное время", "EAT": "Восточная Африка"}, } } @@ -100,8 +100,8 @@ func (ru *ru_RU) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 if v == 0 && iMod10 == 1 && iMod100 != 11 { return locales.PluralRuleOne @@ -451,10 +451,10 @@ func (ru *ru_RU) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_RU) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_RU) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_RU) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/ru_RU/ru_RU_test.go b/ru_RU/ru_RU_test.go index 24546abca..caa025917 100644 --- a/ru_RU/ru_RU_test.go +++ b/ru_RU/ru_RU_test.go @@ -1017,7 +1017,7 @@ func TestFmtDateShort(t *testing.T) { }{ { t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), - expected: "03.02.16", + expected: "03.02.2016", // date format changed from v29 dd.MM.yy to v30 dd.MM.y so adjusted test for new CLDR data }, { t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), diff --git a/ru_UA/ru_UA.go b/ru_UA/ru_UA.go index 85d3b272e..d8fff3d70 100644 --- a/ru_UA/ru_UA.go +++ b/ru_UA/ru_UA.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "янв.", "февр.", "мар.", "апр.", "мая", "июн.", "июл.", "авг.", "сент.", "окт.", "нояб.", "дек."}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"вс", "пн", "вт", "ср", "чт", "пт", "сб"}, daysShort: []string{"вс", "пн", "вт", "ср", "чт", "пт", "сб"}, daysWide: []string{"воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"}, - periodsAbbreviated: []string{"ДП", "ПП"}, - periodsNarrow: []string{"ДП", "ПП"}, - periodsWide: []string{"ДП", "ПП"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"до н. э.", "н. э."}, erasNarrow: []string{"до н.э.", "н.э."}, erasWide: []string{"до Рождества Христова", "от Рождества Христова"}, - timezones: map[string]string{"WART": "Западная Аргентина, стандартное время", "WAST": "Западная Африка, летнее время", "ADT": "Атлантическое летнее время", "UYST": "Уругвай, летнее время", "HKST": "Гонконг, летнее время", "ACST": "Центральная Австралия, стандартное время", "MESZ": "Центральная Европа, летнее время", "AEST": "Восточная Австралия, стандартное время", "AST": "Атлантическое стандартное время", "BOT": "Боливия", "CAT": "Центральная Африка", "COT": "Колумбия, стандартное время", "AKDT": "Аляска, летнее время", "EDT": "Восточная Америка, летнее время", "PDT": "Тихоокеанское летнее время", "WAT": "Западная Африка, стандартное время", "AKST": "Аляска, стандартное время", "OESZ": "Восточная Европа, летнее время", "HAST": "Гавайско-алеутское стандартное время", "MYT": "Малайзия", "NZDT": "Новая Зеландия, летнее время", "LHST": "Лорд-Хау, стандартное время", "GMT": "Среднее время по Гринвичу", "GFT": "Французская Гвиана", "COST": "Колумбия, летнее время", "ACWST": "Центральная Австралия, западное стандартное время", "WITA": "Центральная Индонезия", "OEZ": "Восточная Европа, стандартное время", "ECT": "Эквадор", "ART": "Аргентина, стандартное время", "CDT": "Центральная Америка, летнее время", "ChST": "Чаморро", "SRT": "Суринам", "WIB": "Западная Индонезия", "TMST": "Туркмения, летнее время", "AWST": "Западная Австралия, стандартное время", "HNT": "Ньюфаундленд, стандартное время", "JDT": "Япония, летнее время", "NZST": "Новая Зеландия, стандартное время", "WARST": "Западная Аргентина, летнее время", "GYT": "Гайана", "AEDT": "Восточная Австралия, летнее время", "SAST": "Южная Африка", "PST": "Тихоокеанское стандартное время", "WESZ": "Западная Европа, летнее время", "ACDT": "Центральная Австралия, летнее время", "ACWDT": "Центральная Австралия, западное летнее время", "MDT": "Горное летнее время (США)", "BT": "Бутан", "HAT": "Ньюфаундленд, летнее время", "CHADT": "Чатем, летнее время", "VET": "Венесуэла", "MEZ": "Центральная Европа, стандартное время", "MST": "Горное стандартное время (США)", "HADT": "Гавайско-алеутское летнее время", "WIT": "Восточная Индонезия", "HKT": "Гонконг, стандартное время", "SGT": "Сингапур", "∅∅∅": "Азорские о-ва, летнее время", "CLT": "Чили, стандартное время", "CHAST": "Чатем, стандартное время", "EST": "Восточная Америка, стандартное время", "TMT": "Туркмения, стандартное время", "CST": "Центральная Америка, стандартное время", "LHDT": "Лорд-Хау, летнее время", "UYT": "Уругвай, стандартное время", "JST": "Япония, стандартное время", "ARST": "Аргентина, летнее время", "EAT": "Восточная Африка", "AWDT": "Западная Австралия, летнее время", "CLST": "Чили, летнее время", "WEZ": "Западная Европа, стандартное время", "IST": "Индия"}, + timezones: map[string]string{"IST": "Индия", "JST": "Япония, стандартное время", "ChST": "Чаморро", "SRT": "Суринам", "ART": "Аргентина, стандартное время", "HKT": "Гонконг, стандартное время", "AEDT": "Восточная Австралия, летнее время", "SAST": "Южная Африка", "COT": "Колумбия, стандартное время", "MYT": "Малайзия", "UYST": "Уругвай, летнее время", "AWDT": "Западная Австралия, летнее время", "NZDT": "Новая Зеландия, летнее время", "TMST": "Туркмения, летнее время", "HENOMX": "Северо-западное мексиканское летнее время", "GMT": "Среднее время по Гринвичу", "ACWST": "Центральная Австралия, западное стандартное время", "LHDT": "Лорд-Хау, летнее время", "∅∅∅": "Амазонка, летнее время", "OEZ": "Восточная Европа, стандартное время", "GYT": "Гайана", "ARST": "Аргентина, летнее время", "CAT": "Центральная Африка", "EAT": "Восточная Африка", "WIB": "Западная Индонезия", "VET": "Венесуэла", "HEPM": "Сен-Пьер и Микелон, летнее время", "HEEG": "Восточная Гренландия, летнее время", "CDT": "Центральная Америка, летнее время", "AEST": "Восточная Австралия, стандартное время", "NZST": "Новая Зеландия, стандартное время", "HEPMX": "Тихоокеанское мексиканское летнее время", "EDT": "Восточная Америка, летнее время", "MDT": "Макао, летнее время", "WESZ": "Западная Европа, летнее время", "AWST": "Западная Австралия, стандартное время", "GFT": "Французская Гвиана", "HNPMX": "Тихоокеанское мексиканское стандартное время", "EST": "Восточная Америка, стандартное время", "CLST": "Чили, летнее время", "BOT": "Боливия", "HNOG": "Западная Гренландия, стандартное время", "MEZ": "Центральная Европа, стандартное время", "WAST": "Западная Африка, летнее время", "SGT": "Сингапур", "ACWDT": "Центральная Австралия, западное летнее время", "HEOG": "Западная Гренландия, летнее время", "WITA": "Центральная Индонезия", "MST": "Макао, стандартное время", "ACST": "Центральная Австралия, стандартное время", "ECT": "Эквадор", "WART": "Западная Аргентина, стандартное время", "HAST": "Гавайско-алеутское стандартное время", "BT": "Бутан", "WEZ": "Западная Европа, стандартное время", "CHAST": "Чатем, стандартное время", "HNEG": "Восточная Гренландия, стандарное время", "WARST": "Западная Аргентина, летнее время", "COST": "Колумбия, летнее время", "HECU": "Куба, летнее время", "AST": "Атлантическое стандартное время", "AKDT": "Аляска, летнее время", "ADT": "Атлантическое летнее время", "UYT": "Уругвай, стандартное время", "PDT": "Тихоокеанское летнее время", "HKST": "Гонконг, летнее время", "WAT": "Западная Африка, стандартное время", "OESZ": "Восточная Европа, летнее время", "HNNOMX": "Северо-западное мексиканское стандартное время", "WIT": "Восточная Индонезия", "LHST": "Лорд-Хау, стандартное время", "TMT": "Туркмения, стандартное время", "HADT": "Гавайско-алеутское летнее время", "HNT": "Ньюфаундленд, стандартное время", "HNCU": "Куба, стандартное время", "AKST": "Аляска, стандартное время", "PST": "Тихоокеанское стандартное время", "HNPM": "Сен-Пьер и Микелон, стандартное время", "CLT": "Чили, стандартное время", "CST": "Центральная Америка, стандартное время", "HAT": "Ньюфаундленд, летнее время", "CHADT": "Чатем, летнее время", "MESZ": "Центральная Европа, летнее время", "JDT": "Япония, летнее время", "ACDT": "Центральная Австралия, летнее время"}, } } @@ -451,10 +451,10 @@ func (ru *ru_UA) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2e}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -469,7 +469,13 @@ func (ru *ru_UA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -485,7 +491,13 @@ func (ru *ru_UA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) @@ -503,7 +515,13 @@ func (ru *ru_UA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ru.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd0, 0xb3}...) b = append(b, []byte{0x2e}...) diff --git a/rules.go b/rules.go index 0231d5dfb..920290014 100644 --- a/rules.go +++ b/rules.go @@ -129,28 +129,28 @@ type Translator interface { // in accounting notation. FmtAccounting(num float64, v uint64, currency currency.Type) string - // returns the short date representation of 't' for '{{ .Locale }}' + // returns the short date representation of 't' for locale FmtDateShort(t time.Time) string - // returns the medium date representation of 't' for '{{ .Locale }}' + // returns the medium date representation of 't' for locale FmtDateMedium(t time.Time) string - // returns the long date representation of 't' for '{{ .Locale }}' + // returns the long date representation of 't' for locale FmtDateLong(t time.Time) string - // returns the full date representation of 't' for '{{ .Locale }}' + // returns the full date representation of 't' for locale FmtDateFull(t time.Time) string - // returns the short time representation of 't' for '{{ .Locale }}' + // returns the short time representation of 't' for locale FmtTimeShort(t time.Time) string - // returns the medium time representation of 't' for '{{ .Locale }}' + // returns the medium time representation of 't' for locale FmtTimeMedium(t time.Time) string - // returns the long time representation of 't' for '{{ .Locale }}' + // returns the long time representation of 't' for locale FmtTimeLong(t time.Time) string - // returns the full time representation of 't' for '{{ .Locale }}' + // returns the full time representation of 't' for locale FmtTimeFull(t time.Time) string } diff --git a/rw/rw.go b/rw/rw.go index 387e3aa4e..bd96459e4 100644 --- a/rw/rw.go +++ b/rw/rw.go @@ -23,9 +23,7 @@ type rw struct { inifinity string currencies []string // idx = enum of currency code currencyPositivePrefix string - currencyPositiveSuffix string currencyNegativePrefix string - currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -52,17 +50,28 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: ".", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", monthsAbbreviated: []string{"", "mut.", "gas.", "wer.", "mat.", "gic.", "kam.", "nya.", "kan.", "nze.", "ukw.", "ugu.", "uku."}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Mutarama", "Gashyantare", "Werurwe", "Mata", "Gicuransi", "Kamena", "Nyakanga", "Kanama", "Nzeli", "Ukwakira", "Ugushyingo", "Ukuboza"}, daysAbbreviated: []string{"cyu.", "mbe.", "kab.", "gtu.", "kan.", "gnu.", "gnd."}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"cyu.", "mbe.", "kab.", "gtu.", "kan.", "gnu.", "gnd."}, daysWide: []string{"Ku cyumweru", "Kuwa mbere", "Kuwa kabiri", "Kuwa gatatu", "Kuwa kane", "Kuwa gatanu", "Kuwa gatandatu"}, - timezones: map[string]string{"CDT": "CDT", "MST": "MST", "AWDT": "AWDT", "OEZ": "OEZ", "ADT": "ADT", "TMST": "TMST", "ACWDT": "ACWDT", "AEDT": "AEDT", "TMT": "TMT", "HADT": "HADT", "LHDT": "LHDT", "UYST": "UYST", "HKST": "HKST", "VET": "VET", "MESZ": "MESZ", "NZST": "NZST", "JDT": "JDT", "ACST": "ACST", "EST": "EST", "SAST": "SAST", "GMT": "GMT", "CHAST": "CHAST", "ACWST": "ACWST", "WARST": "WARST", "MYT": "MYT", "WIT": "WIT", "MEZ": "MEZ", "WAT": "WAT", "AST": "AST", "WITA": "WITA", "HAT": "HAT", "CLST": "CLST", "JST": "JST", "OESZ": "OESZ", "CHADT": "CHADT", "AKST": "AKST", "∅∅∅": "∅∅∅", "SRT": "SRT", "HKT": "HKT", "SGT": "SGT", "ARST": "ARST", "WIB": "WIB", "PST": "PST", "PDT": "PDT", "EAT": "EAT", "IST": "IST", "CAT": "CAT", "GFT": "GFT", "ART": "ART", "WAST": "WAST", "AKDT": "AKDT", "LHST": "LHST", "ACDT": "ACDT", "COST": "COST", "EDT": "EDT", "CST": "CST", "BOT": "BOT", "AWST": "AWST", "CLT": "CLT", "UYT": "UYT", "WART": "WART", "GYT": "GYT", "MDT": "MDT", "BT": "BT", "HNT": "HNT", "NZDT": "NZDT", "ChST": "ChST", "COT": "COT", "WEZ": "WEZ", "WESZ": "WESZ", "ECT": "ECT", "HAST": "HAST", "AEST": "AEST"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BCE", "CE"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"BCE", "CE"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "GFT": "GFT", "WAT": "WAT", "AST": "AST", "HNOG": "HNOG", "NZDT": "NZDT", "SAST": "SAST", "TMST": "TMST", "ChST": "ChST", "SGT": "SGT", "ACWDT": "ACWDT", "HEEG": "HEEG", "HECU": "HECU", "JDT": "JDT", "EAT": "EAT", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "CDT": "CDT", "ADT": "ADT", "GYT": "GYT", "BT": "BT", "HAT": "HAT", "PST": "PST", "HKST": "HKST", "EDT": "EDT", "CST": "CST", "AWST": "AWST", "CHAST": "CHAST", "BOT": "BOT", "WART": "WART", "WIT": "WIT", "HEPM": "HEPM", "MEZ": "MEZ", "ACDT": "ACDT", "OEZ": "OEZ", "CAT": "CAT", "HENOMX": "HENOMX", "GMT": "GMT", "MDT": "MDT", "HEOG": "HEOG", "AEST": "AEST", "LHDT": "LHDT", "IST": "IST", "JST": "JST", "ECT": "ECT", "AKST": "AKST", "ARST": "ARST", "CLT": "CLT", "ACST": "ACST", "WARST": "WARST", "MYT": "MYT", "UYT": "UYT", "HAST": "HAST", "HADT": "HADT", "SRT": "SRT", "ART": "ART", "WEZ": "WEZ", "AEDT": "AEDT", "HNCU": "HNCU", "MST": "MST", "WIB": "WIB", "HNT": "HNT", "TMT": "TMT", "OESZ": "OESZ", "WITA": "WITA", "AWDT": "AWDT", "LHST": "LHST", "CLST": "CLST", "COT": "COT", "AKDT": "AKDT", "VET": "VET", "PDT": "PDT", "WESZ": "WESZ", "CHADT": "CHADT", "MESZ": "MESZ", "WAST": "WAST", "ACWST": "ACWST", "NZST": "NZST", "COST": "COST", "HKT": "HKT", "HNPM": "HNPM", "HNEG": "HNEG", "EST": "EST", "HEPMX": "HEPMX", "UYST": "UYST"}, } } @@ -118,7 +127,7 @@ func (rw *rw) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (rw *rw) MonthsNarrow() []string { - return nil + return rw.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -174,13 +183,73 @@ func (rw *rw) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'rw' and handles both Whole and Real numbers based on 'v' func (rw *rw) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, rw.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, rw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'rw' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (rw *rw) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, rw.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, rw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, rw.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'rw' @@ -188,17 +257,28 @@ func (rw *rw) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := rw.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, rw.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -219,7 +299,16 @@ func (rw *rw) FmtCurrency(num float64, v uint64, currency currency.Type) string b[i], b[j] = b[j], b[i] } - b = append(b, rw.currencyPositiveSuffix...) + if int(v) < 2 { + + if v == 0 { + b = append(b, rw.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } return string(b) } @@ -230,17 +319,28 @@ func (rw *rw) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := rw.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, rw.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -273,11 +373,15 @@ func (rw *rw) FmtAccounting(num float64, v uint64, currency currency.Type) strin b[i], b[j] = b[j], b[i] } - if num < 0 { - b = append(b, rw.currencyNegativeSuffix...) - } else { + if int(v) < 2 { - b = append(b, rw.currencyPositiveSuffix...) + if v == 0 { + b = append(b, rw.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } } return string(b) @@ -288,13 +392,13 @@ func (rw *rw) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Month() < 10 { b = append(b, '0') @@ -302,7 +406,7 @@ func (rw *rw) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Day() < 10 { b = append(b, '0') @@ -318,7 +422,12 @@ func (rw *rw) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -332,7 +441,12 @@ func (rw *rw) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -346,18 +460,18 @@ func (rw *rw) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, rw.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, rw.daysWide[t.Weekday()]...) return string(b) } diff --git a/rw_RW/rw_RW.go b/rw_RW/rw_RW.go index 1063ebeb8..a84804fe6 100644 --- a/rw_RW/rw_RW.go +++ b/rw_RW/rw_RW.go @@ -23,9 +23,7 @@ type rw_RW struct { inifinity string currencies []string // idx = enum of currency code currencyPositivePrefix string - currencyPositiveSuffix string currencyNegativePrefix string - currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -52,17 +50,28 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: ".", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", monthsAbbreviated: []string{"", "mut.", "gas.", "wer.", "mat.", "gic.", "kam.", "nya.", "kan.", "nze.", "ukw.", "ugu.", "uku."}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Mutarama", "Gashyantare", "Werurwe", "Mata", "Gicuransi", "Kamena", "Nyakanga", "Kanama", "Nzeli", "Ukwakira", "Ugushyingo", "Ukuboza"}, daysAbbreviated: []string{"cyu.", "mbe.", "kab.", "gtu.", "kan.", "gnu.", "gnd."}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"cyu.", "mbe.", "kab.", "gtu.", "kan.", "gnu.", "gnd."}, daysWide: []string{"Ku cyumweru", "Kuwa mbere", "Kuwa kabiri", "Kuwa gatatu", "Kuwa kane", "Kuwa gatanu", "Kuwa gatandatu"}, - timezones: map[string]string{"ACWDT": "ACWDT", "SAST": "SAST", "MDT": "MDT", "MYT": "MYT", "BT": "BT", "CLT": "CLT", "LHST": "LHST", "CHADT": "CHADT", "PST": "PST", "PDT": "PDT", "ADT": "ADT", "EAT": "EAT", "WITA": "WITA", "AEST": "AEST", "AKST": "AKST", "UYST": "UYST", "OEZ": "OEZ", "WEZ": "WEZ", "WESZ": "WESZ", "WARST": "WARST", "MST": "MST", "HNT": "HNT", "NZST": "NZST", "LHDT": "LHDT", "HKST": "HKST", "WIB": "WIB", "VET": "VET", "IST": "IST", "CST": "CST", "GYT": "GYT", "ChST": "ChST", "WIT": "WIT", "UYT": "UYT", "AST": "AST", "AKDT": "AKDT", "TMST": "TMST", "CAT": "CAT", "AWST": "AWST", "JDT": "JDT", "CHAST": "CHAST", "ACST": "ACST", "COST": "COST", "WAST": "WAST", "EST": "EST", "MESZ": "MESZ", "AEDT": "AEDT", "AWDT": "AWDT", "HKT": "HKT", "COT": "COT", "SRT": "SRT", "SGT": "SGT", "HAST": "HAST", "JST": "JST", "HAT": "HAT", "GMT": "GMT", "∅∅∅": "∅∅∅", "MEZ": "MEZ", "ECT": "ECT", "HADT": "HADT", "ARST": "ARST", "CDT": "CDT", "OESZ": "OESZ", "WART": "WART", "EDT": "EDT", "BOT": "BOT", "GFT": "GFT", "ACDT": "ACDT", "ACWST": "ACWST", "TMT": "TMT", "NZDT": "NZDT", "ART": "ART", "WAT": "WAT", "CLST": "CLST"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"AM", "PM"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"BCE", "CE"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"BCE", "CE"}, + timezones: map[string]string{"WAT": "WAT", "EDT": "EDT", "UYT": "UYT", "WEZ": "WEZ", "HKT": "HKT", "NZST": "NZST", "CLST": "CLST", "ACST": "ACST", "HNCU": "HNCU", "HEPMX": "HEPMX", "CDT": "CDT", "ADT": "ADT", "HNPM": "HNPM", "LHST": "LHST", "OESZ": "OESZ", "AEST": "AEST", "LHDT": "LHDT", "MESZ": "MESZ", "WIB": "WIB", "HAST": "HAST", "SRT": "SRT", "HAT": "HAT", "PST": "PST", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "CAT": "CAT", "AST": "AST", "HEOG": "HEOG", "AWST": "AWST", "ChST": "ChST", "ACDT": "ACDT", "MYT": "MYT", "PDT": "PDT", "HEPM": "HEPM", "CHAST": "CHAST", "COT": "COT", "ACWST": "ACWST", "ART": "ART", "BOT": "BOT", "TMST": "TMST", "ECT": "ECT", "WIT": "WIT", "HNT": "HNT", "COST": "COST", "HNNOMX": "HNNOMX", "AKDT": "AKDT", "GYT": "GYT", "WESZ": "WESZ", "MEZ": "MEZ", "SAST": "SAST", "GFT": "GFT", "HENOMX": "HENOMX", "SGT": "SGT", "AKST": "AKST", "MST": "MST", "HKST": "HKST", "HNEG": "HNEG", "EST": "EST", "EAT": "EAT", "GMT": "GMT", "CST": "CST", "MDT": "MDT", "VET": "VET", "CHADT": "CHADT", "CLT": "CLT", "WARST": "WARST", "HADT": "HADT", "ACWDT": "ACWDT", "ARST": "ARST", "IST": "IST", "JDT": "JDT", "BT": "BT", "AWDT": "AWDT", "WART": "WART", "HNPMX": "HNPMX", "HNOG": "HNOG", "NZDT": "NZDT", "HEEG": "HEEG", "HECU": "HECU", "WAST": "WAST", "UYST": "UYST", "WITA": "WITA", "AEDT": "AEDT", "JST": "JST", "TMT": "TMT"}, } } @@ -118,7 +127,7 @@ func (rw *rw_RW) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (rw *rw_RW) MonthsNarrow() []string { - return nil + return rw.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -174,13 +183,73 @@ func (rw *rw_RW) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'rw_RW' and handles both Whole and Real numbers based on 'v' func (rw *rw_RW) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, rw.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, rw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'rw_RW' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (rw *rw_RW) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, rw.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, rw.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, rw.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'rw_RW' @@ -188,17 +257,28 @@ func (rw *rw_RW) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := rw.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, rw.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -219,7 +299,16 @@ func (rw *rw_RW) FmtCurrency(num float64, v uint64, currency currency.Type) stri b[i], b[j] = b[j], b[i] } - b = append(b, rw.currencyPositiveSuffix...) + if int(v) < 2 { + + if v == 0 { + b = append(b, rw.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } return string(b) } @@ -230,17 +319,28 @@ func (rw *rw_RW) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := rw.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, rw.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + b = append(b, rw.group[0]) + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } @@ -273,11 +373,15 @@ func (rw *rw_RW) FmtAccounting(num float64, v uint64, currency currency.Type) st b[i], b[j] = b[j], b[i] } - if num < 0 { - b = append(b, rw.currencyNegativeSuffix...) - } else { + if int(v) < 2 { - b = append(b, rw.currencyPositiveSuffix...) + if v == 0 { + b = append(b, rw.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } } return string(b) @@ -288,13 +392,13 @@ func (rw *rw_RW) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Month() < 10 { b = append(b, '0') @@ -302,7 +406,7 @@ func (rw *rw_RW) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Day() < 10 { b = append(b, '0') @@ -318,7 +422,12 @@ func (rw *rw_RW) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -332,7 +441,12 @@ func (rw *rw_RW) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -346,18 +460,18 @@ func (rw *rw_RW) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, rw.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, rw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, rw.daysWide[t.Weekday()]...) return string(b) } diff --git a/rwk/rwk.go b/rwk/rwk.go index db986fc44..9ccd0bd0a 100644 --- a/rwk/rwk.go +++ b/rwk/rwk.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"NZDT": "NZDT", "EAT": "EAT", "OEZ": "OEZ", "PST": "PST", "AST": "AST", "MDT": "MDT", "JST": "JST", "IST": "IST", "TMT": "TMT", "CAT": "CAT", "HNT": "HNT", "HAT": "HAT", "UYT": "UYT", "CST": "CST", "AKDT": "AKDT", "MST": "MST", "NZST": "NZST", "HKT": "HKT", "ACST": "ACST", "AEDT": "AEDT", "WIB": "WIB", "MESZ": "MESZ", "WAST": "WAST", "CDT": "CDT", "ACWDT": "ACWDT", "CLST": "CLST", "LHST": "LHST", "SRT": "SRT", "WEZ": "WEZ", "ACWST": "ACWST", "WITA": "WITA", "GYT": "GYT", "WIT": "WIT", "GFT": "GFT", "VET": "VET", "ECT": "ECT", "WARST": "WARST", "BOT": "BOT", "JDT": "JDT", "ACDT": "ACDT", "ARST": "ARST", "PDT": "PDT", "SGT": "SGT", "COST": "COST", "ChST": "ChST", "AWST": "AWST", "WART": "WART", "EST": "EST", "WAT": "WAT", "GMT": "GMT", "UYST": "UYST", "OESZ": "OESZ", "HKST": "HKST", "EDT": "EDT", "AEST": "AEST", "ADT": "ADT", "BT": "BT", "AWDT": "AWDT", "LHDT": "LHDT", "HAST": "HAST", "HADT": "HADT", "TMST": "TMST", "CHAST": "CHAST", "CHADT": "CHADT", "COT": "COT", "ART": "ART", "SAST": "SAST", "MYT": "MYT", "CLT": "CLT", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "MEZ": "MEZ", "AKST": "AKST"}, + timezones: map[string]string{"ChST": "ChST", "CAT": "CAT", "CDT": "CDT", "PST": "PST", "BOT": "BOT", "VET": "VET", "IST": "IST", "HENOMX": "HENOMX", "HADT": "HADT", "PDT": "PDT", "COST": "COST", "HECU": "HECU", "HNPMX": "HNPMX", "GYT": "GYT", "WESZ": "WESZ", "JDT": "JDT", "∅∅∅": "∅∅∅", "WIT": "WIT", "HKT": "HKT", "MEZ": "MEZ", "MESZ": "MESZ", "COT": "COT", "UYT": "UYT", "AKST": "AKST", "BT": "BT", "ARST": "ARST", "HAT": "HAT", "EAT": "EAT", "HNCU": "HNCU", "EST": "EST", "MDT": "MDT", "CST": "CST", "HNPM": "HNPM", "HNEG": "HNEG", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "HKST": "HKST", "CHADT": "CHADT", "CHAST": "CHAST", "TMST": "TMST", "ACST": "ACST", "ADT": "ADT", "HAST": "HAST", "HNOG": "HNOG", "ACWST": "ACWST", "JST": "JST", "TMT": "TMT", "WIB": "WIB", "ACWDT": "ACWDT", "CLT": "CLT", "WEZ": "WEZ", "HNT": "HNT", "AWDT": "AWDT", "UYST": "UYST", "ART": "ART", "AWST": "AWST", "HEPM": "HEPM", "NZDT": "NZDT", "NZST": "NZST", "SAST": "SAST", "GFT": "GFT", "OEZ": "OEZ", "AST": "AST", "AEDT": "AEDT", "LHST": "LHST", "ECT": "ECT", "SGT": "SGT", "HEOG": "HEOG", "LHDT": "LHDT", "HEEG": "HEEG", "ACDT": "ACDT", "WAT": "WAT", "WARST": "WARST", "EDT": "EDT", "SRT": "SRT", "AKDT": "AKDT", "AEST": "AEST", "CLST": "CLST", "WAST": "WAST", "WART": "WART", "GMT": "GMT", "MST": "MST", "MYT": "MYT", "WITA": "WITA"}, } } @@ -324,7 +324,12 @@ func (rwk *rwk) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (rwk *rwk) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (rwk *rwk) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (rwk *rwk) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/rwk_TZ/rwk_TZ.go b/rwk_TZ/rwk_TZ.go index a1fce9c5f..20ae00035 100644 --- a/rwk_TZ/rwk_TZ.go +++ b/rwk_TZ/rwk_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"UYT": "UYT", "VET": "VET", "HADT": "HADT", "EAT": "EAT", "LHDT": "LHDT", "LHST": "LHST", "OESZ": "OESZ", "COT": "COT", "HAST": "HAST", "TMT": "TMT", "∅∅∅": "∅∅∅", "JST": "JST", "JDT": "JDT", "SRT": "SRT", "WART": "WART", "AKST": "AKST", "WITA": "WITA", "WIT": "WIT", "COST": "COST", "UYST": "UYST", "EST": "EST", "MESZ": "MESZ", "SGT": "SGT", "HNT": "HNT", "CAT": "CAT", "WESZ": "WESZ", "ACST": "ACST", "AEDT": "AEDT", "EDT": "EDT", "GYT": "GYT", "TMST": "TMST", "CDT": "CDT", "MEZ": "MEZ", "CHAST": "CHAST", "ACWST": "ACWST", "ACWDT": "ACWDT", "ADT": "ADT", "GMT": "GMT", "BT": "BT", "HKST": "HKST", "GFT": "GFT", "AEST": "AEST", "WARST": "WARST", "IST": "IST", "AKDT": "AKDT", "CST": "CST", "HKT": "HKT", "ARST": "ARST", "WAT": "WAT", "PST": "PST", "PDT": "PDT", "HAT": "HAT", "BOT": "BOT", "WEZ": "WEZ", "ECT": "ECT", "MDT": "MDT", "ChST": "ChST", "AWDT": "AWDT", "CHADT": "CHADT", "NZDT": "NZDT", "CLST": "CLST", "OEZ": "OEZ", "ACDT": "ACDT", "AST": "AST", "WAST": "WAST", "MYT": "MYT", "NZST": "NZST", "AWST": "AWST", "CLT": "CLT", "WIB": "WIB", "ART": "ART", "SAST": "SAST", "MST": "MST"}, + timezones: map[string]string{"NZST": "NZST", "CLST": "CLST", "MDT": "MDT", "HAT": "HAT", "AEST": "AEST", "HNPM": "HNPM", "MESZ": "MESZ", "CLT": "CLT", "ChST": "ChST", "WARST": "WARST", "EDT": "EDT", "HNPMX": "HNPMX", "HEOG": "HEOG", "MEZ": "MEZ", "JST": "JST", "MST": "MST", "CST": "CST", "PDT": "PDT", "HNT": "HNT", "AWDT": "AWDT", "CDT": "CDT", "HNOG": "HNOG", "PST": "PST", "WEZ": "WEZ", "WESZ": "WESZ", "WIB": "WIB", "SRT": "SRT", "HEEG": "HEEG", "WAST": "WAST", "EST": "EST", "UYST": "UYST", "TMST": "TMST", "COST": "COST", "HENOMX": "HENOMX", "ADT": "ADT", "IST": "IST", "WIT": "WIT", "LHST": "LHST", "GMT": "GMT", "AST": "AST", "BOT": "BOT", "ACDT": "ACDT", "CAT": "CAT", "WAT": "WAT", "OEZ": "OEZ", "WART": "WART", "ACWDT": "ACWDT", "SGT": "SGT", "HEPMX": "HEPMX", "GYT": "GYT", "AKDT": "AKDT", "HAST": "HAST", "HECU": "HECU", "AWST": "AWST", "HKT": "HKT", "ART": "ART", "WITA": "WITA", "HNEG": "HNEG", "ACST": "ACST", "COT": "COT", "HADT": "HADT", "VET": "VET", "ACWST": "ACWST", "GFT": "GFT", "LHDT": "LHDT", "CHAST": "CHAST", "SAST": "SAST", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "MYT": "MYT", "BT": "BT", "HKST": "HKST", "NZDT": "NZDT", "CHADT": "CHADT", "JDT": "JDT", "TMT": "TMT", "EAT": "EAT", "ECT": "ECT", "HNCU": "HNCU", "UYT": "UYT", "AKST": "AKST", "ARST": "ARST", "AEDT": "AEDT", "HEPM": "HEPM"}, } } @@ -324,7 +324,12 @@ func (rwk *rwk_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -338,7 +343,12 @@ func (rwk *rwk_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +362,12 @@ func (rwk *rwk_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -368,7 +383,12 @@ func (rwk *rwk_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, rwk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sah/sah.go b/sah/sah.go index d7d7873a0..afdb33695 100644 --- a/sah/sah.go +++ b/sah/sah.go @@ -22,9 +22,7 @@ type sah struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string currencyPositiveSuffix string - currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -50,26 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: nil, pluralsRange: nil, - decimal: ".", - group: ",", + decimal: ",", + group: " ", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", - currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", - monthsAbbreviated: []string{"", "Тохс", "Олун", "Клн_ттр", "Мус_уст", "Ыам_йн", "Бэс_йн", "От_йн", "Атрдь_йн", "Блҕн_йн", "Алт", "Сэт", "Ахс"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "₽", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Тохс", "Олун", "Клн", "Мсу", "Ыам", "Бэс", "Отй", "Атр", "Блҕ", "Алт", "Сэт", "Ахс"}, monthsNarrow: []string{"", "Т", "О", "К", "М", "Ы", "Б", "О", "А", "Б", "А", "С", "А"}, - monthsWide: []string{"", "Тохсунньу", "Олунньу", "Кулун тутар", "Муус устар", "Ыам ыйын", "Бэс ыйын", "От ыйын", "Атырдьых ыйын", "Балаҕан ыйын", "Алтынньы", "Сэтинньи", "Ахсынньы"}, - daysAbbreviated: []string{"Бс", "Бн", "Оп", "Сэ", "Чп", "Бэ", "Сб"}, + monthsWide: []string{"", "Тохсунньу", "Олунньу", "Кулун тутар", "Муус устар", "Ыам ыйын", "Бэс ыйын", "От ыйын", "Атырдьых ыйын", "Балаҕан ыйын", "Алтынньы", "Сэтинньи", "ахсынньы"}, + daysAbbreviated: []string{"бс", "бн", "оп", "сэ", "чп", "бэ", "сб"}, daysNarrow: []string{"Б", "Б", "О", "С", "Ч", "Б", "С"}, - daysWide: []string{"Баскыһыанньа", "Бэнидиэлинньик", "Оптуорунньук", "Сэрэдэ", "Чэппиэр", "Бээтиҥсэ", "Субуота"}, + daysShort: []string{"бс", "бн", "оп", "сэ", "чп", "бэ", "сб"}, + daysWide: []string{"баскыһыанньа", "бэнидиэнньик", "оптуорунньук", "сэрэдэ", "чэппиэр", "Бээтиҥсэ", "субуота"}, periodsAbbreviated: []string{"ЭИ", "ЭК"}, + periodsNarrow: []string{"ЭИ", "ЭК"}, periodsWide: []string{"ЭИ", "ЭК"}, erasAbbreviated: []string{"б. э. и.", "б. э"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"NZST": "NZST", "BOT": "BOT", "WIB": "WIB", "HKT": "HKT", "AEST": "AEST", "EAT": "EAT", "MYT": "MYT", "MST": "MST", "JDT": "JDT", "COST": "COST", "HAST": "HAST", "CST": "CST", "UYT": "UYT", "WARST": "WARST", "OEZ": "OEZ", "OESZ": "OESZ", "PST": "PST", "IST": "IST", "ART": "ART", "AWDT": "AWDT", "CLT": "CLT", "LHDT": "LHDT", "UYST": "UYST", "WESZ": "WESZ", "COT": "COT", "ChST": "ChST", "MEZ": "MEZ", "ACST": "ACST", "ACWDT": "ACWDT", "WAT": "WAT", "TMT": "TMT", "HAT": "HAT", "WIT": "WIT", "JST": "JST", "AST": "AST", "NZDT": "NZDT", "HADT": "HADT", "EDT": "EDT", "AWST": "AWST", "HNT": "HNT", "PDT": "PDT", "AKDT": "AKDT", "ACWST": "ACWST", "WAST": "WAST", "CAT": "CAT", "SRT": "SRT", "HKST": "HKST", "CHAST": "CHAST", "SGT": "SGT", "VET": "VET", "WITA": "WITA", "BT": "BT", "CHADT": "CHADT", "GFT": "GFT", "ECT": "ECT", "CDT": "CDT", "GYT": "GYT", "GMT": "GMT", "WEZ": "WEZ", "ACDT": "ACDT", "ARST": "ARST", "ADT": "ADT", "TMST": "TMST", "LHST": "LHST", "MESZ": "MESZ", "WART": "WART", "EST": "EST", "AEDT": "AEDT", "SAST": "SAST", "MDT": "MDT", "CLST": "CLST", "∅∅∅": "∅∅∅", "AKST": "AKST"}, + erasWide: []string{"б. э. и.", "б. э"}, + timezones: map[string]string{"CLT": "CLT", "HEEG": "HEEG", "ACDT": "Киин Австралия сайыҥҥы кэмэ", "ADT": "ADT", "PDT": "PDT", "AWST": "Арҕаа Австралия сүрүн кэмэ", "HNT": "HNT", "HAT": "HAT", "JST": "Дьоппуон сүрүн кэмэ", "CLST": "CLST", "GMT": "GMT", "EST": "EST", "HEPMX": "HEPMX", "ACWST": "ACWST", "TMT": "TMT", "ACST": "Киин Австралия сүрүн кэмэ", "EAT": "EAT", "HNOG": "HNOG", "AEST": "Илин Австралия сүрүн кэмэ", "MEZ": "MEZ", "HAST": "HAST", "SRT": "SRT", "ECT": "ECT", "HADT": "HADT", "JDT": "Дьоппуон сайыҥҥы кэмэ", "COST": "COST", "TMST": "TMST", "HNEG": "HNEG", "HNPMX": "HNPMX", "HEOG": "HEOG", "AEDT": "Илин Австралия сайыҥҥы кэмэ", "WITA": "WITA", "MESZ": "MESZ", "CAT": "CAT", "HENOMX": "HENOMX", "SGT": "SGT", "HECU": "HECU", "AKST": "AKST", "WESZ": "WESZ", "LHST": "LHST", "NZST": "Саҥа Сэйлэнд сүрүн кэмэ", "ChST": "ChST", "WAST": "WAST", "AST": "AST", "HNPM": "HNPM", "HEPM": "HEPM", "CHAST": "CHAST", "GFT": "GFT", "COT": "COT", "VET": "VET", "WIT": "WIT", "NZDT": "Саҥа Сэйлэнд сайыҥҥы кэмэ", "SAST": "SAST", "GYT": "GYT", "UYST": "UYST", "AWDT": "Арҕаа Австралия сайыҥҥы кэмэ", "IST": "Ииндийэ сүрүн кэмэ", "WAT": "WAT", "OESZ": "OESZ", "MYT": "MYT", "ARST": "ARST", "PST": "PST", "CDT": "CDT", "ART": "ART", "ACWDT": "ACWDT", "LHDT": "LHDT", "HNCU": "HNCU", "MDT": "MDT", "UYT": "UYT", "WEZ": "WEZ", "HKT": "HKT", "BT": "BT", "∅∅∅": "∅∅∅", "BOT": "BOT", "WART": "WART", "MST": "MST", "CST": "CST", "WIB": "WIB", "CHADT": "CHADT", "OEZ": "OEZ", "WARST": "WARST", "HNNOMX": "HNNOMX", "EDT": "EDT", "AKDT": "AKDT", "HKST": "HKST"}, } } @@ -181,13 +183,75 @@ func (sah *sah) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'sah' and handles both Whole and Real numbers based on 'v' func (sah *sah) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sah.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sah.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'sah' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sah *sah) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sah.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sah.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, sah.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'sah' @@ -195,26 +259,31 @@ func (sah *sah) FmtCurrency(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sah.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, sah.decimal[0]) + inWhole = true continue } - b = append(b, s[i]) - } - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } - for j := len(sah.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyPositivePrefix[j]) + b = append(b, s[i]) } if num < 0 { @@ -226,8 +295,21 @@ func (sah *sah) FmtCurrency(num float64, v uint64, currency currency.Type) strin b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, sah.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + b = append(b, sah.currencyPositiveSuffix...) + b = append(b, symbol...) + return string(b) } @@ -237,42 +319,37 @@ func (sah *sah) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sah.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, sah.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(sah.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyNegativePrefix[j]) - } - b = append(b, sah.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(sah.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyPositivePrefix[j]) - } - } // reverse @@ -280,11 +357,24 @@ func (sah *sah) FmtAccounting(num float64, v uint64, currency currency.Type) str b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, sah.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + if num < 0 { b = append(b, sah.currencyNegativeSuffix...) + b = append(b, symbol...) } else { b = append(b, sah.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -314,7 +404,12 @@ func (sah *sah) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, sah.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -328,7 +423,12 @@ func (sah *sah) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, sah.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -342,7 +442,12 @@ func (sah *sah) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x81, 0xd1, 0x8b, 0xd0, 0xbb}...) b = append(b, []byte{0x20}...) b = append(b, sah.monthsWide[t.Month()]...) @@ -360,6 +465,19 @@ func (sah *sah) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, sah.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -428,5 +546,34 @@ func (sah *sah) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, sah.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, sah.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := sah.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/sah_RU/sah_RU.go b/sah_RU/sah_RU.go index f585ba1b5..4eb3e7a46 100644 --- a/sah_RU/sah_RU.go +++ b/sah_RU/sah_RU.go @@ -22,9 +22,7 @@ type sah_RU struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string currencyPositiveSuffix string - currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -50,26 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: nil, pluralsRange: nil, - decimal: ".", - group: ",", + decimal: ",", + group: " ", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", - currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", - monthsAbbreviated: []string{"", "Тохс", "Олун", "Клн_ттр", "Мус_уст", "Ыам_йн", "Бэс_йн", "От_йн", "Атрдь_йн", "Блҕн_йн", "Алт", "Сэт", "Ахс"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "Тохс", "Олун", "Клн", "Мсу", "Ыам", "Бэс", "Отй", "Атр", "Блҕ", "Алт", "Сэт", "Ахс"}, monthsNarrow: []string{"", "Т", "О", "К", "М", "Ы", "Б", "О", "А", "Б", "А", "С", "А"}, - monthsWide: []string{"", "Тохсунньу", "Олунньу", "Кулун тутар", "Муус устар", "Ыам ыйын", "Бэс ыйын", "От ыйын", "Атырдьых ыйын", "Балаҕан ыйын", "Алтынньы", "Сэтинньи", "Ахсынньы"}, - daysAbbreviated: []string{"Бс", "Бн", "Оп", "Сэ", "Чп", "Бэ", "Сб"}, + monthsWide: []string{"", "Тохсунньу", "Олунньу", "Кулун тутар", "Муус устар", "Ыам ыйын", "Бэс ыйын", "От ыйын", "Атырдьых ыйын", "Балаҕан ыйын", "Алтынньы", "Сэтинньи", "ахсынньы"}, + daysAbbreviated: []string{"бс", "бн", "оп", "сэ", "чп", "бэ", "сб"}, daysNarrow: []string{"Б", "Б", "О", "С", "Ч", "Б", "С"}, - daysWide: []string{"Баскыһыанньа", "Бэнидиэлинньик", "Оптуорунньук", "Сэрэдэ", "Чэппиэр", "Бээтиҥсэ", "Субуота"}, + daysShort: []string{"бс", "бн", "оп", "сэ", "чп", "бэ", "сб"}, + daysWide: []string{"баскыһыанньа", "бэнидиэнньик", "оптуорунньук", "сэрэдэ", "чэппиэр", "Бээтиҥсэ", "субуота"}, periodsAbbreviated: []string{"ЭИ", "ЭК"}, + periodsNarrow: []string{"ЭИ", "ЭК"}, periodsWide: []string{"ЭИ", "ЭК"}, erasAbbreviated: []string{"б. э. и.", "б. э"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"NZDT": "NZDT", "OESZ": "OESZ", "GYT": "GYT", "BOT": "BOT", "HNT": "HNT", "WIT": "WIT", "UYST": "UYST", "ARST": "ARST", "WAT": "WAT", "MESZ": "MESZ", "HADT": "HADT", "SAST": "SAST", "HKST": "HKST", "HAT": "HAT", "CLT": "CLT", "JST": "JST", "MEZ": "MEZ", "ACWST": "ACWST", "EAT": "EAT", "WIB": "WIB", "AST": "AST", "CHAST": "CHAST", "CAT": "CAT", "JDT": "JDT", "LHDT": "LHDT", "HKT": "HKT", "SRT": "SRT", "AKST": "AKST", "MST": "MST", "∅∅∅": "∅∅∅", "ChST": "ChST", "AWDT": "AWDT", "SGT": "SGT", "ACST": "ACST", "WAST": "WAST", "MYT": "MYT", "COT": "COT", "AEST": "AEST", "HAST": "HAST", "CHADT": "CHADT", "TMST": "TMST", "BT": "BT", "LHST": "LHST", "WEZ": "WEZ", "VET": "VET", "ACDT": "ACDT", "PST": "PST", "GMT": "GMT", "MDT": "MDT", "NZST": "NZST", "AWST": "AWST", "AEDT": "AEDT", "IST": "IST", "CDT": "CDT", "GFT": "GFT", "OEZ": "OEZ", "COST": "COST", "ECT": "ECT", "EST": "EST", "PDT": "PDT", "WARST": "WARST", "AKDT": "AKDT", "EDT": "EDT", "TMT": "TMT", "ART": "ART", "WART": "WART", "WITA": "WITA", "CST": "CST", "CLST": "CLST", "UYT": "UYT", "WESZ": "WESZ", "ACWDT": "ACWDT", "ADT": "ADT"}, + erasWide: []string{"б. э. и.", "б. э"}, + timezones: map[string]string{"ECT": "ECT", "UYT": "UYT", "WESZ": "WESZ", "HKT": "HKT", "GFT": "GFT", "WAT": "WAT", "HNCU": "HNCU", "MYT": "MYT", "PST": "PST", "HNPM": "HNPM", "ACDT": "Киин Австралия сайыҥҥы кэмэ", "WAST": "WAST", "WARST": "WARST", "HECU": "HECU", "HEPMX": "HEPMX", "GYT": "GYT", "HEEG": "HEEG", "ACST": "Киин Австралия сүрүн кэмэ", "EAT": "EAT", "MDT": "MDT", "WITA": "WITA", "AWDT": "Арҕаа Австралия сайыҥҥы кэмэ", "HAST": "HAST", "HAT": "HAT", "MESZ": "MESZ", "CLST": "CLST", "OEZ": "OEZ", "WART": "WART", "EDT": "EDT", "MST": "MST", "ART": "ART", "JST": "Дьоппуон сүрүн кэмэ", "CLT": "CLT", "∅∅∅": "∅∅∅", "UYST": "UYST", "AKDT": "AKDT", "SAST": "SAST", "WIB": "WIB", "HNOG": "HNOG", "ACWST": "ACWST", "MEZ": "MEZ", "ChST": "ChST", "COT": "COT", "HNT": "HNT", "ACWDT": "ACWDT", "NZST": "Саҥа Сэйлэнд сүрүн кэмэ", "NZDT": "Саҥа Сэйлэнд сайыҥҥы кэмэ", "TMST": "TMST", "VET": "VET", "BT": "BT", "PDT": "PDT", "CHAST": "CHAST", "HNNOMX": "HNNOMX", "EST": "EST", "CST": "CST", "SRT": "SRT", "HKST": "HKST", "LHDT": "LHDT", "IST": "Ииндийэ сүрүн кэмэ", "TMT": "TMT", "CAT": "CAT", "ADT": "ADT", "AWST": "Арҕаа Австралия сүрүн кэмэ", "HNPMX": "HNPMX", "AKST": "AKST", "LHST": "LHST", "BOT": "BOT", "HNEG": "HNEG", "COST": "COST", "GMT": "GMT", "SGT": "SGT", "AEDT": "Илин Австралия сайыҥҥы кэмэ", "HEPM": "HEPM", "JDT": "Дьоппуон сайыҥҥы кэмэ", "OESZ": "OESZ", "ARST": "ARST", "AEST": "Илин Австралия сүрүн кэмэ", "CHADT": "CHADT", "HENOMX": "HENOMX", "CDT": "CDT", "WIT": "WIT", "HEOG": "HEOG", "WEZ": "WEZ", "AST": "AST", "HADT": "HADT"}, } } @@ -181,13 +183,75 @@ func (sah *sah_RU) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'sah_RU' and handles both Whole and Real numbers based on 'v' func (sah *sah_RU) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sah.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sah.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'sah_RU' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sah *sah_RU) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sah.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sah.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, sah.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'sah_RU' @@ -195,26 +259,31 @@ func (sah *sah_RU) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sah.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, sah.decimal[0]) + inWhole = true continue } - b = append(b, s[i]) - } - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } - for j := len(sah.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyPositivePrefix[j]) + b = append(b, s[i]) } if num < 0 { @@ -226,8 +295,21 @@ func (sah *sah_RU) FmtCurrency(num float64, v uint64, currency currency.Type) st b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, sah.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + b = append(b, sah.currencyPositiveSuffix...) + b = append(b, symbol...) + return string(b) } @@ -237,42 +319,37 @@ func (sah *sah_RU) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sah.currencies[currency] - l := len(s) + len(symbol) + 4 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, sah.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(sah.group) - 1; j >= 0; j-- { + b = append(b, sah.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(sah.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyNegativePrefix[j]) - } - b = append(b, sah.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(sah.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, sah.currencyPositivePrefix[j]) - } - } // reverse @@ -280,11 +357,24 @@ func (sah *sah_RU) FmtAccounting(num float64, v uint64, currency currency.Type) b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, sah.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + if num < 0 { b = append(b, sah.currencyNegativeSuffix...) + b = append(b, symbol...) } else { b = append(b, sah.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -314,7 +404,12 @@ func (sah *sah_RU) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, sah.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -328,7 +423,12 @@ func (sah *sah_RU) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, sah.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -342,7 +442,12 @@ func (sah *sah_RU) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x81, 0xd1, 0x8b, 0xd0, 0xbb}...) b = append(b, []byte{0x20}...) b = append(b, sah.monthsWide[t.Month()]...) @@ -360,6 +465,19 @@ func (sah *sah_RU) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, sah.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -428,5 +546,34 @@ func (sah *sah_RU) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, sah.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, sah.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := sah.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/saq/saq.go b/saq/saq.go index 88ed5f904..20f8837f7 100644 --- a/saq/saq.go +++ b/saq/saq.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Obo", "Waa", "Oku", "Ong", "Ime", "Ile", "Sap", "Isi", "Saa", "Tom", "Tob", "Tow"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Christo", "Baada ya Christo"}, - timezones: map[string]string{"LHDT": "LHDT", "CLST": "CLST", "UYT": "UYT", "MEZ": "MEZ", "WIB": "WIB", "GYT": "GYT", "HAT": "HAT", "JST": "JST", "OEZ": "OEZ", "HAST": "HAST", "IST": "IST", "CLT": "CLT", "HKST": "HKST", "ACST": "ACST", "AEDT": "AEDT", "ADT": "ADT", "WITA": "WITA", "AWDT": "AWDT", "ACDT": "ACDT", "ECT": "ECT", "AKDT": "AKDT", "EDT": "EDT", "WIT": "WIT", "SAST": "SAST", "CDT": "CDT", "JDT": "JDT", "ACWST": "ACWST", "SRT": "SRT", "COST": "COST", "ART": "ART", "WARST": "WARST", "WAT": "WAT", "EST": "EST", "TMST": "TMST", "CST": "CST", "GMT": "GMT", "NZDT": "NZDT", "MESZ": "MESZ", "ACWDT": "ACWDT", "AKST": "AKST", "ChST": "ChST", "CHADT": "CHADT", "SGT": "SGT", "COT": "COT", "EAT": "EAT", "NZST": "NZST", "WESZ": "WESZ", "CHAST": "CHAST", "GFT": "GFT", "WART": "WART", "LHST": "LHST", "HNT": "HNT", "HKT": "HKT", "PST": "PST", "CAT": "CAT", "VET": "VET", "AEST": "AEST", "WAST": "WAST", "PDT": "PDT", "TMT": "TMT", "OESZ": "OESZ", "AWST": "AWST", "UYST": "UYST", "WEZ": "WEZ", "HADT": "HADT", "ARST": "ARST", "AST": "AST", "MDT": "MDT", "BT": "BT", "BOT": "BOT", "MYT": "MYT", "MST": "MST", "∅∅∅": "∅∅∅"}, + timezones: map[string]string{"WIB": "WIB", "CHADT": "CHADT", "CLST": "CLST", "HENOMX": "HENOMX", "EDT": "EDT", "EAT": "EAT", "HNCU": "HNCU", "HAST": "HAST", "LHST": "LHST", "IST": "IST", "BOT": "BOT", "CAT": "CAT", "GMT": "GMT", "MDT": "MDT", "HAT": "HAT", "HNOG": "HNOG", "OESZ": "OESZ", "COT": "COT", "MYT": "MYT", "ACWST": "ACWST", "HEOG": "HEOG", "HKST": "HKST", "SAST": "SAST", "MEZ": "MEZ", "NZDT": "NZDT", "ChST": "ChST", "AST": "AST", "MST": "MST", "WIT": "WIT", "AEDT": "AEDT", "AWDT": "AWDT", "GYT": "GYT", "ACWDT": "ACWDT", "AKST": "AKST", "ADT": "ADT", "BT": "BT", "WITA": "WITA", "VET": "VET", "TMT": "TMT", "ACDT": "ACDT", "HNPMX": "HNPMX", "HNNOMX": "HNNOMX", "SRT": "SRT", "WESZ": "WESZ", "JST": "JST", "HNEG": "HNEG", "ECT": "ECT", "GFT": "GFT", "AKDT": "AKDT", "WEZ": "WEZ", "HNT": "HNT", "LHDT": "LHDT", "HEEG": "HEEG", "AEST": "AEST", "WAST": "WAST", "EST": "EST", "HNPM": "HNPM", "WARST": "WARST", "COST": "COST", "UYT": "UYT", "CST": "CST", "PDT": "PDT", "AWST": "AWST", "HKT": "HKT", "HEPMX": "HEPMX", "PST": "PST", "ARST": "ARST", "OEZ": "OEZ", "HECU": "HECU", "WART": "WART", "HEPM": "HEPM", "NZST": "NZST", "CLT": "CLT", "∅∅∅": "∅∅∅", "JDT": "JDT", "UYST": "UYST", "CHAST": "CHAST", "SGT": "SGT", "ACST": "ACST", "WAT": "WAT", "CDT": "CDT", "HADT": "HADT", "ART": "ART", "MESZ": "MESZ", "TMST": "TMST"}, } } @@ -337,7 +337,12 @@ func (saq *saq) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -351,7 +356,12 @@ func (saq *saq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +375,12 @@ func (saq *saq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +396,12 @@ func (saq *saq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/saq_KE/saq_KE.go b/saq_KE/saq_KE.go index 1b7475415..2ece81a41 100644 --- a/saq_KE/saq_KE.go +++ b/saq_KE/saq_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Obo", "Waa", "Oku", "Ong", "Ime", "Ile", "Sap", "Isi", "Saa", "Tom", "Tob", "Tow"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Christo", "Baada ya Christo"}, - timezones: map[string]string{"MESZ": "MESZ", "ADT": "ADT", "CST": "CST", "BT": "BT", "LHST": "LHST", "ACWDT": "ACWDT", "WESZ": "WESZ", "MEZ": "MEZ", "COST": "COST", "WARST": "WARST", "AWDT": "AWDT", "JST": "JST", "OEZ": "OEZ", "SRT": "SRT", "EAT": "EAT", "TMST": "TMST", "GYT": "GYT", "ChST": "ChST", "WIB": "WIB", "IST": "IST", "EST": "EST", "PST": "PST", "AST": "AST", "WEZ": "WEZ", "HAST": "HAST", "SAST": "SAST", "WAT": "WAT", "NZDT": "NZDT", "WIT": "WIT", "HKST": "HKST", "ACST": "ACST", "ECT": "ECT", "ARST": "ARST", "HKT": "HKT", "GFT": "GFT", "ACDT": "ACDT", "SGT": "SGT", "PDT": "PDT", "MYT": "MYT", "BOT": "BOT", "AWST": "AWST", "∅∅∅": "∅∅∅", "CLT": "CLT", "GMT": "GMT", "CHADT": "CHADT", "ACWST": "ACWST", "CAT": "CAT", "OESZ": "OESZ", "COT": "COT", "EDT": "EDT", "MST": "MST", "JDT": "JDT", "LHDT": "LHDT", "VET": "VET", "ART": "ART", "AKDT": "AKDT", "WITA": "WITA", "NZST": "NZST", "HNT": "HNT", "HAT": "HAT", "UYST": "UYST", "AEST": "AEST", "AEDT": "AEDT", "CDT": "CDT", "UYT": "UYT", "HADT": "HADT", "WAST": "WAST", "TMT": "TMT", "MDT": "MDT", "CLST": "CLST", "CHAST": "CHAST", "WART": "WART", "AKST": "AKST"}, + timezones: map[string]string{"HEOG": "HEOG", "AWDT": "AWDT", "NZDT": "NZDT", "HNNOMX": "HNNOMX", "ACWDT": "ACWDT", "BOT": "BOT", "COST": "COST", "HNEG": "HNEG", "MDT": "MDT", "MYT": "MYT", "WESZ": "WESZ", "HKST": "HKST", "IST": "IST", "CHAST": "CHAST", "ACST": "ACST", "ECT": "ECT", "VET": "VET", "WIT": "WIT", "BT": "BT", "HNT": "HNT", "MEZ": "MEZ", "WARST": "WARST", "WIB": "WIB", "CHADT": "CHADT", "HKT": "HKT", "TMT": "TMT", "WAT": "WAT", "HNCU": "HNCU", "EST": "EST", "MST": "MST", "AKST": "AKST", "AEST": "AEST", "COT": "COT", "OEZ": "OEZ", "HEPMX": "HEPMX", "HADT": "HADT", "AWST": "AWST", "CLST": "CLST", "GFT": "GFT", "JDT": "JDT", "TMST": "TMST", "WEZ": "WEZ", "ARST": "ARST", "LHST": "LHST", "LHDT": "LHDT", "NZST": "NZST", "SGT": "SGT", "JST": "JST", "CAT": "CAT", "WAST": "WAST", "HEPM": "HEPM", "SAST": "SAST", "OESZ": "OESZ", "EDT": "EDT", "CST": "CST", "AST": "AST", "PST": "PST", "WITA": "WITA", "HENOMX": "HENOMX", "HNPM": "HNPM", "CLT": "CLT", "UYST": "UYST", "ADT": "ADT", "HAST": "HAST", "HAT": "HAT", "AEDT": "AEDT", "GMT": "GMT", "HECU": "HECU", "∅∅∅": "∅∅∅", "AKDT": "AKDT", "HEEG": "HEEG", "CDT": "CDT", "SRT": "SRT", "MESZ": "MESZ", "ChST": "ChST", "WART": "WART", "GYT": "GYT", "HNOG": "HNOG", "HNPMX": "HNPMX", "UYT": "UYT", "PDT": "PDT", "ACWST": "ACWST", "ART": "ART", "ACDT": "ACDT", "EAT": "EAT"}, } } @@ -337,7 +337,12 @@ func (saq *saq_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -351,7 +356,12 @@ func (saq *saq_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +375,12 @@ func (saq *saq_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +396,12 @@ func (saq *saq_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, saq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sbp/sbp.go b/sbp/sbp.go index bdc3ac337..38bac3b82 100644 --- a/sbp/sbp.go +++ b/sbp/sbp.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Mup", "Mwi", "Msh", "Mun", "Mag", "Muj", "Msp", "Mpg", "Mye", "Mok", "Mus", "Muh"}, monthsWide: []string{"", "Mupalangulwa", "Mwitope", "Mushende", "Munyi", "Mushende Magali", "Mujimbi", "Mushipepo", "Mupuguto", "Munyense", "Mokhu", "Musongandembwe", "Muhaano"}, daysAbbreviated: []string{"Mul", "Jtt", "Jnn", "Jtn", "Alh", "Iju", "Jmo"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "PK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ashanali uKilisito", "Pamwandi ya Kilisto"}, - timezones: map[string]string{"∅∅∅": "∅∅∅", "GFT": "GFT", "ACDT": "ACDT", "MEZ": "MEZ", "ADT": "ADT", "TMT": "TMT", "CDT": "CDT", "GMT": "GMT", "ACWST": "ACWST", "WEZ": "WEZ", "COT": "COT", "VET": "VET", "EST": "EST", "TMST": "TMST", "WITA": "WITA", "COST": "COST", "AST": "AST", "AWDT": "AWDT", "JDT": "JDT", "HKT": "HKT", "CHAST": "CHAST", "GYT": "GYT", "NZDT": "NZDT", "WIT": "WIT", "WESZ": "WESZ", "LHDT": "LHDT", "UYST": "UYST", "EAT": "EAT", "NZST": "NZST", "LHST": "LHST", "OEZ": "OEZ", "OESZ": "OESZ", "AKDT": "AKDT", "CST": "CST", "HAT": "HAT", "CLST": "CLST", "JST": "JST", "AEDT": "AEDT", "MDT": "MDT", "CLT": "CLT", "MESZ": "MESZ", "HAST": "HAST", "WAT": "WAT", "BOT": "BOT", "CAT": "CAT", "ECT": "ECT", "ACWDT": "ACWDT", "WARST": "WARST", "WAST": "WAST", "MYT": "MYT", "UYT": "UYT", "SRT": "SRT", "ACST": "ACST", "ART": "ART", "ARST": "ARST", "PDT": "PDT", "MST": "MST", "ChST": "ChST", "AWST": "AWST", "CHADT": "CHADT", "AEST": "AEST", "HKST": "HKST", "SGT": "SGT", "WIB": "WIB", "WART": "WART", "HADT": "HADT", "IST": "IST", "SAST": "SAST", "AKST": "AKST", "EDT": "EDT", "PST": "PST", "BT": "BT", "HNT": "HNT"}, + timezones: map[string]string{"MST": "MST", "NZST": "NZST", "ChST": "ChST", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "MDT": "MDT", "HNOG": "HNOG", "MESZ": "MESZ", "CLST": "CLST", "JST": "JST", "SGT": "SGT", "GYT": "GYT", "PST": "PST", "HAT": "HAT", "LHST": "LHST", "ECT": "ECT", "HNCU": "HNCU", "AKST": "AKST", "WIB": "WIB", "WEZ": "WEZ", "AWST": "AWST", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "COT": "COT", "HNPMX": "HNPMX", "HKT": "HKT", "JDT": "JDT", "CAT": "CAT", "OEZ": "OEZ", "HENOMX": "HENOMX", "MYT": "MYT", "UYT": "UYT", "AKDT": "AKDT", "HAST": "HAST", "AWDT": "AWDT", "HNPM": "HNPM", "HEPM": "HEPM", "IST": "IST", "BOT": "BOT", "EST": "EST", "AST": "AST", "ADT": "ADT", "BT": "BT", "HNT": "HNT", "MEZ": "MEZ", "LHDT": "LHDT", "CLT": "CLT", "TMT": "TMT", "VET": "VET", "SRT": "SRT", "TMST": "TMST", "HECU": "HECU", "CST": "CST", "CDT": "CDT", "UYST": "UYST", "WITA": "WITA", "ACWST": "ACWST", "ARST": "ARST", "GFT": "GFT", "WARST": "WARST", "HADT": "HADT", "NZDT": "NZDT", "CHADT": "CHADT", "HNEG": "HNEG", "EAT": "EAT", "OESZ": "OESZ", "GMT": "GMT", "SAST": "SAST", "WART": "WART", "PDT": "PDT", "HKST": "HKST", "HEEG": "HEEG", "ACST": "ACST", "WESZ": "WESZ", "ACWDT": "ACWDT", "ART": "ART", "AEDT": "AEDT", "ACDT": "ACDT", "WAT": "WAT", "WAST": "WAST", "WIT": "WIT", "HEOG": "HEOG", "AEST": "AEST", "COST": "COST", "EDT": "EDT"}, } } @@ -378,7 +378,12 @@ func (sbp *sbp) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -392,7 +397,12 @@ func (sbp *sbp) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -406,7 +416,12 @@ func (sbp *sbp) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -422,7 +437,12 @@ func (sbp *sbp) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sbp_TZ/sbp_TZ.go b/sbp_TZ/sbp_TZ.go index c65a0ec98..2ac642370 100644 --- a/sbp_TZ/sbp_TZ.go +++ b/sbp_TZ/sbp_TZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Mup", "Mwi", "Msh", "Mun", "Mag", "Muj", "Msp", "Mpg", "Mye", "Mok", "Mus", "Muh"}, monthsWide: []string{"", "Mupalangulwa", "Mwitope", "Mushende", "Munyi", "Mushende Magali", "Mujimbi", "Mushipepo", "Mupuguto", "Munyense", "Mokhu", "Musongandembwe", "Muhaano"}, daysAbbreviated: []string{"Mul", "Jtt", "Jnn", "Jtn", "Alh", "Iju", "Jmo"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AK", "PK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Ashanali uKilisito", "Pamwandi ya Kilisto"}, - timezones: map[string]string{"MDT": "MDT", "AWST": "AWST", "CHADT": "CHADT", "IST": "IST", "AKDT": "AKDT", "HKT": "HKT", "AEST": "AEST", "MST": "MST", "BT": "BT", "HNT": "HNT", "EAT": "EAT", "MYT": "MYT", "GMT": "GMT", "HAST": "HAST", "PDT": "PDT", "WAST": "WAST", "TMT": "TMT", "MEZ": "MEZ", "ART": "ART", "GYT": "GYT", "CLST": "CLST", "JDT": "JDT", "UYST": "UYST", "SRT": "SRT", "ACDT": "ACDT", "ACWDT": "ACWDT", "WAT": "WAT", "NZDT": "NZDT", "CAT": "CAT", "AWDT": "AWDT", "MESZ": "MESZ", "ACST": "ACST", "VET": "VET", "CLT": "CLT", "UYT": "UYT", "WESZ": "WESZ", "WARST": "WARST", "LHDT": "LHDT", "JST": "JST", "OEZ": "OEZ", "GFT": "GFT", "HADT": "HADT", "ADT": "ADT", "NZST": "NZST", "OESZ": "OESZ", "HKST": "HKST", "COT": "COT", "COST": "COST", "AEDT": "AEDT", "ARST": "ARST", "AST": "AST", "AKST": "AKST", "EST": "EST", "WITA": "WITA", "TMST": "TMST", "CDT": "CDT", "∅∅∅": "∅∅∅", "ChST": "ChST", "SGT": "SGT", "WART": "WART", "LHST": "LHST", "CHAST": "CHAST", "ECT": "ECT", "BOT": "BOT", "CST": "CST", "HAT": "HAT", "PST": "PST", "SAST": "SAST", "EDT": "EDT", "WIT": "WIT", "WEZ": "WEZ", "WIB": "WIB", "ACWST": "ACWST"}, + timezones: map[string]string{"COT": "COT", "HEPMX": "HEPMX", "MYT": "MYT", "UYT": "UYT", "HAST": "HAST", "WEZ": "WEZ", "HKST": "HKST", "SAST": "SAST", "HECU": "HECU", "AST": "AST", "BT": "BT", "HNPM": "HNPM", "WART": "WART", "ARST": "ARST", "JDT": "JDT", "MEZ": "MEZ", "IST": "IST", "TMT": "TMT", "MST": "MST", "LHDT": "LHDT", "EAT": "EAT", "WARST": "WARST", "SGT": "SGT", "HNPMX": "HNPMX", "HEOG": "HEOG", "PDT": "PDT", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "GMT": "GMT", "GYT": "GYT", "HADT": "HADT", "SRT": "SRT", "HNT": "HNT", "MESZ": "MESZ", "WESZ": "WESZ", "AEDT": "AEDT", "NZDT": "NZDT", "BOT": "BOT", "OESZ": "OESZ", "CST": "CST", "WIT": "WIT", "WITA": "WITA", "CHADT": "CHADT", "GFT": "GFT", "ACDT": "ACDT", "OEZ": "OEZ", "ChST": "ChST", "EDT": "EDT", "AKST": "AKST", "VET": "VET", "ACWST": "ACWST", "LHST": "LHST", "NZST": "NZST", "JST": "JST", "ACST": "ACST", "WAST": "WAST", "EST": "EST", "ADT": "ADT", "ART": "ART", "ACWDT": "ACWDT", "HKT": "HKT", "HEPM": "HEPM", "CAT": "CAT", "TMST": "TMST", "HNCU": "HNCU", "WIB": "WIB", "PST": "PST", "AWST": "AWST", "AWDT": "AWDT", "CHAST": "CHAST", "CLT": "CLT", "WAT": "WAT", "CLST": "CLST", "∅∅∅": "∅∅∅", "CDT": "CDT", "UYST": "UYST", "AKDT": "AKDT", "HAT": "HAT", "HNOG": "HNOG", "AEST": "AEST", "HEEG": "HEEG", "MDT": "MDT", "ECT": "ECT", "COST": "COST", "HENOMX": "HENOMX"}, } } @@ -378,7 +378,12 @@ func (sbp *sbp_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -392,7 +397,12 @@ func (sbp *sbp_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -406,7 +416,12 @@ func (sbp *sbp_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -422,7 +437,12 @@ func (sbp *sbp_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sbp.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/se/se.go b/se/se.go index 2f4a36377..4f522dd46 100644 --- a/se/se.go +++ b/se/se.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "Dkr", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "Skr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "Dkr", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GB£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "Ikr", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "kr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "Skr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,13 +65,15 @@ func New() locales.Translator { monthsWide: []string{"", "ođđajagemánnu", "guovvamánnu", "njukčamánnu", "cuoŋománnu", "miessemánnu", "geassemánnu", "suoidnemánnu", "borgemánnu", "čakčamánnu", "golggotmánnu", "skábmamánnu", "juovlamánnu"}, daysAbbreviated: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysNarrow: []string{"S", "V", "M", "G", "D", "B", "L"}, + daysShort: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysWide: []string{"sotnabeaivi", "vuossárga", "maŋŋebárga", "gaskavahkku", "duorasdat", "bearjadat", "lávvardat"}, periodsAbbreviated: []string{"i.b.", "e.b."}, + periodsNarrow: []string{"i.b.", "e.b."}, periodsWide: []string{"iđitbeaivet", "eahketbeaivet"}, erasAbbreviated: []string{"o.Kr.", "m.Kr."}, - erasNarrow: []string{"", ""}, + erasNarrow: []string{"ooá", "oá"}, erasWide: []string{"ovdal Kristtusa", "maŋŋel Kristtusa"}, - timezones: map[string]string{"UYST": "UYST", "ECT": "ECT", "GYT": "GYT", "UYT": "UYT", "SRT": "SRT", "AST": "AST", "WAT": "WAT", "CLT": "CLT", "WIT": "WIT", "CHADT": "CHADT", "COST": "COST", "SGT": "SGT", "SAST": "SAST", "CDT": "CDT", "MDT": "MDT", "CLST": "CLST", "∅∅∅": "∅∅∅", "HKT": "HKT", "ACST": "ACST", "AKDT": "AKDT", "MST": "MST", "NZST": "NZST", "LHDT": "LHDT", "HKST": "HKST", "COT": "COT", "WART": "WART", "HAST": "HAST", "AWDT": "AWDT", "OEZ": "nuorti-Eurohpá dábálašáigi", "ART": "ART", "EDT": "EDT", "ADT": "ADT", "EST": "EST", "PST": "PST", "WITA": "WITA", "OESZ": "nuorti-Eurohpá geassiáigi", "MEZ": "gaska-Eurohpá dábálašáigi", "BOT": "BOT", "AEDT": "AEDT", "IST": "IST", "HNT": "HNT", "CAT": "CAT", "JST": "JST", "CHAST": "CHAST", "ARST": "ARST", "MESZ": "gaska-Eurohpá geassiáigi", "ACDT": "ACDT", "TMST": "TMST", "HAT": "HAT", "AWST": "AWST", "GMT": "Greenwich gaskka áigi", "GFT": "GFT", "VET": "VET", "CST": "CST", "WARST": "WARST", "HADT": "HADT", "ACWST": "ACWST", "BT": "BT", "JDT": "JDT", "LHST": "LHST", "WEZ": "oarje-Eurohpá dábálašáigi", "WIB": "WIB", "EAT": "EAT", "ChST": "ChST", "AEST": "AEST", "AKST": "AKST", "TMT": "TMT", "WAST": "WAST", "WESZ": "oarje-Eurohpá geassiáigi", "ACWDT": "ACWDT", "PDT": "PDT", "MYT": "MYT", "NZDT": "NZDT"}, + timezones: map[string]string{"WAT": "WAT", "BT": "BT", "SRT": "SRT", "HNPM": "HNPM", "CHADT": "CHADT", "CLST": "CLST", "HEEG": "HEEG", "EAT": "EAT", "EDT": "EDT", "MST": "MST", "HEPMX": "HEPMX", "CST": "CST", "PST": "PST", "PDT": "PDT", "HNT": "HNT", "CLT": "CLT", "COT": "COT", "∅∅∅": "∅∅∅", "VET": "VET", "AEST": "AEST", "AWDT": "AWDT", "ChST": "ChST", "BOT": "BOT", "HNPMX": "HNPMX", "WITA": "WITA", "NZST": "NZST", "GFT": "GFT", "UYT": "UYT", "HAST": "HAST", "ACWST": "ACWST", "WAST": "WAST", "CHAST": "CHAST", "IST": "IST", "ACDT": "ACDT", "HEOG": "HEOG", "HKST": "HKST", "MESZ": "gaska-Eurohpá geassiáigi", "CAT": "CAT", "GMT": "Greenwich gaskka áigi", "UYST": "UYST", "AKDT": "AKDT", "WEZ": "oarje-Eurohpá dábálašáigi", "AWST": "AWST", "HEPM": "HEPM", "LHST": "LHST", "WART": "WART", "HECU": "HECU", "ART": "ART", "NZDT": "NZDT", "SAST": "SAST", "WIT": "WIT", "HNEG": "HNEG", "TMST": "TMST", "WARST": "WARST", "SGT": "SGT", "EST": "EST", "MDT": "MDT", "MYT": "MYT", "AEDT": "AEDT", "HENOMX": "HENOMX", "AKST": "AKST", "CDT": "CDT", "MEZ": "gaska-Eurohpá dábálašáigi", "TMT": "TMT", "OEZ": "nuorti-Eurohpá dábálašáigi", "OESZ": "nuorti-Eurohpá geassiáigi", "HNNOMX": "HNNOMX", "AST": "AST", "ACWDT": "ACWDT", "HKT": "HKT", "LHDT": "LHDT", "ACST": "ACST", "ECT": "ECT", "COST": "COST", "HNCU": "HNCU", "ADT": "ADT", "GYT": "GYT", "WIB": "WIB", "WESZ": "oarje-Eurohpá geassiáigi", "ARST": "ARST", "HADT": "HADT", "HAT": "HAT", "HNOG": "HNOG", "JST": "JST", "JDT": "JDT"}, } } @@ -404,6 +406,28 @@ func (se *se) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +436,17 @@ func (se *se) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +455,17 @@ func (se *se) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +474,19 @@ func (se *se) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, se.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +495,19 @@ func (se *se) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +516,26 @@ func (se *se) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +544,30 @@ func (se *se) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +576,34 @@ func (se *se) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := se.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/se_FI/se_FI.go b/se_FI/se_FI.go index 247fb0b2d..dda7e190a 100644 --- a/se_FI/se_FI.go +++ b/se_FI/se_FI.go @@ -56,22 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", - monthsAbbreviated: []string{"", "ođđajage", "guovva", "njukča", "cuoŋo", "miesse", "geasse", "suoidne", "borge", "čakča", "golggot", "skábma", "juovla"}, + monthsAbbreviated: []string{"", "ođđj", "guov", "njuk", "cuo", "mies", "geas", "suoi", "borg", "čakč", "golg", "skáb", "juov"}, monthsNarrow: []string{"", "O", "G", "N", "C", "M", "G", "S", "B", "Č", "G", "S", "J"}, monthsWide: []string{"", "ođđajagemánnu", "guovvamánnu", "njukčamánnu", "cuoŋománnu", "miessemánnu", "geassemánnu", "suoidnemánnu", "borgemánnu", "čakčamánnu", "golggotmánnu", "skábmamánnu", "juovlamánnu"}, daysAbbreviated: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysNarrow: []string{"S", "M", "D", "G", "D", "B", "L"}, - daysWide: []string{"aejlege", "måanta", "däjsta", "gaskevahkoe", "dåarsta", "bearjadahke", "laavadahke"}, + daysShort: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, + daysWide: []string{"sotnabeaivi", "vuossárgga", "maŋŋebárgga", "gaskavahku", "duorastaga", "bearjadaga", "lávvardaga"}, periodsAbbreviated: []string{"i.b.", "e.b."}, + periodsNarrow: []string{"i.b.", "e.b."}, periodsWide: []string{"iđitbeaivet", "eahketbeaivet"}, erasAbbreviated: []string{"o.Kr.", "m.Kr."}, - erasNarrow: []string{"", ""}, + erasNarrow: []string{"ooá", "oá"}, erasWide: []string{"ovdal Kristtusa", "maŋŋel Kristtusa"}, - timezones: map[string]string{"MESZ": "gaska-Eurohpá geassiáigi", "EST": "EST", "TMT": "TMT", "AKST": "AKST", "LHDT": "LHDT", "UYST": "UYST", "WESZ": "oarje-Eurohpá geassiáigi", "ACST": "ACST", "COST": "COST", "AEDT": "AEDT", "JST": "JST", "ECT": "ECT", "ART": "ART", "IST": "IST", "SGT": "SGT", "ACWDT": "ACWDT", "WIT": "WIT", "ACDT": "ACDT", "WARST": "WARST", "WAT": "WAT", "CST": "CST", "AWDT": "AWDT", "GMT": "Greenwich gaskka áigi", "OESZ": "nuorti-Eurohpá geassiáigi", "EAT": "EAT", "GYT": "GYT", "HNT": "HNT", "CLST": "CLST", "VET": "VET", "ACWST": "ACWST", "HKST": "HKST", "AEST": "AEST", "PST": "PST", "JDT": "JDT", "GFT": "GFT", "MST": "MST", "WART": "WART", "EDT": "EDT", "SAST": "SAST", "CAT": "CAT", "UYT": "UYT", "HAST": "HAST", "HADT": "HADT", "ARST": "ARST", "WITA": "WITA", "TMST": "TMST", "NZDT": "NZDT", "BOT": "BOT", "OEZ": "nuorti-Eurohpá dábálašáigi", "MEZ": "gaska-Eurohpá dábálašáigi", "WIB": "WIB", "WAST": "WAST", "BT": "BT", "∅∅∅": "∅∅∅", "SRT": "SRT", "CHAST": "CHAST", "CHADT": "CHADT", "WEZ": "oarje-Eurohpá dábálašáigi", "CDT": "CDT", "MDT": "MDT", "ChST": "ChST", "CLT": "CLT", "AST": "AST", "ADT": "ADT", "PDT": "PDT", "AKDT": "AKDT", "MYT": "MYT", "AWST": "AWST", "HAT": "HAT", "LHST": "LHST", "HKT": "HKT", "COT": "COT", "NZST": "NZST"}, + timezones: map[string]string{"HNPMX": "HNPMX", "HADT": "HADT", "BOT": "BOT", "ACDT": "ACDT", "GYT": "GYT", "CLT": "CLT", "CDT": "CDT", "CAT": "CAT", "HAT": "HAT", "TMT": "TMT", "WART": "WART", "AKDT": "AKDT", "HNOG": "HNOG", "AEST": "AEST", "CHAST": "CHAST", "UYST": "UYST", "HAST": "HAST", "PDT": "PDT", "LHDT": "LHDT", "HEEG": "HEEG", "CLST": "CLST", "ACST": "ACST", "WAST": "WAST", "HEPMX": "HEPMX", "NZST": "NZST", "CHADT": "CHADT", "HNEG": "HNEG", "EAT": "EAT", "HENOMX": "HENOMX", "HNCU": "HNCU", "EDT": "EDT", "WESZ": "oarje-Eurohpá geassiáigi", "HKST": "HKST", "JDT": "JDT", "ACWDT": "ACWDT", "WIB": "WIB", "AEDT": "AEDT", "WARST": "WARST", "JST": "JST", "TMST": "TMST", "COT": "COT", "EST": "EST", "MYT": "MYT", "VET": "VET", "LHST": "LHST", "NZDT": "NZDT", "SAST": "SAST", "WAT": "WAT", "HECU": "HECU", "AST": "AST", "SRT": "SRT", "PST": "PST", "AWST": "AWST", "MESZ": "gaska-Eurohpá geassiáigi", "OESZ": "nuorti-Eurohpá geassiáigi", "ECT": "ECT", "COST": "COST", "MDT": "MDT", "BT": "BT", "WEZ": "oarje-Eurohpá dábálašáigi", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "ART": "ART", "MST": "MST", "UYT": "UYT", "AKST": "AKST", "CST": "CST", "HNPM": "HNPM", "HNNOMX": "HNNOMX", "GFT": "GFT", "WIT": "WIT", "WITA": "WITA", "IST": "IST", "SGT": "SGT", "ACWST": "ACWST", "HNT": "HNT", "MEZ": "gaska-Eurohpá dábálašáigi", "GMT": "Greenwich gaskka áigi", "ChST": "ChST", "OEZ": "nuorti-Eurohpá dábálašáigi", "ADT": "ADT", "HKT": "HKT", "HEPM": "HEPM", "ARST": "ARST", "HEOG": "HEOG"}, } } @@ -404,6 +406,28 @@ func (se *se_FI) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +436,17 @@ func (se *se_FI) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +455,17 @@ func (se *se_FI) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +474,19 @@ func (se *se_FI) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, se.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +495,19 @@ func (se *se_FI) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +516,26 @@ func (se *se_FI) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +544,30 @@ func (se *se_FI) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +576,34 @@ func (se *se_FI) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := se.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/se_NO/se_NO.go b/se_NO/se_NO.go index 1370692d9..ecadaa89a 100644 --- a/se_NO/se_NO.go +++ b/se_NO/se_NO.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,13 +65,15 @@ func New() locales.Translator { monthsWide: []string{"", "ođđajagemánnu", "guovvamánnu", "njukčamánnu", "cuoŋománnu", "miessemánnu", "geassemánnu", "suoidnemánnu", "borgemánnu", "čakčamánnu", "golggotmánnu", "skábmamánnu", "juovlamánnu"}, daysAbbreviated: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysNarrow: []string{"S", "V", "M", "G", "D", "B", "L"}, + daysShort: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysWide: []string{"sotnabeaivi", "vuossárga", "maŋŋebárga", "gaskavahkku", "duorasdat", "bearjadat", "lávvardat"}, periodsAbbreviated: []string{"i.b.", "e.b."}, + periodsNarrow: []string{"i.b.", "e.b."}, periodsWide: []string{"iđitbeaivet", "eahketbeaivet"}, erasAbbreviated: []string{"o.Kr.", "m.Kr."}, - erasNarrow: []string{"", ""}, + erasNarrow: []string{"ooá", "oá"}, erasWide: []string{"ovdal Kristtusa", "maŋŋel Kristtusa"}, - timezones: map[string]string{"ECT": "ECT", "MEZ": "gaska-Eurohpá dábálašáigi", "AEDT": "AEDT", "MST": "MST", "HNT": "HNT", "AKST": "AKST", "AWDT": "AWDT", "CHADT": "CHADT", "HKST": "HKST", "ARST": "ARST", "HAST": "HAST", "SAST": "SAST", "JST": "JST", "LHDT": "LHDT", "BOT": "BOT", "OEZ": "nuorti-Eurohpá dábálašáigi", "JDT": "JDT", "∅∅∅": "∅∅∅", "CHAST": "CHAST", "ACST": "ACST", "WAST": "WAST", "TMST": "TMST", "ChST": "ChST", "MDT": "MDT", "WESZ": "oarje-Eurohpá geassiáigi", "SGT": "SGT", "PST": "PST", "NZST": "NZST", "WEZ": "oarje-Eurohpá dábálašáigi", "UYT": "UYT", "MESZ": "gaska-Eurohpá geassiáigi", "ACDT": "ACDT", "WARST": "WARST", "IST": "IST", "EAT": "EAT", "CLT": "CLT", "COST": "COST", "BT": "BT", "ACWST": "ACWST", "WITA": "WITA", "CST": "CST", "NZDT": "NZDT", "WIT": "WIT", "ADT": "ADT", "GMT": "Greenwich gaskka áigi", "SRT": "SRT", "HADT": "HADT", "AKDT": "AKDT", "GYT": "GYT", "AWST": "AWST", "WIB": "WIB", "VET": "VET", "EST": "EST", "AEST": "AEST", "WAT": "WAT", "TMT": "TMT", "HAT": "HAT", "CAT": "CAT", "GFT": "GFT", "ART": "ART", "WART": "WART", "AST": "AST", "CDT": "CDT", "LHST": "LHST", "HKT": "HKT", "EDT": "EDT", "MYT": "MYT", "CLST": "CLST", "COT": "COT", "ACWDT": "ACWDT", "PDT": "PDT", "UYST": "UYST", "OESZ": "nuorti-Eurohpá geassiáigi"}, + timezones: map[string]string{"CDT": "CDT", "MEZ": "gaska-Eurohpá dábálašáigi", "TMT": "TMT", "ACST": "ACST", "SGT": "SGT", "HNCU": "HNCU", "COT": "COT", "HAST": "HAST", "HNOG": "HNOG", "LHDT": "LHDT", "CHADT": "CHADT", "WAT": "WAT", "EDT": "EDT", "CST": "CST", "WEZ": "oarje-Eurohpá dábálašáigi", "MYT": "MYT", "HNPM": "HNPM", "NZDT": "NZDT", "JST": "JST", "OEZ": "nuorti-Eurohpá dábálašáigi", "ECT": "ECT", "HECU": "HECU", "HNPMX": "HNPMX", "TMST": "TMST", "ACWST": "ACWST", "AWDT": "AWDT", "CHAST": "CHAST", "AST": "AST", "WESZ": "oarje-Eurohpá geassiáigi", "PST": "PST", "HKST": "HKST", "SRT": "SRT", "HNT": "HNT", "AWST": "AWST", "ACDT": "ACDT", "ADT": "ADT", "WIT": "WIT", "HADT": "HADT", "CLT": "CLT", "COST": "COST", "ACWDT": "ACWDT", "HAT": "HAT", "MESZ": "gaska-Eurohpá geassiáigi", "GMT": "Greenwich gaskka áigi", "CLST": "CLST", "PDT": "PDT", "WITA": "WITA", "NZST": "NZST", "BOT": "BOT", "HNEG": "HNEG", "WIB": "WIB", "VET": "VET", "HKT": "HKT", "AEST": "AEST", "ChST": "ChST", "WAST": "WAST", "CAT": "CAT", "ART": "ART", "UYST": "UYST", "HEOG": "HEOG", "JDT": "JDT", "EAT": "EAT", "WART": "WART", "AKST": "AKST", "AKDT": "AKDT", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "OESZ": "nuorti-Eurohpá geassiáigi", "MST": "MST", "MDT": "MDT", "ARST": "ARST", "AEDT": "AEDT", "HEPM": "HEPM", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "EST": "EST", "UYT": "UYT", "BT": "BT", "LHST": "LHST", "IST": "IST", "SAST": "SAST", "GFT": "GFT", "∅∅∅": "∅∅∅", "WARST": "WARST", "GYT": "GYT"}, } } @@ -404,6 +406,28 @@ func (se *se_NO) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +436,17 @@ func (se *se_NO) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +455,17 @@ func (se *se_NO) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +474,19 @@ func (se *se_NO) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, se.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +495,19 @@ func (se *se_NO) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +516,26 @@ func (se *se_NO) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +544,30 @@ func (se *se_NO) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +576,34 @@ func (se *se_NO) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := se.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/se_SE/se_SE.go b/se_SE/se_SE.go index b4d3093ee..600dbe64b 100644 --- a/se_SE/se_SE.go +++ b/se_SE/se_SE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -65,13 +65,15 @@ func New() locales.Translator { monthsWide: []string{"", "ođđajagemánnu", "guovvamánnu", "njukčamánnu", "cuoŋománnu", "miessemánnu", "geassemánnu", "suoidnemánnu", "borgemánnu", "čakčamánnu", "golggotmánnu", "skábmamánnu", "juovlamánnu"}, daysAbbreviated: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysNarrow: []string{"S", "V", "M", "G", "D", "B", "L"}, + daysShort: []string{"sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"}, daysWide: []string{"sotnabeaivi", "vuossárga", "maŋŋebárga", "gaskavahkku", "duorasdat", "bearjadat", "lávvardat"}, periodsAbbreviated: []string{"i.b.", "e.b."}, + periodsNarrow: []string{"i.b.", "e.b."}, periodsWide: []string{"iđitbeaivet", "eahketbeaivet"}, erasAbbreviated: []string{"o.Kr.", "m.Kr."}, - erasNarrow: []string{"", ""}, + erasNarrow: []string{"ooá", "oá"}, erasWide: []string{"ovdal Kristtusa", "maŋŋel Kristtusa"}, - timezones: map[string]string{"LHST": "LHST", "WESZ": "oarje-Eurohpá geassiáigi", "VET": "VET", "WIB": "WIB", "HAST": "HAST", "EDT": "EDT", "HNT": "HNT", "BT": "BT", "PDT": "PDT", "ChST": "ChST", "ACWST": "ACWST", "AWST": "AWST", "HAT": "HAT", "IST": "IST", "EST": "EST", "SAST": "SAST", "NZST": "NZST", "JDT": "JDT", "CHADT": "CHADT", "ACST": "ACST", "∅∅∅": "∅∅∅", "WEZ": "oarje-Eurohpá dábálašáigi", "COT": "COT", "ECT": "ECT", "AEST": "AEST", "AST": "AST", "LHDT": "LHDT", "OESZ": "nuorti-Eurohpá geassiáigi", "SGT": "SGT", "WARST": "WARST", "ACWDT": "ACWDT", "AKDT": "AKDT", "ADT": "ADT", "CAT": "CAT", "UYT": "UYT", "WART": "WART", "WAT": "WAT", "WAST": "WAST", "TMT": "TMT", "CDT": "CDT", "GYT": "GYT", "AWDT": "AWDT", "CHAST": "CHAST", "GMT": "Greenwich gaskka áigi", "MEZ": "gaska-Eurohpá dábálašáigi", "AKST": "AKST", "MST": "MST", "CLT": "CLT", "UYST": "UYST", "GFT": "GFT", "ACDT": "ACDT", "ART": "ART", "NZDT": "NZDT", "WIT": "WIT", "HKT": "HKT", "MDT": "MDT", "CLST": "CLST", "EAT": "EAT", "SRT": "SRT", "BOT": "BOT", "CST": "CST", "OEZ": "nuorti-Eurohpá dábálašáigi", "ARST": "ARST", "MESZ": "gaska-Eurohpá geassiáigi", "HADT": "HADT", "TMST": "TMST", "JST": "JST", "COST": "COST", "PST": "PST", "MYT": "MYT", "HKST": "HKST", "AEDT": "AEDT", "WITA": "WITA"}, + timezones: map[string]string{"HECU": "HECU", "AKST": "AKST", "VET": "VET", "EAT": "EAT", "HEOG": "HEOG", "LHDT": "LHDT", "COST": "COST", "HNNOMX": "HNNOMX", "MYT": "MYT", "WESZ": "oarje-Eurohpá geassiáigi", "ART": "ART", "LHST": "LHST", "ChST": "ChST", "SRT": "SRT", "HNT": "HNT", "HEPM": "HEPM", "AEST": "AEST", "AEDT": "AEDT", "NZST": "NZST", "CHAST": "CHAST", "MEZ": "gaska-Eurohpá dábálašáigi", "CST": "CST", "HAST": "HAST", "HAT": "HAT", "CLST": "CLST", "OEZ": "nuorti-Eurohpá dábálašáigi", "UYST": "UYST", "WIB": "WIB", "BT": "BT", "AWST": "AWST", "AWDT": "AWDT", "WAST": "WAST", "OESZ": "nuorti-Eurohpá geassiáigi", "ECT": "ECT", "GYT": "GYT", "MST": "MST", "HADT": "HADT", "HENOMX": "HENOMX", "EST": "EST", "NZDT": "NZDT", "CHADT": "CHADT", "CLT": "CLT", "SGT": "SGT", "CDT": "CDT", "AST": "AST", "ADT": "ADT", "TMST": "TMST", "ACDT": "ACDT", "CAT": "CAT", "WEZ": "oarje-Eurohpá dábálašáigi", "IST": "IST", "JDT": "JDT", "EDT": "EDT", "HNPM": "HNPM", "GFT": "GFT", "WARST": "WARST", "HEPMX": "HEPMX", "UYT": "UYT", "PDT": "PDT", "SAST": "SAST", "WART": "WART", "WITA": "WITA", "JST": "JST", "BOT": "BOT", "TMT": "TMT", "ACST": "ACST", "WAT": "WAT", "COT": "COT", "AKDT": "AKDT", "HKT": "HKT", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "ARST": "ARST", "HKST": "HKST", "WIT": "WIT", "GMT": "Greenwich gaskka áigi", "MDT": "MDT", "ACWST": "ACWST", "HEEG": "HEEG", "HNCU": "HNCU", "HNOG": "HNOG", "PST": "PST", "MESZ": "gaska-Eurohpá geassiáigi"}, } } @@ -404,6 +406,28 @@ func (se *se_SE) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Month()), 10) + + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -412,6 +436,17 @@ func (se *se_SE) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -420,6 +455,17 @@ func (se *se_SE) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -428,6 +474,19 @@ func (se *se_SE) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x20}...) + b = append(b, se.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, se.daysWide[t.Weekday()]...) + return string(b) } @@ -436,6 +495,19 @@ func (se *se_SE) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -444,6 +516,26 @@ func (se *se_SE) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -452,6 +544,30 @@ func (se *se_SE) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -460,5 +576,34 @@ func (se *se_SE) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, se.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, se.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := se.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/seh/seh.go b/seh/seh.go index 69db5959e..aac213f0e 100644 --- a/seh/seh.go +++ b/seh/seh.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MTn", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Aug", "Set", "Otu", "Nov", "Dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janeiro", "Fevreiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Augusto", "Setembro", "Otubro", "Novembro", "Decembro"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Antes de Cristo", "Anno Domini"}, - timezones: map[string]string{"CHAST": "CHAST", "MDT": "MDT", "CAT": "CAT", "PDT": "PDT", "OEZ": "OEZ", "ACST": "ACST", "WART": "WART", "BT": "BT", "UYST": "UYST", "AWST": "AWST", "CLST": "CLST", "CHADT": "CHADT", "WEZ": "WEZ", "WESZ": "WESZ", "AKDT": "AKDT", "EDT": "EDT", "AKST": "AKST", "ACWDT": "ACWDT", "WAST": "WAST", "ADT": "ADT", "MYT": "MYT", "ChST": "ChST", "NZDT": "NZDT", "MEZ": "MEZ", "ACWST": "ACWST", "GMT": "GMT", "NZST": "NZST", "WIB": "WIB", "BOT": "BOT", "AST": "AST", "HKST": "HKST", "AEST": "AEST", "ART": "ART", "TMT": "TMT", "CST": "CST", "GYT": "GYT", "LHDT": "LHDT", "COST": "COST", "AEDT": "AEDT", "EAT": "EAT", "TMST": "TMST", "ARST": "ARST", "HAST": "HAST", "CDT": "CDT", "CLT": "CLT", "JDT": "JDT", "IST": "IST", "WITA": "WITA", "∅∅∅": "∅∅∅", "SGT": "SGT", "MST": "MST", "SAST": "SAST", "HAT": "HAT", "SRT": "SRT", "OESZ": "OESZ", "VET": "VET", "WARST": "WARST", "JST": "JST", "HKT": "HKT", "EST": "EST", "HNT": "HNT", "AWDT": "AWDT", "WIT": "WIT", "ACDT": "ACDT", "HADT": "HADT", "MESZ": "MESZ", "WAT": "WAT", "PST": "PST", "UYT": "UYT", "LHST": "LHST", "GFT": "GFT", "COT": "COT", "ECT": "ECT"}, + timezones: map[string]string{"JDT": "JDT", "HNEG": "HNEG", "ECT": "ECT", "WIT": "WIT", "BT": "BT", "ACWST": "ACWST", "COT": "COT", "HEPMX": "HEPMX", "HAT": "HAT", "AEST": "AEST", "UYT": "UYT", "MESZ": "MESZ", "NZDT": "NZDT", "ChST": "ChST", "ACST": "ACST", "HNCU": "HNCU", "MDT": "MDT", "AKDT": "AKDT", "GYT": "GYT", "COST": "COST", "CST": "CST", "UYST": "UYST", "HADT": "HADT", "WESZ": "WESZ", "HNOG": "HNOG", "LHST": "LHST", "LHDT": "LHDT", "BOT": "BOT", "MST": "MST", "ACWDT": "ACWDT", "AWDT": "AWDT", "HKT": "HKT", "HNPM": "HNPM", "NZST": "NZST", "WARST": "WARST", "AKST": "AKST", "WEZ": "WEZ", "SAST": "SAST", "GFT": "GFT", "TMT": "TMT", "WAST": "WAST", "OEZ": "OEZ", "WIB": "WIB", "HEOG": "HEOG", "HKST": "HKST", "JST": "JST", "EAT": "EAT", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "ADT": "ADT", "HAST": "HAST", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "EST": "EST", "TMST": "TMST", "SGT": "SGT", "EDT": "EDT", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "HECU": "HECU", "VET": "VET", "ART": "ART", "CLST": "CLST", "AEDT": "AEDT", "AWST": "AWST", "WITA": "WITA", "HEPM": "HEPM", "CLT": "CLT", "HEEG": "HEEG", "OESZ": "OESZ", "WART": "WART", "PDT": "PDT", "ARST": "ARST", "MEZ": "MEZ", "IST": "IST", "GMT": "GMT", "CDT": "CDT", "AST": "AST", "MYT": "MYT", "HNT": "HNT", "CAT": "CAT", "WAT": "WAT", "SRT": "SRT", "PST": "PST", "CHADT": "CHADT"}, } } @@ -314,7 +314,12 @@ func (seh *seh) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -330,7 +335,12 @@ func (seh *seh) FmtDateMedium(t time.Time) string { b = append(b, seh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +356,12 @@ func (seh *seh) FmtDateLong(t time.Time) string { b = append(b, seh.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +379,12 @@ func (seh *seh) FmtDateFull(t time.Time) string { b = append(b, seh.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/seh_MZ/seh_MZ.go b/seh_MZ/seh_MZ.go index 29625da09..051da38b2 100644 --- a/seh_MZ/seh_MZ.go +++ b/seh_MZ/seh_MZ.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Aug", "Set", "Otu", "Nov", "Dec"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Janeiro", "Fevreiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Augusto", "Setembro", "Otubro", "Novembro", "Decembro"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"Antes de Cristo", "Anno Domini"}, - timezones: map[string]string{"AKST": "AKST", "NZST": "NZST", "WESZ": "WESZ", "WARST": "WARST", "AEST": "AEST", "JDT": "JDT", "LHST": "LHST", "OEZ": "OEZ", "NZDT": "NZDT", "SGT": "SGT", "ACWST": "ACWST", "AKDT": "AKDT", "WEZ": "WEZ", "COST": "COST", "ACDT": "ACDT", "ARST": "ARST", "TMT": "TMT", "CLST": "CLST", "∅∅∅": "∅∅∅", "SRT": "SRT", "TMST": "TMST", "EST": "EST", "CST": "CST", "BOT": "BOT", "BT": "BT", "WIB": "WIB", "ART": "ART", "HAST": "HAST", "UYT": "UYT", "VET": "VET", "MEZ": "MEZ", "IST": "IST", "PST": "PST", "MYT": "MYT", "MDT": "MDT", "ChST": "ChST", "GMT": "GMT", "GFT": "GFT", "OESZ": "OESZ", "EAT": "EAT", "UYST": "UYST", "CHADT": "CHADT", "WART": "WART", "CHAST": "CHAST", "HKT": "HKT", "WAST": "WAST", "HNT": "HNT", "WIT": "WIT", "MST": "MST", "WITA": "WITA", "COT": "COT", "ECT": "ECT", "SAST": "SAST", "CLT": "CLT", "MESZ": "MESZ", "ADT": "ADT", "LHDT": "LHDT", "CDT": "CDT", "EDT": "EDT", "PDT": "PDT", "WAT": "WAT", "CAT": "CAT", "ACST": "ACST", "HADT": "HADT", "JST": "JST", "HKST": "HKST", "ACWDT": "ACWDT", "AEDT": "AEDT", "AST": "AST", "HAT": "HAT", "AWST": "AWST", "AWDT": "AWDT", "GYT": "GYT"}, + timezones: map[string]string{"WITA": "WITA", "MST": "MST", "VET": "VET", "ACWDT": "ACWDT", "HNPM": "HNPM", "ACST": "ACST", "HNNOMX": "HNNOMX", "HECU": "HECU", "UYST": "UYST", "ART": "ART", "JST": "JST", "ACDT": "ACDT", "OESZ": "OESZ", "GMT": "GMT", "EST": "EST", "HEPMX": "HEPMX", "AWDT": "AWDT", "WAST": "WAST", "SGT": "SGT", "HAST": "HAST", "HAT": "HAT", "PST": "PST", "WIT": "WIT", "HKT": "HKT", "CHADT": "CHADT", "MESZ": "MESZ", "HNPMX": "HNPMX", "CST": "CST", "CDT": "CDT", "CLT": "CLT", "HNOG": "HNOG", "PDT": "PDT", "ACWST": "ACWST", "HEPM": "HEPM", "CHAST": "CHAST", "NZST": "NZST", "WESZ": "WESZ", "AEDT": "AEDT", "∅∅∅": "∅∅∅", "ADT": "ADT", "AKST": "AKST", "LHDT": "LHDT", "SAST": "SAST", "COST": "COST", "SRT": "SRT", "HNT": "HNT", "NZDT": "NZDT", "CLST": "CLST", "AKDT": "AKDT", "ARST": "ARST", "UYT": "UYT", "BT": "BT", "AEST": "AEST", "HNEG": "HNEG", "CAT": "CAT", "WARST": "WARST", "COT": "COT", "MYT": "MYT", "WEZ": "WEZ", "AWST": "AWST", "LHST": "LHST", "IST": "IST", "ECT": "ECT", "HENOMX": "HENOMX", "WIB": "WIB", "HKST": "HKST", "GFT": "GFT", "ChST": "ChST", "MDT": "MDT", "AST": "AST", "TMST": "TMST", "BOT": "BOT", "EDT": "EDT", "GYT": "GYT", "JDT": "JDT", "OEZ": "OEZ", "HNCU": "HNCU", "HEOG": "HEOG", "HADT": "HADT", "MEZ": "MEZ", "TMT": "TMT", "HEEG": "HEEG", "EAT": "EAT", "WAT": "WAT", "WART": "WART"}, } } @@ -314,7 +314,12 @@ func (seh *seh_MZ) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -330,7 +335,12 @@ func (seh *seh_MZ) FmtDateMedium(t time.Time) string { b = append(b, seh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +356,12 @@ func (seh *seh_MZ) FmtDateLong(t time.Time) string { b = append(b, seh.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -364,7 +379,12 @@ func (seh *seh_MZ) FmtDateFull(t time.Time) string { b = append(b, seh.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0x64, 0x65}...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ses/ses.go b/ses/ses.go index 208276527..2542204d7 100644 --- a/ses/ses.go +++ b/ses/ses.go @@ -48,7 +48,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"AKDT": "AKDT", "BOT": "BOT", "AWST": "AWST", "UYST": "UYST", "WESZ": "WESZ", "AEDT": "AEDT", "WEZ": "WEZ", "ART": "ART", "EDT": "EDT", "PDT": "PDT", "GYT": "GYT", "BT": "BT", "CLT": "CLT", "JST": "JST", "ECT": "ECT", "SAST": "SAST", "ACST": "ACST", "ACDT": "ACDT", "HAST": "HAST", "HADT": "HADT", "ACWDT": "ACWDT", "WAST": "WAST", "IST": "IST", "SGT": "SGT", "COST": "COST", "AEST": "AEST", "EST": "EST", "ChST": "ChST", "TMST": "TMST", "MDT": "MDT", "AWDT": "AWDT", "UYT": "UYT", "OESZ": "OESZ", "WART": "WART", "AST": "AST", "TMT": "TMT", "GMT": "GMT", "OEZ": "OEZ", "HNT": "HNT", "HAT": "HAT", "LHDT": "LHDT", "HKST": "HKST", "PST": "PST", "CST": "CST", "MYT": "MYT", "NZST": "NZST", "NZDT": "NZDT", "WIT": "WIT", "COT": "COT", "VET": "VET", "WIB": "WIB", "WARST": "WARST", "EAT": "EAT", "WITA": "WITA", "∅∅∅": "∅∅∅", "CAT": "CAT", "MEZ": "MEZ", "AKST": "AKST", "CHAST": "CHAST", "GFT": "GFT", "SRT": "SRT", "WAT": "WAT", "MST": "MST", "HKT": "HKT", "CHADT": "CHADT", "ARST": "ARST", "LHST": "LHST", "ACWST": "ACWST", "ADT": "ADT", "CDT": "CDT", "CLST": "CLST", "JDT": "JDT", "MESZ": "MESZ"}, + timezones: map[string]string{"NZST": "NZST", "JST": "JST", "WAST": "WAST", "WIB": "WIB", "ART": "ART", "LHDT": "LHDT", "ACST": "ACST", "EAT": "EAT", "WART": "WART", "GMT": "GMT", "CDT": "CDT", "HNOG": "HNOG", "SAST": "SAST", "HNPMX": "HNPMX", "AST": "AST", "GYT": "GYT", "HEPMX": "HEPMX", "HAT": "HAT", "LHST": "LHST", "JDT": "JDT", "GFT": "GFT", "TMT": "TMT", "WARST": "WARST", "EST": "EST", "AWST": "AWST", "CHAST": "CHAST", "BOT": "BOT", "MEZ": "MEZ", "CLT": "CLT", "HNCU": "HNCU", "CST": "CST", "∅∅∅": "∅∅∅", "SGT": "SGT", "AKST": "AKST", "AKDT": "AKDT", "ADT": "ADT", "AEST": "AEST", "ChST": "ChST", "COT": "COT", "HEOG": "HEOG", "AEDT": "AEDT", "HKST": "HKST", "MESZ": "MESZ", "MYT": "MYT", "WIT": "WIT", "HNEG": "HNEG", "BT": "BT", "HNT": "HNT", "HEPM": "HEPM", "NZDT": "NZDT", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "UYST": "UYST", "PDT": "PDT", "WITA": "WITA", "WESZ": "WESZ", "ARST": "ARST", "ECT": "ECT", "COST": "COST", "HECU": "HECU", "MDT": "MDT", "HADT": "HADT", "WEZ": "WEZ", "PST": "PST", "CHADT": "CHADT", "CLST": "CLST", "ACDT": "ACDT", "OEZ": "OEZ", "OESZ": "OESZ", "MST": "MST", "CAT": "CAT", "UYT": "UYT", "SRT": "SRT", "AWDT": "AWDT", "HKT": "HKT", "HNPM": "HNPM", "IST": "IST", "WAT": "WAT", "HENOMX": "HENOMX", "EDT": "EDT", "VET": "VET", "ACWST": "ACWST", "TMST": "TMST", "HAST": "HAST", "ACWDT": "ACWDT"}, } } @@ -312,7 +312,12 @@ func (ses *ses) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (ses *ses) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +350,12 @@ func (ses *ses) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +371,12 @@ func (ses *ses) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ses_ML/ses_ML.go b/ses_ML/ses_ML.go index 66e275f01..b73dddc64 100644 --- a/ses_ML/ses_ML.go +++ b/ses_ML/ses_ML.go @@ -48,7 +48,7 @@ func New() locales.Translator { pluralsRange: nil, group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"SAST": "SAST", "EST": "EST", "∅∅∅": "∅∅∅", "NZST": "NZST", "NZDT": "NZDT", "ECT": "ECT", "CST": "CST", "HKST": "HKST", "SGT": "SGT", "AEDT": "AEDT", "WAT": "WAT", "PST": "PST", "AST": "AST", "JDT": "JDT", "VET": "VET", "WIB": "WIB", "AEST": "AEST", "IST": "IST", "MST": "MST", "UYST": "UYST", "WEZ": "WEZ", "ACDT": "ACDT", "MDT": "MDT", "HNT": "HNT", "CLST": "CLST", "UYT": "UYT", "AWST": "AWST", "HAT": "HAT", "MEZ": "MEZ", "WARST": "WARST", "WAST": "WAST", "TMST": "TMST", "MYT": "MYT", "ChST": "ChST", "BT": "BT", "CLT": "CLT", "JST": "JST", "WESZ": "WESZ", "ART": "ART", "PDT": "PDT", "CAT": "CAT", "OESZ": "OESZ", "SRT": "SRT", "ACWDT": "ACWDT", "WITA": "WITA", "LHDT": "LHDT", "HADT": "HADT", "EDT": "EDT", "GYT": "GYT", "WIT": "WIT", "ACST": "ACST", "COST": "COST", "AKDT": "AKDT", "AWDT": "AWDT", "LHST": "LHST", "HKT": "HKT", "ACWST": "ACWST", "ARST": "ARST", "WART": "WART", "BOT": "BOT", "OEZ": "OEZ", "CHADT": "CHADT", "MESZ": "MESZ", "HAST": "HAST", "ADT": "ADT", "COT": "COT", "EAT": "EAT", "AKST": "AKST", "TMT": "TMT", "GMT": "GMT", "CHAST": "CHAST", "GFT": "GFT", "CDT": "CDT"}, + timezones: map[string]string{"MESZ": "MESZ", "TMT": "TMT", "HADT": "HADT", "NZST": "NZST", "JDT": "JDT", "BOT": "BOT", "WIT": "WIT", "WEZ": "WEZ", "WESZ": "WESZ", "HAT": "HAT", "HEPM": "HEPM", "HEEG": "HEEG", "HNPMX": "HNPMX", "WIB": "WIB", "HNT": "HNT", "MEZ": "MEZ", "IST": "IST", "JST": "JST", "ChST": "ChST", "ECT": "ECT", "GMT": "GMT", "HNCU": "HNCU", "MDT": "MDT", "UYST": "UYST", "AST": "AST", "HAST": "HAST", "AWDT": "AWDT", "LHST": "LHST", "CHADT": "CHADT", "SAST": "SAST", "WAST": "WAST", "HECU": "HECU", "PST": "PST", "ACWST": "ACWST", "WAT": "WAT", "HENOMX": "HENOMX", "HEPMX": "HEPMX", "CDT": "CDT", "ADT": "ADT", "GYT": "GYT", "HEOG": "HEOG", "AWST": "AWST", "HKST": "HKST", "HNEG": "HNEG", "AKST": "AKST", "VET": "VET", "AEDT": "AEDT", "OESZ": "OESZ", "WART": "WART", "MYT": "MYT", "BT": "BT", "PDT": "PDT", "HNPM": "HNPM", "CAT": "CAT", "COT": "COT", "SRT": "SRT", "NZDT": "NZDT", "GFT": "GFT", "ACWDT": "ACWDT", "ARST": "ARST", "HNOG": "HNOG", "WITA": "WITA", "OEZ": "OEZ", "LHDT": "LHDT", "TMST": "TMST", "AKDT": "AKDT", "ART": "ART", "AEST": "AEST", "CLT": "CLT", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "EDT": "EDT", "HKT": "HKT", "WARST": "WARST", "MST": "MST", "EST": "EST", "CHAST": "CHAST", "CLST": "CLST", "∅∅∅": "∅∅∅", "ACST": "ACST", "EAT": "EAT", "COST": "COST", "SGT": "SGT", "UYT": "UYT", "CST": "CST"}, } } @@ -312,7 +312,12 @@ func (ses *ses_ML) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (ses *ses_ML) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -340,7 +350,12 @@ func (ses *ses_ML) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +371,12 @@ func (ses *ses_ML) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ses.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sg/sg.go b/sg/sg.go index 22cb3fe2f..2d2b04b25 100644 --- a/sg/sg.go +++ b/sg/sg.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Nye", "Ful", "Mbä", "Ngu", "Bêl", "Fön", "Len", "Kük", "Mvu", "Ngb", "Nab", "Kak"}, monthsNarrow: []string{"", "N", "F", "M", "N", "B", "F", "L", "K", "M", "N", "N", "K"}, monthsWide: []string{"", "Nyenye", "Fulundïgi", "Mbängü", "Ngubùe", "Bêläwü", "Föndo", "Lengua", "Kükürü", "Mvuka", "Ngberere", "Nabändüru", "Kakauka"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KnK", "NpK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kôzo na Krîstu", "Na pekô tî Krîstu"}, - timezones: map[string]string{"VET": "VET", "PDT": "PDT", "MDT": "MDT", "HNT": "HNT", "OESZ": "OESZ", "EST": "EST", "AST": "AST", "IST": "IST", "ECT": "ECT", "HAST": "HAST", "ADT": "ADT", "WAT": "WAT", "JDT": "JDT", "ACDT": "ACDT", "ARST": "ARST", "NZST": "NZST", "LHDT": "LHDT", "WARST": "WARST", "AKST": "AKST", "TMST": "TMST", "TMT": "TMT", "BT": "BT", "AWST": "AWST", "UYT": "UYT", "COT": "COT", "PST": "PST", "AKDT": "AKDT", "CDT": "CDT", "CHADT": "CHADT", "HAT": "HAT", "UYST": "UYST", "GFT": "GFT", "HADT": "HADT", "AEDT": "AEDT", "SAST": "SAST", "WAST": "WAST", "AWDT": "AWDT", "ACST": "ACST", "COST": "COST", "CLST": "CLST", "OEZ": "OEZ", "CHAST": "CHAST", "WART": "WART", "NZDT": "NZDT", "LHST": "LHST", "CST": "CST", "MST": "MST", "ChST": "ChST", "BOT": "BOT", "HKST": "HKST", "CLT": "CLT", "JST": "JST", "WIB": "WIB", "AEST": "AEST", "ART": "ART", "EAT": "EAT", "∅∅∅": "∅∅∅", "SRT": "SRT", "WESZ": "WESZ", "MESZ": "MESZ", "ACWDT": "ACWDT", "WITA": "WITA", "WIT": "WIT", "CAT": "CAT", "SGT": "SGT", "EDT": "EDT", "GYT": "GYT", "MYT": "MYT", "HKT": "HKT", "MEZ": "MEZ", "ACWST": "ACWST", "GMT": "GMT", "WEZ": "WEZ"}, + timezones: map[string]string{"UYT": "UYT", "WESZ": "WESZ", "IST": "IST", "CLT": "CLT", "OEZ": "OEZ", "HECU": "HECU", "WIT": "WIT", "AEDT": "AEDT", "AWST": "AWST", "MESZ": "MESZ", "HNCU": "HNCU", "HNPMX": "HNPMX", "PDT": "PDT", "LHST": "LHST", "JST": "JST", "EAT": "EAT", "∅∅∅": "∅∅∅", "HEOG": "HEOG", "WITA": "WITA", "HEPM": "HEPM", "NZDT": "NZDT", "GMT": "GMT", "HNOG": "HNOG", "SAST": "SAST", "OESZ": "OESZ", "WARST": "WARST", "MDT": "MDT", "HADT": "HADT", "ACWST": "ACWST", "WEZ": "WEZ", "HEEG": "HEEG", "PST": "PST", "NZST": "NZST", "BOT": "BOT", "ECT": "ECT", "HENOMX": "HENOMX", "EST": "EST", "GYT": "GYT", "HKST": "HKST", "HNEG": "HNEG", "TMT": "TMT", "ACST": "ACST", "CAT": "CAT", "CDT": "CDT", "AST": "AST", "ADT": "ADT", "MYT": "MYT", "HKT": "HKT", "TMST": "TMST", "ChST": "ChST", "WAST": "WAST", "MST": "MST", "UYST": "UYST", "ARST": "ARST", "HNPM": "HNPM", "LHDT": "LHDT", "WART": "WART", "COT": "COT", "WIB": "WIB", "HAST": "HAST", "COST": "COST", "GFT": "GFT", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "SRT": "SRT", "HNT": "HNT", "AEST": "AEST", "AWDT": "AWDT", "WAT": "WAT", "SGT": "SGT", "EDT": "EDT", "AKST": "AKST", "ART": "ART", "CHADT": "CHADT", "AKDT": "AKDT", "BT": "BT", "ACWDT": "ACWDT", "CLST": "CLST", "CST": "CST", "HAT": "HAT", "MEZ": "MEZ", "VET": "VET", "CHAST": "CHAST", "JDT": "JDT", "ACDT": "ACDT"}, } } @@ -314,7 +314,12 @@ func (sg *sg) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -328,7 +333,12 @@ func (sg *sg) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +352,12 @@ func (sg *sg) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +373,12 @@ func (sg *sg) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sg_CF/sg_CF.go b/sg_CF/sg_CF.go index 5e6941198..3648394aa 100644 --- a/sg_CF/sg_CF.go +++ b/sg_CF/sg_CF.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: ".", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Nye", "Ful", "Mbä", "Ngu", "Bêl", "Fön", "Len", "Kük", "Mvu", "Ngb", "Nab", "Kak"}, monthsNarrow: []string{"", "N", "F", "M", "N", "B", "F", "L", "K", "M", "N", "N", "K"}, monthsWide: []string{"", "Nyenye", "Fulundïgi", "Mbängü", "Ngubùe", "Bêläwü", "Föndo", "Lengua", "Kükürü", "Mvuka", "Ngberere", "Nabändüru", "Kakauka"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KnK", "NpK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kôzo na Krîstu", "Na pekô tî Krîstu"}, - timezones: map[string]string{"AWDT": "AWDT", "CAT": "CAT", "HKST": "HKST", "∅∅∅": "∅∅∅", "HKT": "HKT", "COST": "COST", "ACWDT": "ACWDT", "ADT": "ADT", "EAT": "EAT", "BOT": "BOT", "AWST": "AWST", "SRT": "SRT", "ECT": "ECT", "WARST": "WARST", "AKDT": "AKDT", "ChST": "ChST", "ART": "ART", "MYT": "MYT", "HNT": "HNT", "JST": "JST", "PDT": "PDT", "AST": "AST", "AEST": "AEST", "WART": "WART", "WAST": "WAST", "EDT": "EDT", "MEZ": "MEZ", "WAT": "WAT", "HAT": "HAT", "LHDT": "LHDT", "CST": "CST", "CLST": "CLST", "OESZ": "OESZ", "AKST": "AKST", "MDT": "MDT", "BT": "BT", "HADT": "HADT", "UYST": "UYST", "JDT": "JDT", "GMT": "GMT", "GFT": "GFT", "SAST": "SAST", "WIT": "WIT", "UYT": "UYT", "LHST": "LHST", "MST": "MST", "OEZ": "OEZ", "PST": "PST", "NZST": "NZST", "WESZ": "WESZ", "SGT": "SGT", "COT": "COT", "MESZ": "MESZ", "ACDT": "ACDT", "CDT": "CDT", "GYT": "GYT", "CHADT": "CHADT", "WIB": "WIB", "ACST": "ACST", "ACWST": "ACWST", "IST": "IST", "TMT": "TMT", "CLT": "CLT", "WEZ": "WEZ", "TMST": "TMST", "CHAST": "CHAST", "VET": "VET", "AEDT": "AEDT", "ARST": "ARST", "WITA": "WITA", "HAST": "HAST", "EST": "EST", "NZDT": "NZDT"}, + timezones: map[string]string{"HKT": "HKT", "CLST": "CLST", "SGT": "SGT", "HNCU": "HNCU", "HAT": "HAT", "WIT": "WIT", "BT": "BT", "MESZ": "MESZ", "JST": "JST", "TMT": "TMT", "CST": "CST", "HNOG": "HNOG", "HEPM": "HEPM", "ACST": "ACST", "WIB": "WIB", "HAST": "HAST", "UYT": "UYT", "PDT": "PDT", "WITA": "WITA", "JDT": "JDT", "ECT": "ECT", "MST": "MST", "LHDT": "LHDT", "ARST": "ARST", "HNNOMX": "HNNOMX", "ACWDT": "ACWDT", "AWDT": "AWDT", "NZDT": "NZDT", "IST": "IST", "∅∅∅": "∅∅∅", "HNT": "HNT", "HEOG": "HEOG", "SAST": "SAST", "CLT": "CLT", "WAT": "WAT", "CDT": "CDT", "WARST": "WARST", "EST": "EST", "UYST": "UYST", "HADT": "HADT", "HNEG": "HNEG", "EAT": "EAT", "CAT": "CAT", "WART": "WART", "WAST": "WAST", "OEZ": "OEZ", "GMT": "GMT", "AKST": "AKST", "AWST": "AWST", "CHAST": "CHAST", "CHADT": "CHADT", "GFT": "GFT", "VET": "VET", "WESZ": "WESZ", "HKST": "HKST", "COT": "COT", "HECU": "HECU", "WEZ": "WEZ", "HNPMX": "HNPMX", "EDT": "EDT", "ADT": "ADT", "ACDT": "ACDT", "OESZ": "OESZ", "COST": "COST", "MDT": "MDT", "AKDT": "AKDT", "MYT": "MYT", "SRT": "SRT", "ACWST": "ACWST", "BOT": "BOT", "TMST": "TMST", "ChST": "ChST", "HEPMX": "HEPMX", "PST": "PST", "HEEG": "HEEG", "AST": "AST", "AEDT": "AEDT", "HNPM": "HNPM", "LHST": "LHST", "NZST": "NZST", "ART": "ART", "AEST": "AEST", "MEZ": "MEZ", "HENOMX": "HENOMX", "GYT": "GYT"}, } } @@ -314,7 +314,12 @@ func (sg *sg_CF) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -328,7 +333,12 @@ func (sg *sg_CF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +352,12 @@ func (sg *sg_CF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -358,7 +373,12 @@ func (sg *sg_CF) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sg.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/shi/shi.go b/shi/shi.go index 04ea5bda0..f2c293bdf 100644 --- a/shi/shi.go +++ b/shi/shi.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"AKDT": "AKDT", "EDT": "EDT", "CLST": "CLST", "WIT": "WIT", "LHST": "LHST", "UYT": "UYT", "WEZ": "WEZ", "CHADT": "CHADT", "MST": "MST", "AWST": "AWST", "EAT": "EAT", "WAST": "WAST", "WESZ": "WESZ", "GFT": "GFT", "SAST": "SAST", "MDT": "MDT", "BOT": "BOT", "WIB": "WIB", "GYT": "GYT", "NZST": "NZST", "LHDT": "LHDT", "OEZ": "OEZ", "CHAST": "CHAST", "NZDT": "NZDT", "AEDT": "AEDT", "ARST": "ARST", "WARST": "WARST", "TMT": "TMT", "AWDT": "AWDT", "GMT": "GMT", "SRT": "SRT", "BT": "BT", "OESZ": "OESZ", "HAST": "HAST", "WAT": "WAT", "EST": "EST", "CLT": "CLT", "MEZ": "MEZ", "ACST": "ACST", "VET": "VET", "HADT": "HADT", "ART": "ART", "IST": "IST", "CDT": "CDT", "HAT": "HAT", "MESZ": "MESZ", "ACWST": "ACWST", "PST": "PST", "WITA": "WITA", "JDT": "JDT", "ACDT": "ACDT", "SGT": "SGT", "AKST": "AKST", "CST": "CST", "JST": "JST", "AST": "AST", "MYT": "MYT", "ECT": "ECT", "PDT": "PDT", "TMST": "TMST", "HKT": "HKT", "COT": "COT", "COST": "COST", "ADT": "ADT", "CAT": "CAT", "HNT": "HNT", "UYST": "UYST", "ACWDT": "ACWDT", "AEST": "AEST", "WART": "WART", "∅∅∅": "∅∅∅", "ChST": "ChST", "HKST": "HKST"}, + timezones: map[string]string{"HEOG": "HEOG", "WITA": "WITA", "MESZ": "MESZ", "ACDT": "ACDT", "HNNOMX": "HNNOMX", "GYT": "GYT", "SRT": "SRT", "TMT": "TMT", "COT": "COT", "AST": "AST", "HNOG": "HNOG", "ACWST": "ACWST", "JDT": "JDT", "CAT": "CAT", "MST": "MST", "WIB": "WIB", "PST": "PST", "AEDT": "AEDT", "HKT": "HKT", "HKST": "HKST", "LHST": "LHST", "WAT": "WAT", "AKDT": "AKDT", "HNCU": "HNCU", "HNPM": "HNPM", "NZDT": "NZDT", "TMST": "TMST", "WARST": "WARST", "AWST": "AWST", "MDT": "MDT", "ART": "ART", "IST": "IST", "EST": "EST", "HADT": "HADT", "CLT": "CLT", "BOT": "BOT", "HNPMX": "HNPMX", "PDT": "PDT", "HAT": "HAT", "AEST": "AEST", "AWDT": "AWDT", "HEPM": "HEPM", "NZST": "NZST", "∅∅∅": "∅∅∅", "HEPMX": "HEPMX", "EAT": "EAT", "HENOMX": "HENOMX", "ECT": "ECT", "ChST": "ChST", "OESZ": "OESZ", "EDT": "EDT", "HNEG": "HNEG", "HEEG": "HEEG", "WAST": "WAST", "ADT": "ADT", "UYST": "UYST", "CST": "CST", "CHAST": "CHAST", "ACST": "ACST", "OEZ": "OEZ", "WART": "WART", "MYT": "MYT", "CLST": "CLST", "ACWDT": "ACWDT", "CDT": "CDT", "WIT": "WIT", "ARST": "ARST", "HNT": "HNT", "MEZ": "MEZ", "HECU": "HECU", "AKST": "AKST", "BT": "BT", "COST": "COST", "SGT": "SGT", "VET": "VET", "WESZ": "WESZ", "GFT": "GFT", "GMT": "GMT", "WEZ": "WEZ", "HAST": "HAST", "LHDT": "LHDT", "CHADT": "CHADT", "SAST": "SAST", "JST": "JST", "UYT": "UYT"}, } } @@ -322,7 +322,12 @@ func (shi *shi) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (shi *shi) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (shi *shi) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (shi *shi) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/shi_Latn/shi_Latn.go b/shi_Latn/shi_Latn.go index b41bdd742..343227983 100644 --- a/shi_Latn/shi_Latn.go +++ b/shi_Latn/shi_Latn.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "inn", "bṛa", "maṛ", "ibr", "may", "yun", "yul", "ɣuc", "cut", "ktu", "nuw", "duj"}, monthsNarrow: []string{"", "i", "b", "m", "i", "m", "y", "y", "ɣ", "c", "k", "n", "d"}, monthsWide: []string{"", "innayr", "bṛayṛ", "maṛṣ", "ibrir", "mayyu", "yunyu", "yulyuz", "ɣuct", "cutanbir", "ktubr", "nuwanbir", "dujanbir"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"daɛ", "dfɛ"}, erasNarrow: []string{"", ""}, erasWide: []string{"dat n ɛisa", "dffir n ɛisa"}, - timezones: map[string]string{"CHAST": "CHAST", "OEZ": "OEZ", "ACDT": "ACDT", "TMT": "TMT", "CST": "CST", "CAT": "CAT", "JDT": "JDT", "COT": "COT", "MEZ": "MEZ", "EDT": "EDT", "NZDT": "NZDT", "ACST": "ACST", "SGT": "SGT", "WAT": "WAT", "AKDT": "AKDT", "PST": "PST", "MYT": "MYT", "WEZ": "WEZ", "ECT": "ECT", "IST": "IST", "AWST": "AWST", "OESZ": "OESZ", "VET": "VET", "WARST": "WARST", "EAT": "EAT", "NZST": "NZST", "HAT": "HAT", "UYST": "UYST", "ADT": "ADT", "∅∅∅": "∅∅∅", "CDT": "CDT", "ChST": "ChST", "WIT": "WIT", "ACWST": "ACWST", "WAST": "WAST", "MST": "MST", "CLT": "CLT", "HKT": "HKT", "WIB": "WIB", "MESZ": "MESZ", "LHDT": "LHDT", "JST": "JST", "SAST": "SAST", "AST": "AST", "TMST": "TMST", "EST": "EST", "UYT": "UYT", "GFT": "GFT", "SRT": "SRT", "COST": "COST", "AEST": "AEST", "ART": "ART", "WART": "WART", "WITA": "WITA", "GMT": "GMT", "HKST": "HKST", "ACWDT": "ACWDT", "PDT": "PDT", "BT": "BT", "AWDT": "AWDT", "HNT": "HNT", "AEDT": "AEDT", "HADT": "HADT", "GYT": "GYT", "MDT": "MDT", "BOT": "BOT", "CHADT": "CHADT", "ARST": "ARST", "HAST": "HAST", "AKST": "AKST", "CLST": "CLST", "LHST": "LHST", "WESZ": "WESZ"}, + timezones: map[string]string{"NZDT": "NZDT", "CLST": "CLST", "ChST": "ChST", "GYT": "GYT", "CAT": "CAT", "WART": "WART", "AWDT": "AWDT", "JST": "JST", "HNEG": "HNEG", "ACST": "ACST", "MDT": "MDT", "UYST": "UYST", "AKST": "AKST", "AST": "AST", "ADT": "ADT", "ACDT": "ACDT", "HECU": "HECU", "CST": "CST", "WIB": "WIB", "SRT": "SRT", "HAT": "HAT", "WITA": "WITA", "∅∅∅": "∅∅∅", "COT": "COT", "HNT": "HNT", "AWST": "AWST", "CHADT": "CHADT", "HEEG": "HEEG", "BT": "BT", "LHDT": "LHDT", "EDT": "EDT", "PST": "PST", "UYT": "UYT", "HADT": "HADT", "WIT": "WIT", "HEPM": "HEPM", "MESZ": "MESZ", "CHAST": "CHAST", "ECT": "ECT", "MST": "MST", "IST": "IST", "ARST": "ARST", "HKST": "HKST", "WAT": "WAT", "WARST": "WARST", "HNPMX": "HNPMX", "MYT": "MYT", "AEDT": "AEDT", "CLT": "CLT", "HENOMX": "HENOMX", "HNCU": "HNCU", "HNOG": "HNOG", "NZST": "NZST", "TMST": "TMST", "SGT": "SGT", "AEST": "AEST", "HKT": "HKT", "EST": "EST", "HEOG": "HEOG", "WAST": "WAST", "COST": "COST", "VET": "VET", "HNPM": "HNPM", "SAST": "SAST", "JDT": "JDT", "BOT": "BOT", "GFT": "GFT", "AKDT": "AKDT", "WEZ": "WEZ", "WESZ": "WESZ", "ART": "ART", "LHST": "LHST", "OESZ": "OESZ", "GMT": "GMT", "EAT": "EAT", "OEZ": "OEZ", "HEPMX": "HEPMX", "ACWST": "ACWST", "MEZ": "MEZ", "TMT": "TMT", "HNNOMX": "HNNOMX", "PDT": "PDT", "ACWDT": "ACWDT", "CDT": "CDT", "HAST": "HAST"}, } } @@ -322,7 +322,12 @@ func (shi *shi_Latn) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (shi *shi_Latn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (shi *shi_Latn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (shi *shi_Latn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/shi_Latn_MA/shi_Latn_MA.go b/shi_Latn_MA/shi_Latn_MA.go index 22d2c8011..a700ccd98 100644 --- a/shi_Latn_MA/shi_Latn_MA.go +++ b/shi_Latn_MA/shi_Latn_MA.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"UYST": "UYST", "JST": "JST", "ACWST": "ACWST", "WAST": "WAST", "TMST": "TMST", "CLT": "CLT", "CLST": "CLST", "OESZ": "OESZ", "WARST": "WARST", "AST": "AST", "WESZ": "WESZ", "EST": "EST", "ADT": "ADT", "CDT": "CDT", "GYT": "GYT", "UYT": "UYT", "WIB": "WIB", "ACST": "ACST", "PST": "PST", "OEZ": "OEZ", "ACWDT": "ACWDT", "EDT": "EDT", "IST": "IST", "WITA": "WITA", "LHST": "LHST", "LHDT": "LHDT", "ACDT": "ACDT", "ART": "ART", "WART": "WART", "TMT": "TMT", "NZDT": "NZDT", "∅∅∅": "∅∅∅", "SRT": "SRT", "PDT": "PDT", "EAT": "EAT", "ChST": "ChST", "HKT": "HKT", "MESZ": "MESZ", "AKST": "AKST", "WIT": "WIT", "GMT": "GMT", "WEZ": "WEZ", "AEST": "AEST", "AEDT": "AEDT", "MST": "MST", "BT": "BT", "CHAST": "CHAST", "AKDT": "AKDT", "MYT": "MYT", "CST": "CST", "NZST": "NZST", "HAT": "HAT", "VET": "VET", "HAST": "HAST", "HADT": "HADT", "AWST": "AWST", "AWDT": "AWDT", "HNT": "HNT", "ECT": "ECT", "JDT": "JDT", "WAT": "WAT", "COT": "COT", "ARST": "ARST", "MDT": "MDT", "BOT": "BOT", "GFT": "GFT", "HKST": "HKST", "SGT": "SGT", "CAT": "CAT", "MEZ": "MEZ", "SAST": "SAST", "CHADT": "CHADT", "COST": "COST"}, + timezones: map[string]string{"CHAST": "CHAST", "SGT": "SGT", "OESZ": "OESZ", "GYT": "GYT", "HAT": "HAT", "ART": "ART", "CAT": "CAT", "WAT": "WAT", "HKT": "HKT", "NZDT": "NZDT", "MST": "MST", "AKDT": "AKDT", "MEZ": "MEZ", "NZST": "NZST", "HEPMX": "HEPMX", "WIT": "WIT", "IST": "IST", "HNEG": "HNEG", "EAT": "EAT", "WARST": "WARST", "WITA": "WITA", "LHST": "LHST", "WAST": "WAST", "EDT": "EDT", "HENOMX": "HENOMX", "BT": "BT", "SRT": "SRT", "HEPM": "HEPM", "MESZ": "MESZ", "LHDT": "LHDT", "COT": "COT", "CLST": "CLST", "JDT": "JDT", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "PDT": "PDT", "AEST": "AEST", "CHADT": "CHADT", "SAST": "SAST", "CST": "CST", "HADT": "HADT", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "∅∅∅": "∅∅∅", "ChST": "ChST", "TMT": "TMT", "GMT": "GMT", "HECU": "HECU", "AEDT": "AEDT", "BOT": "BOT", "ACST": "ACST", "WART": "WART", "HNCU": "HNCU", "CDT": "CDT", "HEOG": "HEOG", "HNT": "HNT", "HKST": "HKST", "COST": "COST", "UYST": "UYST", "AKST": "AKST", "HAST": "HAST", "AWDT": "AWDT", "GFT": "GFT", "ECT": "ECT", "MDT": "MDT", "MYT": "MYT", "UYT": "UYT", "WEZ": "WEZ", "WESZ": "WESZ", "AWST": "AWST", "EST": "EST", "CLT": "CLT", "JST": "JST", "ACDT": "ACDT", "OEZ": "OEZ", "WIB": "WIB", "HNOG": "HNOG", "ARST": "ARST", "TMST": "TMST", "ADT": "ADT", "VET": "VET", "PST": "PST", "ACWST": "ACWST", "HNPM": "HNPM", "AST": "AST"}, } } @@ -322,7 +322,12 @@ func (shi *shi_Latn_MA) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (shi *shi_Latn_MA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (shi *shi_Latn_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (shi *shi_Latn_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/shi_Tfng/shi_Tfng.go b/shi_Tfng/shi_Tfng.go index 3e7a2418f..7267cb492 100644 --- a/shi_Tfng/shi_Tfng.go +++ b/shi_Tfng/shi_Tfng.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"WEZ": "WEZ", "MEZ": "MEZ", "WART": "WART", "EDT": "EDT", "LHST": "LHST", "IST": "IST", "∅∅∅": "∅∅∅", "MYT": "MYT", "NZST": "NZST", "SGT": "SGT", "ACWDT": "ACWDT", "AKST": "AKST", "WAST": "WAST", "GMT": "GMT", "JST": "JST", "WAT": "WAT", "WIT": "WIT", "UYST": "UYST", "CHADT": "CHADT", "GFT": "GFT", "COT": "COT", "COST": "COST", "HAST": "HAST", "HAT": "HAT", "CST": "CST", "VET": "VET", "ACDT": "ACDT", "ART": "ART", "AST": "AST", "TMT": "TMT", "HKST": "HKST", "ADT": "ADT", "CLT": "CLT", "WESZ": "WESZ", "OEZ": "OEZ", "HKT": "HKT", "ECT": "ECT", "ACST": "ACST", "AEST": "AEST", "TMST": "TMST", "WITA": "WITA", "CDT": "CDT", "JDT": "JDT", "WIB": "WIB", "MESZ": "MESZ", "AEDT": "AEDT", "EAT": "EAT", "ARST": "ARST", "SRT": "SRT", "OESZ": "OESZ", "AWST": "AWST", "WARST": "WARST", "AKDT": "AKDT", "MST": "MST", "MDT": "MDT", "PDT": "PDT", "BT": "BT", "LHDT": "LHDT", "PST": "PST", "SAST": "SAST", "BOT": "BOT", "CLST": "CLST", "HADT": "HADT", "EST": "EST", "NZDT": "NZDT", "HNT": "HNT", "GYT": "GYT", "CAT": "CAT", "AWDT": "AWDT", "CHAST": "CHAST", "ACWST": "ACWST", "ChST": "ChST", "UYT": "UYT"}, + timezones: map[string]string{"PDT": "PDT", "HNT": "HNT", "WITA": "WITA", "CLST": "CLST", "CAT": "CAT", "SGT": "SGT", "HECU": "HECU", "VET": "VET", "NZST": "NZST", "JDT": "JDT", "WAT": "WAT", "HAT": "HAT", "JST": "JST", "TMST": "TMST", "EAT": "EAT", "ECT": "ECT", "WART": "WART", "WARST": "WARST", "GMT": "GMT", "SAST": "SAST", "OESZ": "OESZ", "EST": "EST", "UYST": "UYST", "PST": "PST", "SRT": "SRT", "ARST": "ARST", "CHAST": "CHAST", "IST": "IST", "BOT": "BOT", "CST": "CST", "MDT": "MDT", "MESZ": "MESZ", "GFT": "GFT", "ACDT": "ACDT", "HEPMX": "HEPMX", "AKDT": "AKDT", "MYT": "MYT", "ART": "ART", "NZDT": "NZDT", "MEZ": "MEZ", "ACST": "ACST", "OEZ": "OEZ", "EDT": "EDT", "HADT": "HADT", "ChST": "ChST", "HNEG": "HNEG", "ACWDT": "ACWDT", "ACWST": "ACWST", "AWST": "AWST", "HNPM": "HNPM", "CLT": "CLT", "HEEG": "HEEG", "TMT": "TMT", "HAST": "HAST", "HEOG": "HEOG", "AEST": "AEST", "AEDT": "AEDT", "LHST": "LHST", "WIB": "WIB", "CHADT": "CHADT", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "CDT": "CDT", "GYT": "GYT", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "WAST": "WAST", "COT": "COT", "COST": "COST", "HNNOMX": "HNNOMX", "BT": "BT", "WEZ": "WEZ", "WESZ": "WESZ", "AKST": "AKST", "ADT": "ADT", "MST": "MST", "HNOG": "HNOG", "HKT": "HKT", "HKST": "HKST", "HEPM": "HEPM", "LHDT": "LHDT", "HNCU": "HNCU", "UYT": "UYT", "WIT": "WIT", "AST": "AST"}, } } @@ -322,7 +322,12 @@ func (shi *shi_Tfng) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (shi *shi_Tfng) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (shi *shi_Tfng) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (shi *shi_Tfng) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/shi_Tfng_MA/shi_Tfng_MA.go b/shi_Tfng_MA/shi_Tfng_MA.go index 4a982625b..67a879ff2 100644 --- a/shi_Tfng_MA/shi_Tfng_MA.go +++ b/shi_Tfng_MA/shi_Tfng_MA.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, @@ -60,7 +60,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"SRT": "SRT", "ACST": "ACST", "AEST": "AEST", "PDT": "PDT", "EAT": "EAT", "MDT": "MDT", "BT": "BT", "CDT": "CDT", "MEZ": "MEZ", "COT": "COT", "TMT": "TMT", "CLT": "CLT", "JDT": "JDT", "HADT": "HADT", "ACWDT": "ACWDT", "NZST": "NZST", "HAT": "HAT", "PST": "PST", "UYT": "UYT", "ECT": "ECT", "HKST": "HKST", "HNT": "HNT", "WESZ": "WESZ", "WARST": "WARST", "EDT": "EDT", "LHDT": "LHDT", "HKT": "HKT", "WIB": "WIB", "MESZ": "MESZ", "SGT": "SGT", "ART": "ART", "AKDT": "AKDT", "MST": "MST", "VET": "VET", "AEDT": "AEDT", "WITA": "WITA", "UYST": "UYST", "WEZ": "WEZ", "HAST": "HAST", "ADT": "ADT", "TMST": "TMST", "BOT": "BOT", "AWDT": "AWDT", "GMT": "GMT", "JST": "JST", "OEZ": "OEZ", "CHADT": "CHADT", "AST": "AST", "WAT": "WAT", "NZDT": "NZDT", "ChST": "ChST", "CST": "CST", "∅∅∅": "∅∅∅", "COST": "COST", "MYT": "MYT", "CAT": "CAT", "AWST": "AWST", "ACDT": "ACDT", "WART": "WART", "ACWST": "ACWST", "WAST": "WAST", "WIT": "WIT", "OESZ": "OESZ", "ARST": "ARST", "AKST": "AKST", "GFT": "GFT", "CHAST": "CHAST", "GYT": "GYT", "EST": "EST", "SAST": "SAST", "IST": "IST", "CLST": "CLST", "LHST": "LHST"}, + timezones: map[string]string{"AEST": "AEST", "JST": "JST", "ARST": "ARST", "HENOMX": "HENOMX", "MDT": "MDT", "AKST": "AKST", "HEPM": "HEPM", "ChST": "ChST", "OEZ": "OEZ", "WEZ": "WEZ", "WESZ": "WESZ", "ACWDT": "ACWDT", "MST": "MST", "BT": "BT", "WAT": "WAT", "HNPMX": "HNPMX", "ADT": "ADT", "WIT": "WIT", "CHAST": "CHAST", "MESZ": "MESZ", "CLT": "CLT", "∅∅∅": "∅∅∅", "UYT": "UYT", "VET": "VET", "HAST": "HAST", "ECT": "ECT", "AST": "AST", "CDT": "CDT", "NZDT": "NZDT", "COT": "COT", "COST": "COST", "HNCU": "HNCU", "HECU": "HECU", "AKDT": "AKDT", "PDT": "PDT", "IST": "IST", "GFT": "GFT", "CHADT": "CHADT", "GYT": "GYT", "HADT": "HADT", "AEDT": "AEDT", "CAT": "CAT", "AWST": "AWST", "HNEG": "HNEG", "ACST": "ACST", "WAST": "WAST", "HNNOMX": "HNNOMX", "WARST": "WARST", "HEOG": "HEOG", "JDT": "JDT", "BOT": "BOT", "HNPM": "HNPM", "LHST": "LHST", "GMT": "GMT", "AWDT": "AWDT", "CLST": "CLST", "SGT": "SGT", "HEPMX": "HEPMX", "ACWST": "ACWST", "ART": "ART", "HNOG": "HNOG", "LHDT": "LHDT", "HEEG": "HEEG", "EAT": "EAT", "EST": "EST", "MYT": "MYT", "TMT": "TMT", "TMST": "TMST", "EDT": "EDT", "SRT": "SRT", "HKT": "HKT", "NZST": "NZST", "MEZ": "MEZ", "SAST": "SAST", "WART": "WART", "CST": "CST", "UYST": "UYST", "WIB": "WIB", "HNT": "HNT", "HAT": "HAT", "HKST": "HKST", "ACDT": "ACDT", "OESZ": "OESZ", "WITA": "WITA", "PST": "PST"}, } } @@ -322,7 +322,12 @@ func (shi *shi_Tfng_MA) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -336,7 +341,12 @@ func (shi *shi_Tfng_MA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +360,12 @@ func (shi *shi_Tfng_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +381,12 @@ func (shi *shi_Tfng_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, shi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/si/si.go b/si/si.go index e8fd3b674..590e9049b 100644 --- a/si/si.go +++ b/si/si.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "රු.", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "සිෆ්එ", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "රු.", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "සිෆ්එ", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ජන", "පෙබ", "මාර්තු", "අප්\u200dරේල්", "මැයි", "ජූනි", "ජූලි", "අගෝ", "සැප්", "ඔක්", "නොවැ", "දෙසැ"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ක්\u200dරි.පූ.", "ක්\u200dරි.ව."}, erasNarrow: []string{"", ""}, erasWide: []string{"ක්\u200dරිස්තු පූර්ව", "ක්\u200dරිස්තු වර්ෂ"}, - timezones: map[string]string{"CST": "උතුරු ඇමරිකානු මධ්\u200dයම සම්මත වේලාව", "JST": "ජපාන සම්මත වේලාව", "CHADT": "චැතම් දිවා වේලාව", "MEZ": "මධ්\u200dයම යුරෝපීය සම්මත වේලාව", "HAT": "නිව්ෆවුන්ලන්ත දිවාආලෝක වේලාව", "CAT": "මධ්\u200dයම අප්\u200dරිකානු වේලාව", "PST": "උතුරු ඇමරිකානු පැසිෆික් සම්මත වේලාව", "SAST": "දකුණු අප්\u200dරිකානු වේලාව", "NZST": "නවසීලන්ත සම්මත වේලාව", "MESZ": "මධ්\u200dයම යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "WART": "බටහිර ආර්ජන්ටිනා සම්මත වේලාව", "ECT": "ඉක්වදෝර් වේලාව", "IST": "ඉන්දියානු වේලාව", "PDT": "උතුරු ඇමරිකානු පැසිෆික් දිවාආලෝක වේලාව", "MDT": "උතුරු ඇමරිකානු කඳුකර දිවාආලෝක වේලාව", "BOT": "බොලිවියා වේලාව", "HNT": "නිව්ෆවුන්ලන්ත සම්මත වේලාව", "COT": "කොලොම්බියා සම්මත වේලාව", "WAT": "බටහිර අප්\u200dරිකානු සම්මත වේලාව", "TMT": "ටර්ක්මෙනිස්තාන සම්මත වේලාව", "GMT": "ග්\u200dරිනිච් මධ්\u200dයම වේලාව", "LHDT": "ලෝර්ඩ් හෝව් දිවා වේලාව", "HKT": "හොංකොං සම්මත වේලාව", "CHAST": "චැතම් සම්මත වේලාව", "AST": "අත්ලාන්තික් සම්මත වේලාව", "WIT": "නැගෙනහිර ඉන්දුනීසියානු වේලාව", "OEZ": "නැගෙනහිර යුරෝපීය සම්මත වේලාව", "ACDT": "මධ්\u200dයම ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "EDT": "උතුරු ඇමරිකානු නැගෙනහිර දිවාආලෝක වේලාව", "MST": "උතුරු ඇමරිකානු කඳුකර සම්මත වේලාව", "CLST": "චිලී ග්\u200dරීෂ්ම කාලය", "AKST": "ඇලස්කා සම්මත වේලාව", "TMST": "ටර්ක්මෙනිස්තාන ග්\u200dරීෂ්ම වේලාව", "ACST": "ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "EAT": "නැගෙනහිර අප්\u200dරිකානු වේලාව", "AWST": "බටහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "OESZ": "නැගෙනහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "WESZ": "බටහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "WIB": "බටහිර ඉන්දුනීසියානු වේලාව", "NZDT": "නවසීලන්ත දිවා වේලාව", "GFT": "ප්\u200dරංශ ගයනා වේලාව", "ART": "ආර්ජන්ටිනා සම්මත වේලාව", "WAST": "බටහිර අප්\u200dරිකානු ග්\u200dරීෂ්ම කාලය", "ChST": "චමොරෝ වේලාව", "COST": "කොලොම්බියා ග්\u200dරීෂ්ම කාලය", "AEDT": "නැඟෙනහිර ඕස්ට්\u200dරේලියානු දහවල් වේලාව", "ACWST": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු සම්මත වේලාව", "CDT": "උතුරු ඇමරිකානු මධ්\u200dයම දිවාආලෝක වේලාව", "VET": "වෙනිසියුලා වේලාව", "HAST": "හවායි-අලෙයුතියාන් සම්මත වේලාව", "HADT": "හවායි-අලෙයුතියාන් දිවාආලෝක වේලාව", "ACWDT": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "EST": "උතුරු ඇමරිකානු නැගෙනහිර සම්මත වේලාව", "WITA": "මධ්\u200dයම ඉන්දුනීසියානු වේලාව", "BT": "භුතාන වේලාව", "UYT": "උරුගුවේ සම්මත වේලාව", "HKST": "හොංකොං ග්\u200dරීෂ්ම වේලාව", "SGT": "සිංගප්පුරු වේලාව", "MYT": "මැලේසියානු වේලාව", "∅∅∅": "ඇසොර්ස් ග්\u200dරීෂ්ම වේලාව", "GYT": "ගයනා වේලාව", "SRT": "සුරිනාම වේලාව", "AKDT": "ඇලස්කා දිවාආලෝක වේලාව", "AWDT": "බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "WEZ": "බටහිර යුරෝපීය සම්මත වේලාව", "AEST": "නැගෙනහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "WARST": "බටහිර ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "CLT": "චිලී සම්මත වේලාව", "UYST": "උරුගුවේ ග්\u200dරීෂ්ම කාලය", "JDT": "ජපාන දහවල් වේලාව", "LHST": "ලෝර්ඩ් හෝව් සම්මත වේලාව", "ARST": "ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "ADT": "අත්ලාන්තික් දිවාආලෝක වේලාව"}, + timezones: map[string]string{"HNCU": "කියුබානු සම්මත වේලාව", "EST": "උතුරු ඇමරිකානු නැගෙනහිර සම්මත වේලාව", "SRT": "සුරිනාම වේලාව", "AEST": "නැගෙනහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "HEPM": "ශාන්ත පියරේ සහ මැකෝලන් දිවාආලෝක වේලාව", "HKST": "හොංකොං ග්\u200dරීෂ්ම වේලාව", "MESZ": "මධ්\u200dයම යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "ChST": "චමොරෝ වේලාව", "ACST": "ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "HAST": "හවායි-අලෙයුතියාන් සම්මත වේලාව", "HNT": "නිව්ෆවුන්ලන්ත සම්මත වේලාව", "ART": "ආර්ජන්ටිනා සම්මත වේලාව", "SGT": "සිංගප්පුරු වේලාව", "WITA": "මධ්\u200dයම ඉන්දුනීසියානු වේලාව", "EAT": "නැගෙනහිර අප්\u200dරිකානු වේලාව", "HNNOMX": "වයඹ මෙක්සිකෝ සම්මත වේලාව", "WESZ": "බටහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "ARST": "ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "GFT": "ප්\u200dරංශ ගයනා වේලාව", "CAT": "මධ්\u200dයම අප්\u200dරිකානු වේලාව", "COT": "කොලොම්බියා සම්මත වේලාව", "AKST": "ඇලස්කා සම්මත වේලාව", "GYT": "ගයනා වේලාව", "BT": "භුතාන වේලාව", "∅∅∅": "ඇමර්සන් ග්\u200dරීෂ්ම කාලය", "OEZ": "නැගෙනහිර යුරෝපීය සම්මත වේලාව", "HEOG": "බටහිර ග්\u200dරීන්ලන්ත ග්\u200dරීෂ්ම කාලය", "MEZ": "මධ්\u200dයම යුරෝපීය සම්මත වේලාව", "IST": "ඉන්දියානු වේලාව", "COST": "කොලොම්බියා ග්\u200dරීෂ්ම කාලය", "UYT": "උරුගුවේ සම්මත වේලාව", "AST": "අත්ලාන්තික් සම්මත වේලාව", "LHST": "ලෝර්ඩ් හෝව් සම්මත වේලාව", "CLT": "චිලී සම්මත වේලාව", "EDT": "උතුරු ඇමරිකානු නැගෙනහිර දිවාආලෝක වේලාව", "MYT": "මැලේසියානු වේලාව", "WIB": "බටහිර ඉන්දුනීසියානු වේලාව", "NZST": "නවසීලන්ත සම්මත වේලාව", "HNPMX": "මෙක්සිකෝ පැසිෆික් සම්මත වේලාව", "HKT": "හොංකොං සම්මත වේලාව", "BOT": "බොලිවියා වේලාව", "TMT": "ටර්ක්මෙනිස්තාන සම්මත වේලාව", "ACWST": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු සම්මත වේලාව", "AWDT": "බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "HNPM": "ශාන්ත පියරේ සහ මැකෝලන් සම්මත වේලාව", "JST": "ජපාන සම්මත වේලාව", "JDT": "ජපාන දහවල් වේලාව", "ADT": "අත්ලාන්තික් දිවාආලෝක වේලාව", "MST": "උතුරු ඇමරිකානු කඳුකර සම්මත වේලාව", "PST": "උතුරු ඇමරිකානු පැසිෆික් සම්මත වේලාව", "HEEG": "නැගෙනහිර ග්\u200dරීන්ලන්ත ග්\u200dරීෂ්ම කාලය", "TMST": "ටර්ක්මෙනිස්තාන ග්\u200dරීෂ්ම වේලාව", "HENOMX": "වයඹ මෙක්සිකෝ දිවාආලෝක වේලාව", "ACWDT": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "AEDT": "නැඟෙනහිර ඕස්ට්\u200dරේලියානු දහවල් වේලාව", "AWST": "බටහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "WARST": "බටහිර ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "AKDT": "ඇලස්කා දිවාආලෝක වේලාව", "CST": "උතුරු ඇමරිකානු මධ්\u200dයම සම්මත වේලාව", "WEZ": "බටහිර යුරෝපීය සම්මත වේලාව", "GMT": "ග්\u200dරිනිච් මධ්\u200dයම වේලාව", "LHDT": "ලෝර්ඩ් හෝව් දිවා වේලාව", "SAST": "දකුණු අප්\u200dරිකානු වේලාව", "WAST": "බටහිර අප්\u200dරිකානු ග්\u200dරීෂ්ම කාලය", "HNOG": "බටහිර ග්\u200dරීන්ලන්ත සම්මත වේලාව", "ACDT": "මධ්\u200dයම ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "HADT": "හවායි-අලෙයුතියාන් දිවාආලෝක වේලාව", "VET": "වෙනිසියුලා වේලාව", "WIT": "නැගෙනහිර ඉන්දුනීසියානු වේලාව", "HECU": "කියුබානු දිවාආලෝක වේලාව", "UYST": "උරුගුවේ ග්\u200dරීෂ්ම කාලය", "CLST": "චිලී ග්\u200dරීෂ්ම කාලය", "OESZ": "නැගෙනහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "WAT": "බටහිර අප්\u200dරිකානු සම්මත වේලාව", "WART": "බටහිර ආර්ජන්ටිනා සම්මත වේලාව", "HEPMX": "මෙක්සිකෝ පැසිෆික් දිවාආලෝක වේලාව", "HAT": "නිව්ෆවුන්ලන්ත දිවාආලෝක වේලාව", "CHADT": "චැතම් දිවා වේලාව", "HNEG": "නැගෙනහිර ග්\u200dරීන්ලන්ත සම්මත වේලාව", "NZDT": "නවසීලන්ත දිවා වේලාව", "CHAST": "චැතම් සම්මත වේලාව", "ECT": "ඉක්වදෝර් වේලාව", "CDT": "උතුරු ඇමරිකානු මධ්\u200dයම දිවාආලෝක වේලාව", "MDT": "උතුරු ඇමරිකානු කඳුකර දිවාආලෝක වේලාව", "PDT": "උතුරු ඇමරිකානු පැසිෆික් දිවාආලෝක වේලාව"}, } } @@ -406,7 +406,12 @@ func (si *si) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -431,7 +436,12 @@ func (si *si) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -445,7 +455,12 @@ func (si *si) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -459,7 +474,12 @@ func (si *si) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/si_LK/si_LK.go b/si_LK/si_LK.go index 09b9d6999..c8c5b36ae 100644 --- a/si_LK/si_LK.go +++ b/si_LK/si_LK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ජන", "පෙබ", "මාර්තු", "අප්\u200dරේල්", "මැයි", "ජූනි", "ජූලි", "අගෝ", "සැප්", "ඔක්", "නොවැ", "දෙසැ"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ක්\u200dරි.පූ.", "ක්\u200dරි.ව."}, erasNarrow: []string{"", ""}, erasWide: []string{"ක්\u200dරිස්තු පූර්ව", "ක්\u200dරිස්තු වර්ෂ"}, - timezones: map[string]string{"TMST": "ටර්ක්මෙනිස්තාන ග්\u200dරීෂ්ම වේලාව", "OEZ": "නැගෙනහිර යුරෝපීය සම්මත වේලාව", "WAT": "බටහිර අප්\u200dරිකානු සම්මත වේලාව", "GYT": "ගයනා වේලාව", "WEZ": "බටහිර යුරෝපීය සම්මත වේලාව", "ART": "ආර්ජන්ටිනා සම්මත වේලාව", "MDT": "උතුරු ඇමරිකානු කඳුකර දිවාආලෝක වේලාව", "HAT": "නිව්ෆවුන්ලන්ත දිවාආලෝක වේලාව", "LHDT": "ලෝර්ඩ් හෝව් දිවා වේලාව", "WESZ": "බටහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "COT": "කොලොම්බියා සම්මත වේලාව", "PDT": "උතුරු ඇමරිකානු පැසිෆික් දිවාආලෝක වේලාව", "TMT": "ටර්ක්මෙනිස්තාන සම්මත වේලාව", "CDT": "උතුරු ඇමරිකානු මධ්\u200dයම දිවාආලෝක වේලාව", "MESZ": "මධ්\u200dයම යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "ARST": "ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "PST": "උතුරු ඇමරිකානු පැසිෆික් සම්මත වේලාව", "NZST": "නවසීලන්ත සම්මත වේලාව", "JST": "ජපාන සම්මත වේලාව", "HKT": "හොංකොං සම්මත වේලාව", "WIB": "බටහිර ඉන්දුනීසියානු වේලාව", "MEZ": "මධ්\u200dයම යුරෝපීය සම්මත වේලාව", "ECT": "ඉක්වදෝර් වේලාව", "∅∅∅": "පේරු ග්\u200dරීෂ්ම කාලය", "AWDT": "බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "CHADT": "චැතම් දිවා වේලාව", "AEST": "නැගෙනහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "ADT": "අත්ලාන්තික් දිවාආලෝක වේලාව", "AKST": "ඇලස්කා සම්මත වේලාව", "MST": "උතුරු ඇමරිකානු කඳුකර සම්මත වේලාව", "BT": "භුතාන වේලාව", "GFT": "ප්\u200dරංශ ගයනා වේලාව", "VET": "වෙනිසියුලා වේලාව", "HADT": "හවායි-අලෙයුතියාන් දිවාආලෝක වේලාව", "WARST": "බටහිර ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "MYT": "මැලේසියානු වේලාව", "BOT": "බොලිවියා වේලාව", "JDT": "ජපාන දහවල් වේලාව", "SRT": "සුරිනාම වේලාව", "CST": "උතුරු ඇමරිකානු මධ්\u200dයම සම්මත වේලාව", "WIT": "නැගෙනහිර ඉන්දුනීසියානු වේලාව", "SGT": "සිංගප්පුරු වේලාව", "COST": "කොලොම්බියා ග්\u200dරීෂ්ම කාලය", "HAST": "හවායි-අලෙයුතියාන් සම්මත වේලාව", "WITA": "මධ්\u200dයම ඉන්දුනීසියානු වේලාව", "UYST": "උරුගුවේ ග්\u200dරීෂ්ම කාලය", "SAST": "දකුණු අප්\u200dරිකානු වේලාව", "WAST": "බටහිර අප්\u200dරිකානු ග්\u200dරීෂ්ම කාලය", "EDT": "උතුරු ඇමරිකානු නැගෙනහිර දිවාආලෝක වේලාව", "CAT": "මධ්\u200dයම අප්\u200dරිකානු වේලාව", "UYT": "උරුගුවේ සම්මත වේලාව", "WART": "බටහිර ආර්ජන්ටිනා සම්මත වේලාව", "AWST": "බටහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "HNT": "නිව්ෆවුන්ලන්ත සම්මත වේලාව", "ACWST": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු සම්මත වේලාව", "ACWDT": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "AST": "අත්ලාන්තික් සම්මත වේලාව", "CLST": "චිලී ග්\u200dරීෂ්ම කාලය", "LHST": "ලෝර්ඩ් හෝව් සම්මත වේලාව", "OESZ": "නැගෙනහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "IST": "ඉන්දියානු වේලාව", "EST": "උතුරු ඇමරිකානු නැගෙනහිර සම්මත වේලාව", "NZDT": "නවසීලන්ත දිවා වේලාව", "ChST": "චමොරෝ වේලාව", "CLT": "චිලී සම්මත වේලාව", "ACDT": "මධ්\u200dයම ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "AEDT": "නැඟෙනහිර ඕස්ට්\u200dරේලියානු දහවල් වේලාව", "AKDT": "ඇලස්කා දිවාආලෝක වේලාව", "HKST": "හොංකොං ග්\u200dරීෂ්ම වේලාව", "EAT": "නැගෙනහිර අප්\u200dරිකානු වේලාව", "GMT": "ග්\u200dරිනිච් මධ්\u200dයම වේලාව", "CHAST": "චැතම් සම්මත වේලාව", "ACST": "ඕස්ට්\u200dරේලියානු සම්මත වේලාව"}, + timezones: map[string]string{"WARST": "බටහිර ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "UYT": "උරුගුවේ සම්මත වේලාව", "ACWST": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු සම්මත වේලාව", "NZST": "නවසීලන්ත සම්මත වේලාව", "NZDT": "නවසීලන්ත දිවා වේලාව", "TMT": "ටර්ක්මෙනිස්තාන සම්මත වේලාව", "WART": "බටහිර ආර්ජන්ටිනා සම්මත වේලාව", "HNCU": "කියුබානු සම්මත වේලාව", "WESZ": "බටහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "ACWDT": "මධ්\u200dයම බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "LHDT": "ලෝර්ඩ් හෝව් දිවා වේලාව", "JDT": "ජපාන දහවල් වේලාව", "CST": "උතුරු ඇමරිකානු මධ්\u200dයම සම්මත වේලාව", "BT": "භුතාන වේලාව", "SRT": "සුරිනාම වේලාව", "PDT": "උතුරු ඇමරිකානු පැසිෆික් දිවාආලෝක වේලාව", "ECT": "ඉක්වදෝර් වේලාව", "AKDT": "ඇලස්කා දිවාආලෝක වේලාව", "ARST": "ආර්ජන්ටිනා ග්\u200dරීෂ්ම කාලය", "AWDT": "බටහිර ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "HEPM": "ශාන්ත පියරේ සහ මැකෝලන් දිවාආලෝක වේලාව", "TMST": "ටර්ක්මෙනිස්තාන ග්\u200dරීෂ්ම වේලාව", "SGT": "සිංගප්පුරු වේලාව", "UYST": "උරුගුවේ ග්\u200dරීෂ්ම කාලය", "ART": "ආර්ජන්ටිනා සම්මත වේලාව", "CHADT": "චැතම් දිවා වේලාව", "BOT": "බොලිවියා වේලාව", "ACDT": "මධ්\u200dයම ඔස්ට්\u200dරේලියානු දහවල් වේලාව", "EAT": "නැගෙනහිර අප්\u200dරිකානු වේලාව", "HNNOMX": "වයඹ මෙක්සිකෝ සම්මත වේලාව", "AEDT": "නැඟෙනහිර ඕස්ට්\u200dරේලියානු දහවල් වේලාව", "HNEG": "නැගෙනහිර ග්\u200dරීන්ලන්ත සම්මත වේලාව", "HECU": "කියුබානු දිවාආලෝක වේලාව", "MYT": "මැලේසියානු වේලාව", "HAST": "හවායි-අලෙයුතියාන් සම්මත වේලාව", "HNT": "නිව්ෆවුන්ලන්ත සම්මත වේලාව", "ACST": "ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "WAT": "බටහිර අප්\u200dරිකානු සම්මත වේලාව", "MST": "MST", "AST": "අත්ලාන්තික් සම්මත වේලාව", "VET": "වෙනිසියුලා වේලාව", "∅∅∅": "ඇසොර්ස් ග්\u200dරීෂ්ම වේලාව", "AKST": "ඇලස්කා සම්මත වේලාව", "JST": "ජපාන සම්මත වේලාව", "HEEG": "නැගෙනහිර ග්\u200dරීන්ලන්ත ග්\u200dරීෂ්ම කාලය", "WAST": "බටහිර අප්\u200dරිකානු ග්\u200dරීෂ්ම කාලය", "LHST": "ලෝර්ඩ් හෝව් සම්මත වේලාව", "OESZ": "නැගෙනහිර යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "MDT": "MDT", "WEZ": "බටහිර යුරෝපීය සම්මත වේලාව", "AEST": "නැගෙනහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "HNPM": "ශාන්ත පියරේ සහ මැකෝලන් සම්මත වේලාව", "CHAST": "චැතම් සම්මත වේලාව", "IST": "ඉන්දියානු වේලාව", "SAST": "දකුණු අප්\u200dරිකානු වේලාව", "COT": "කොලොම්බියා සම්මත වේලාව", "GYT": "ගයනා වේලාව", "HADT": "හවායි-අලෙයුතියාන් දිවාආලෝක වේලාව", "HNOG": "බටහිර ග්\u200dරීන්ලන්ත සම්මත වේලාව", "AWST": "බටහිර ඕස්ට්\u200dරේලියානු සම්මත වේලාව", "MEZ": "මධ්\u200dයම යුරෝපීය සම්මත වේලාව", "MESZ": "මධ්\u200dයම යුරෝපීය ග්\u200dරීෂ්ම වේලාව", "CLST": "චිලී ග්\u200dරීෂ්ම කාලය", "WIT": "නැගෙනහිර ඉන්දුනීසියානු වේලාව", "GFT": "ප්\u200dරංශ ගයනා වේලාව", "OEZ": "නැගෙනහිර යුරෝපීය සම්මත වේලාව", "CAT": "මධ්\u200dයම අප්\u200dරිකානු වේලාව", "COST": "කොලොම්බියා ග්\u200dරීෂ්ම කාලය", "HENOMX": "වයඹ මෙක්සිකෝ දිවාආලෝක වේලාව", "GMT": "ග්\u200dරිනිච් මධ්\u200dයම වේලාව", "HNPMX": "මෙක්සිකෝ පැසිෆික් සම්මත වේලාව", "ADT": "අත්ලාන්තික් දිවාආලෝක වේලාව", "WIB": "බටහිර ඉන්දුනීසියානු වේලාව", "HEOG": "බටහිර ග්\u200dරීන්ලන්ත ග්\u200dරීෂ්ම කාලය", "ChST": "චමොරෝ වේලාව", "EST": "උතුරු ඇමරිකානු නැගෙනහිර සම්මත වේලාව", "EDT": "උතුරු ඇමරිකානු නැගෙනහිර දිවාආලෝක වේලාව", "CDT": "උතුරු ඇමරිකානු මධ්\u200dයම දිවාආලෝක වේලාව", "PST": "උතුරු ඇමරිකානු පැසිෆික් සම්මත වේලාව", "WITA": "මධ්\u200dයම ඉන්දුනීසියානු වේලාව", "HKT": "හොංකොං සම්මත වේලාව", "HKST": "හොංකොං ග්\u200dරීෂ්ම වේලාව", "HEPMX": "මෙක්සිකෝ පැසිෆික් දිවාආලෝක වේලාව", "HAT": "නිව්ෆවුන්ලන්ත දිවාආලෝක වේලාව", "CLT": "චිලී සම්මත වේලාව"}, } } @@ -406,7 +406,12 @@ func (si *si_LK) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -431,7 +436,12 @@ func (si *si_LK) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) @@ -445,7 +455,12 @@ func (si *si_LK) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -459,7 +474,12 @@ func (si *si_LK) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, si.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) diff --git a/sk/sk.go b/sk/sk.go index d28405111..027af59c4 100644 --- a/sk/sk.go +++ b/sk/sk.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "NIS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "NIS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pred Kr.", "po Kr."}, erasNarrow: []string{"", ""}, erasWide: []string{"pred Kristom", "po Kristovi"}, - timezones: map[string]string{"NZDT": "novozélandský letný čas", "OEZ": "východoeurópsky štandardný čas", "ACST": "stredoaustrálsky štandardný čas", "HADT": "havajsko-aleutský letný čas", "CDT": "severoamerický centrálny letný čas", "MYT": "malajzijský čas", "NZST": "novozélandský štandardný čas", "EST": "severoamerický východný štandardný čas", "GYT": "guyanský čas", "MST": "severoamerický horský štandardný čas", "UYT": "uruguajský štandardný čas", "EAT": "východoafrický čas", "AWST": "západoaustrálsky štandardný čas", "VET": "venezuelský čas", "WIB": "západoindonézsky čas", "JDT": "japonský letný čas", "ACDT": "stredoaustrálsky letný čas", "TMST": "turkménsky letný čas", "HAT": "newfoundlandský letný čas", "AEST": "východoaustrálsky štandardný čas", "WAST": "západoafrický letný čas", "ECT": "ekvádorský čas", "SAST": "juhoafrický čas", "AKDT": "aljašský letný čas", "MDT": "severoamerický horský letný čas", "LHDT": "letný čas ostrova lorda Howa", "CHADT": "chathamský letný čas", "COT": "kolumbijský štandardný čas", "COST": "kolumbijský letný čas", "PST": "severoamerický tichomorský štandardný čas", "ADT": "atlantický letný čas", "WIT": "východoindonézsky čas", "CAT": "stredoafrický čas", "HKST": "hongkonský letný čas", "∅∅∅": "peruánsky letný čas", "WESZ": "západoeurópsky letný čas", "ACWDT": "stredozápadný austrálsky letný čas", "ChST": "chamorrský štandardný čas", "HNT": "newfoundlandský štandardný čas", "JST": "japonský štandardný čas", "GMT": "greenwichský čas", "SRT": "surinamský čas", "WEZ": "západoeurópsky štandardný čas", "CHAST": "chathamský štandardný čas", "EDT": "severoamerický východný letný čas", "BOT": "bolívijský čas", "AWDT": "západoaustrálsky letný čas", "CLST": "čilský letný čas", "ART": "argentínsky štandardný čas", "BT": "bhutánsky čas", "GFT": "francúzskoguyanský čas", "SGT": "singapurský štandardný čas", "OESZ": "východoeurópsky letný čas", "ARST": "argentínsky letný čas", "CST": "severoamerický centrálny štandardný čas", "CLT": "čilský štandardný čas", "UYST": "uruguajský letný čas", "ACWST": "stredozápadný austrálsky štandardný čas", "WARST": "západoargentínsky letný čas", "AST": "atlantický štandardný čas", "LHST": "štandardný čas ostrova lorda Howa", "HKT": "hongkonský štandardný čas", "MEZ": "stredoeurópsky štandardný čas", "HAST": "havajsko-aleutský štandardný čas", "WART": "západoargentínsky štandardný čas", "PDT": "severoamerický tichomorský letný čas", "WITA": "stredoindonézsky čas", "MESZ": "stredoeurópsky letný čas", "AEDT": "východoaustrálsky letný čas", "WAT": "západoafrický štandardný čas", "IST": "indický čas", "AKST": "aljašský štandardný čas", "TMT": "turkménsky štandardný čas"}, + timezones: map[string]string{"HEPM": "pierre-miquelonský letný čas", "GFT": "francúzskoguyanský čas", "HENOMX": "severozápadný mexický letný čas", "EST": "severoamerický východný štandardný čas", "CST": "severoamerický centrálny štandardný čas", "WIT": "východoindonézsky čas", "BT": "bhutánsky čas", "ARST": "argentínsky letný čas", "HNOG": "západogrónsky štandardný čas", "NZST": "novozélandský štandardný čas", "ChST": "chamorrský štandardný čas", "COST": "kolumbijský letný čas", "SRT": "surinamský čas", "WEZ": "západoeurópsky štandardný čas", "MEZ": "stredoeurópsky štandardný čas", "MESZ": "stredoeurópsky letný čas", "HNEG": "východogrónsky štandardný čas", "CAT": "stredoafrický čas", "WAT": "západoafrický štandardný čas", "EDT": "severoamerický východný letný čas", "MST": "MST", "UYST": "uruguajský letný čas", "HAST": "havajsko-aleutský štandardný čas", "WITA": "stredoindonézsky čas", "WARST": "západoargentínsky letný čas", "HECU": "kubánsky letný čas", "AKST": "aljašský štandardný čas", "AKDT": "aljašský letný čas", "HAT": "newfoundlandský letný čas", "SAST": "juhoafrický čas", "MYT": "malajzijský čas", "NZDT": "novozélandský letný čas", "CLT": "čilský štandardný čas", "EAT": "východoafrický čas", "MDT": "MDT", "VET": "venezuelský čas", "PDT": "severoamerický tichomorský letný čas", "ACWDT": "stredozápadný austrálsky letný čas", "HNT": "newfoundlandský štandardný čas", "AEST": "východoaustrálsky štandardný čas", "JDT": "japonský letný čas", "WAST": "západoafrický letný čas", "ART": "argentínsky štandardný čas", "AEDT": "východoaustrálsky letný čas", "OEZ": "východoeurópsky štandardný čas", "WART": "západoargentínsky štandardný čas", "CDT": "severoamerický centrálny letný čas", "GYT": "guyanský čas", "PST": "severoamerický tichomorský štandardný čas", "CHADT": "chathamský letný čas", "TMT": "turkménsky štandardný čas", "HNPMX": "mexický tichomorský štandardný čas", "WESZ": "západoeurópsky letný čas", "ACWST": "stredozápadný austrálsky štandardný čas", "TMST": "turkménsky letný čas", "HEOG": "západogrónsky letný čas", "COT": "kolumbijský štandardný čas", "UYT": "uruguajský štandardný čas", "AST": "atlantický štandardný čas", "AWDT": "západoaustrálsky letný čas", "HNPM": "pierre-miquelonský štandardný čas", "ACST": "stredoaustrálsky štandardný čas", "ECT": "ekvádorský čas", "HNNOMX": "severozápadný mexický štandardný čas", "GMT": "greenwichský čas", "SGT": "singapurský štandardný čas", "HKT": "hongkonský štandardný čas", "LHST": "štandardný čas ostrova lorda Howa", "LHDT": "letný čas ostrova lorda Howa", "CHAST": "chathamský štandardný čas", "JST": "japonský štandardný čas", "HEEG": "východogrónsky letný čas", "HEPMX": "mexický tichomorský letný čas", "WIB": "západoindonézsky čas", "CLST": "čilský letný čas", "∅∅∅": "amazonský letný čas", "BOT": "bolívijský čas", "ADT": "atlantický letný čas", "ACDT": "stredoaustrálsky letný čas", "OESZ": "východoeurópsky letný čas", "HNCU": "kubánsky štandardný čas", "IST": "indický čas", "HADT": "havajsko-aleutský letný čas", "AWST": "západoaustrálsky štandardný čas", "HKST": "hongkonský letný čas"}, } } @@ -437,14 +437,14 @@ func (sk *sk) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -459,7 +459,12 @@ func (sk *sk) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -473,7 +478,12 @@ func (sk *sk) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -489,7 +499,12 @@ func (sk *sk) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sk_SK/sk_SK.go b/sk_SK/sk_SK.go index 4c2d122ad..fee10ce26 100644 --- a/sk_SK/sk_SK.go +++ b/sk_SK/sk_SK.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", @@ -75,7 +75,7 @@ func New() locales.Translator { erasAbbreviated: []string{"pred Kr.", "po Kr."}, erasNarrow: []string{"", ""}, erasWide: []string{"pred Kristom", "po Kristovi"}, - timezones: map[string]string{"AST": "atlantický štandardný čas", "JDT": "japonský letný čas", "GFT": "francúzskoguyanský čas", "HKT": "hongkonský štandardný čas", "SGT": "singapurský štandardný čas", "EST": "severoamerický východný štandardný čas", "EAT": "východoafrický čas", "CLST": "čilský letný čas", "LHST": "štandardný čas ostrova lorda Howa", "HKST": "hongkonský letný čas", "MESZ": "stredoeurópsky letný čas", "IST": "indický čas", "JST": "japonský štandardný čas", "COST": "kolumbijský letný čas", "ACWST": "stredozápadný austrálsky štandardný čas", "WAST": "západoafrický letný čas", "TMT": "turkménsky štandardný čas", "ChST": "chamorrský štandardný čas", "WEZ": "západoeurópsky štandardný čas", "WESZ": "západoeurópsky letný čas", "ACWDT": "stredozápadný austrálsky letný čas", "WAT": "západoafrický štandardný čas", "OEZ": "východoeurópsky štandardný čas", "WART": "západoargentínsky štandardný čas", "PST": "severoamerický tichomorský štandardný čas", "CDT": "severoamerický centrálny letný čas", "GMT": "greenwichský čas", "OESZ": "východoeurópsky letný čas", "ECT": "ekvádorský čas", "ARST": "argentínsky letný čas", "LHDT": "letný čas ostrova lorda Howa", "UYST": "uruguajský letný čas", "BOT": "bolívijský čas", "AWDT": "západoaustrálsky letný čas", "WIB": "západoindonézsky čas", "HADT": "havajsko-aleutský letný čas", "MYT": "malajzijský čas", "WIT": "východoindonézsky čas", "SRT": "surinamský čas", "CHADT": "chathamský letný čas", "WARST": "západoargentínsky letný čas", "ACDT": "stredoaustrálsky letný čas", "AKST": "aljašský štandardný čas", "NZDT": "novozélandský letný čas", "COT": "kolumbijský štandardný čas", "AKDT": "aljašský letný čas", "SAST": "juhoafrický čas", "TMST": "turkménsky letný čas", "PDT": "severoamerický tichomorský letný čas", "GYT": "guyanský čas", "MST": "severoamerický horský štandardný čas", "CLT": "čilský štandardný čas", "BT": "bhutánsky čas", "HNT": "newfoundlandský štandardný čas", "ACST": "stredoaustrálsky štandardný čas", "AEST": "východoaustrálsky štandardný čas", "AEDT": "východoaustrálsky letný čas", "AWST": "západoaustrálsky štandardný čas", "HAT": "newfoundlandský letný čas", "CHAST": "chathamský štandardný čas", "HAST": "havajsko-aleutský štandardný čas", "UYT": "uruguajský štandardný čas", "ART": "argentínsky štandardný čas", "EDT": "severoamerický východný letný čas", "NZST": "novozélandský štandardný čas", "∅∅∅": "brazílsky letný čas", "VET": "venezuelský čas", "CST": "severoamerický centrálny štandardný čas", "MDT": "severoamerický horský letný čas", "CAT": "stredoafrický čas", "MEZ": "stredoeurópsky štandardný čas", "ADT": "atlantický letný čas", "WITA": "stredoindonézsky čas"}, + timezones: map[string]string{"AWDT": "západoaustrálsky letný čas", "CDT": "severoamerický centrálny letný čas", "AST": "atlantický štandardný čas", "WESZ": "západoeurópsky letný čas", "ACWDT": "stredozápadný austrálsky letný čas", "HNT": "newfoundlandský štandardný čas", "CHADT": "chathamský letný čas", "JDT": "japonský letný čas", "CAT": "stredoafrický čas", "WITA": "stredoindonézsky čas", "AEST": "východoaustrálsky štandardný čas", "CHAST": "chathamský štandardný čas", "HNPM": "pierre-miquelonský štandardný čas", "NZST": "novozélandský štandardný čas", "CST": "severoamerický centrálny štandardný čas", "WAT": "západoafrický štandardný čas", "COST": "kolumbijský letný čas", "HENOMX": "severozápadný mexický letný čas", "HEPMX": "mexický tichomorský letný čas", "ARST": "argentínsky letný čas", "HNOG": "západogrónsky štandardný čas", "MESZ": "stredoeurópsky letný čas", "OESZ": "východoeurópsky letný čas", "HNNOMX": "severozápadný mexický štandardný čas", "UYT": "uruguajský štandardný čas", "BT": "bhutánsky čas", "HKT": "hongkonský štandardný čas", "ChST": "chamorrský štandardný čas", "GYT": "guyanský čas", "UYST": "uruguajský letný čas", "MDT": "severoamerický horský letný čas", "WEZ": "západoeurópsky štandardný čas", "OEZ": "východoeurópsky štandardný čas", "TMT": "turkménsky štandardný čas", "WAST": "západoafrický letný čas", "AWST": "západoaustrálsky štandardný čas", "ACDT": "stredoaustrálsky letný čas", "EAT": "východoafrický čas", "COT": "kolumbijský štandardný čas", "MYT": "malajzijský čas", "MST": "severoamerický horský štandardný čas", "HEOG": "západogrónsky letný čas", "PDT": "severoamerický tichomorský letný čas", "HNEG": "východogrónsky štandardný čas", "SGT": "singapurský štandardný čas", "EST": "severoamerický východný štandardný čas", "HKST": "hongkonský letný čas", "AEDT": "východoaustrálsky letný čas", "HEPM": "pierre-miquelonský letný čas", "TMST": "turkménsky letný čas", "WARST": "západoargentínsky letný čas", "VET": "venezuelský čas", "WIT": "východoindonézsky čas", "NZDT": "novozélandský letný čas", "HAT": "newfoundlandský letný čas", "ECT": "ekvádorský čas", "WIB": "západoindonézsky čas", "HADT": "havajsko-aleutský letný čas", "SRT": "surinamský čas", "ADT": "atlantický letný čas", "HAST": "havajsko-aleutský štandardný čas", "PST": "severoamerický tichomorský štandardný čas", "GFT": "francúzskoguyanský čas", "IST": "indický čas", "WART": "západoargentínsky štandardný čas", "HECU": "kubánsky letný čas", "HNPMX": "mexický tichomorský štandardný čas", "AKST": "aljašský štandardný čas", "LHST": "štandardný čas ostrova lorda Howa", "ACST": "stredoaustrálsky štandardný čas", "GMT": "greenwichský čas", "MEZ": "stredoeurópsky štandardný čas", "SAST": "juhoafrický čas", "CLT": "čilský štandardný čas", "∅∅∅": "amazonský letný čas", "JST": "japonský štandardný čas", "ACWST": "stredozápadný austrálsky štandardný čas", "ART": "argentínsky štandardný čas", "LHDT": "letný čas ostrova lorda Howa", "BOT": "bolívijský čas", "EDT": "severoamerický východný letný čas", "AKDT": "aljašský letný čas", "CLST": "čilský letný čas", "HEEG": "východogrónsky letný čas", "HNCU": "kubánsky štandardný čas"}, } } @@ -437,14 +437,14 @@ func (sk *sk_SK) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, []byte{0x2e, 0x20}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } return string(b) @@ -459,7 +459,12 @@ func (sk *sk_SK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -473,7 +478,12 @@ func (sk *sk_SK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -489,7 +499,12 @@ func (sk *sk_SK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sl/sl.go b/sl/sl.go index 6df89ae7e..19fd61232 100644 --- a/sl/sl.go +++ b/sl/sl.go @@ -18,6 +18,7 @@ type sl struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -51,12 +52,13 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{3, 4, 6}, decimal: ",", group: ".", - minus: "-", + minus: "–", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -70,10 +72,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"dop.", "pop."}, periodsNarrow: []string{"d", "p"}, periodsWide: []string{"dop.", "pop."}, - erasAbbreviated: []string{"pr. Kr.", "po n. št."}, + erasAbbreviated: []string{"pr. Kr.", "po Kr."}, erasNarrow: []string{"", ""}, - erasWide: []string{"pred Kristusom", "naše štetje"}, - timezones: map[string]string{"TMT": "Turkmenistanski standardni čas", "COT": "Kolumbijski standardni čas", "EST": "Vzhodni standardni čas", "PST": "Pacifiški standardni čas", "CST": "Centralni standardni čas", "∅∅∅": "Perujski poletni čas", "JST": "Japonski standardni čas", "OESZ": "Vzhodnoevropski poletni čas", "ACDT": "Avstralski centralni poletni čas", "AKST": "Aljaški standardni čas", "HAT": "Novofundlandski poletni čas", "JDT": "Japonski poletni čas", "WEZ": "Zahodnoevropski standardni čas", "GFT": "Čas: Francoska Gvajana", "AEDT": "Avstralski vzhodni poletni čas", "WART": "Argentinski zahodni standardni čas", "MYT": "Malezijski čas", "ChST": "Čamorski standardni čas", "HNT": "Novofundlandski standardni čas", "WIT": "Indonezijski vzhodni čas", "MEZ": "Srednjeevropski standardni čas", "WIB": "Indonezijski zahodni čas", "AEST": "Avstralski vzhodni standardni čas", "ARST": "Argentinski poletni čas", "MDT": "Gorski poletni čas", "WAT": "Zahodnoafriški standardni čas", "PDT": "Pacifiški poletni čas", "SAST": "Južnoafriški čas", "EDT": "Vzhodni poletni čas", "TMST": "Turkmenistanski poletni čas", "HKST": "Hongkonški poletni čas", "ACWDT": "Avstralski centralni zahodni poletni čas", "AST": "Atlantski standardni čas", "WESZ": "Zahodnoevropski poletni čas", "CLST": "Čilski poletni čas", "NZST": "Novozelandski standardni čas", "UYST": "Urugvajski poletni čas", "CHADT": "Čatamski poletni čas", "SRT": "Surinamski čas", "SGT": "Singapurski standardni čas", "WAST": "Zahodnoafriški poletni čas", "HADT": "Havajski aleutski poletni čas", "ACST": "Avstralski centralni standardni čas", "GMT": "Greenwiški srednji čas", "WITA": "Indonezijski osrednji čas", "NZDT": "Novozelandski poletni čas", "AWDT": "Avstralski zahodni poletni čas", "MESZ": "Srednjeevropski poletni čas", "HAST": "Havajski aleutski standardni čas", "ADT": "Atlantski poletni čas", "GYT": "Gvajanski čas", "CAT": "Centralnoafriški čas", "HKT": "Hongkonški standardni čas", "CHAST": "Čatamski standardni čas", "ECT": "Ekvadorski čas", "VET": "Venezuelski čas", "ACWST": "Avstralski centralni zahodni standardni čas", "CDT": "Centralni poletni čas", "WARST": "Argentinski zahodni poletni čas", "CLT": "Čilski standardni čas", "BT": "Butanski čas", "LHDT": "Poletni čas otoka Lord Howe", "IST": "Indijski standardni čas", "AKDT": "Aljaški poletni čas", "MST": "Gorski standardni čas", "BOT": "Bolivijski čas", "AWST": "Avstralski zahodni standardni čas", "LHST": "Standardni čas otoka Lord Howe", "OEZ": "Vzhodnoevropski standardni čas", "EAT": "Vzhodnoafriški čas", "ART": "Argentinski standardni čas", "COST": "Kolumbijski poletni čas", "UYT": "Urugvajski standardni čas"}, + erasWide: []string{"pred Kristusom", "po Kristusu"}, + timezones: map[string]string{"MEZ": "Srednjeevropski standardni čas", "BOT": "Bolivijski čas", "SGT": "Singapurski standardni čas", "EDT": "Vzhodni poletni čas", "ACWST": "Avstralski centralni zahodni standardni čas", "HKST": "Hongkonški poletni čas", "WITA": "Indonezijski osrednji čas", "AWDT": "Avstralski zahodni poletni čas", "AEDT": "Avstralski vzhodni poletni čas", "CLT": "Čilski standardni čas", "HECU": "Kubanski poletni čas", "ARST": "Argentinski poletni čas", "JST": "Japonski standardni čas", "WAST": "Zahodnoafriški poletni čas", "COT": "Kolumbijski standardni čas", "AKDT": "Aljaški poletni čas", "WIT": "Indonezijski vzhodni čas", "HAT": "Novofundlandski poletni čas", "HKT": "Hongkonški standardni čas", "NZST": "Novozelandski standardni čas", "CHAST": "Čatamski standardni čas", "AST": "Atlantski standardni čas", "UYST": "Urugvajski poletni čas", "SAST": "Južnoafriški čas", "GFT": "Čas: Francoska Gvajana", "HNPMX": "mehiški pacifiški standardni čas", "CDT": "Centralni poletni čas", "HNOG": "Zahodnogrenlandski standardni čas", "JDT": "Japonski poletni čas", "TMT": "Turkmenistanski standardni čas", "ChST": "Čamorski standardni čas", "HNT": "Novofundlandski standardni čas", "EAT": "Vzhodnoafriški čas", "MDT": "MDT", "HEEG": "Vzhodnogrenlandski poletni čas", "WAT": "Zahodnoafriški standardni čas", "WART": "Argentinski zahodni standardni čas", "AKST": "Aljaški standardni čas", "ART": "Argentinski standardni čas", "AEST": "Avstralski vzhodni standardni čas", "LHST": "Standardni čas otoka Lord Howe", "∅∅∅": "Amazonski poletni čas", "BT": "Butanski čas", "CST": "Centralni standardni čas", "NZDT": "Novozelandski poletni čas", "HENOMX": "mehiški severozahodni poletni čas", "EST": "Vzhodni standardni čas", "MST": "MST", "COST": "Kolumbijski poletni čas", "HAST": "Havajski aleutski standardni čas", "HADT": "Havajski aleutski poletni čas", "HEOG": "Zahodnogrenlandski poletni čas", "WEZ": "Zahodnoevropski standardni čas", "AWST": "Avstralski zahodni standardni čas", "TMST": "Turkmenistanski poletni čas", "CLST": "Čilski poletni čas", "ACST": "Avstralski centralni standardni čas", "HEPMX": "mehiški pacifiški poletni čas", "UYT": "Urugvajski standardni čas", "CAT": "Centralnoafriški čas", "ADT": "Atlantski poletni čas", "GYT": "Gvajanski čas", "WESZ": "Zahodnoevropski poletni čas", "HEPM": "Poletni čas: Saint Pierre in Miquelon", "CHADT": "Čatamski poletni čas", "IST": "Indijski standardni čas", "ECT": "Ekvadorski čas", "WARST": "Argentinski zahodni poletni čas", "PDT": "Pacifiški poletni čas", "LHDT": "Poletni čas otoka Lord Howe", "HNNOMX": "mehiški severozahodni standardni čas", "VET": "Venezuelski čas", "GMT": "Greenwiški srednji čas", "WIB": "Indonezijski zahodni čas", "SRT": "Surinamski čas", "ACWDT": "Avstralski centralni zahodni poletni čas", "HNPM": "Standardni čas: Saint Pierre in Miquelon", "MESZ": "Srednjeevropski poletni čas", "OESZ": "Vzhodnoevropski poletni čas", "HNCU": "Kubanski standardni čas", "MYT": "Malezijski čas", "PST": "Pacifiški standardni čas", "HNEG": "Vzhodnogrenlandski standardni čas", "ACDT": "Avstralski centralni poletni čas", "OEZ": "Vzhodnoevropski standardni čas"}, } } @@ -236,7 +238,7 @@ func (sl *sl) WeekdaysWide() []string { func (sl *sl) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -262,7 +264,9 @@ func (sl *sl) FmtNumber(num float64, v uint64) string { } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -277,7 +281,7 @@ func (sl *sl) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sl *sl) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 7 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -291,7 +295,9 @@ func (sl *sl) FmtPercent(num float64, v uint64) string { } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -299,6 +305,8 @@ func (sl *sl) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, sl.percentSuffix...) + b = append(b, sl.percent...) return string(b) @@ -309,7 +317,7 @@ func (sl *sl) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sl.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -335,7 +343,9 @@ func (sl *sl) FmtCurrency(num float64, v uint64, currency currency.Type) string } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -367,7 +377,7 @@ func (sl *sl) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 8 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -460,7 +470,12 @@ func (sl *sl) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +493,12 @@ func (sl *sl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -499,7 +519,12 @@ func (sl *sl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sl_SI/sl_SI.go b/sl_SI/sl_SI.go index b3ecb8027..f3aa7ffd2 100644 --- a/sl_SI/sl_SI.go +++ b/sl_SI/sl_SI.go @@ -18,6 +18,7 @@ type sl_SI struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string @@ -51,12 +52,13 @@ func New() locales.Translator { pluralsRange: []locales.PluralRule{3, 4, 6}, decimal: ",", group: ".", - minus: "-", + minus: "–", percent: "%", perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -70,10 +72,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"dop.", "pop."}, periodsNarrow: []string{"d", "p"}, periodsWide: []string{"dop.", "pop."}, - erasAbbreviated: []string{"pr. Kr.", "po n. št."}, + erasAbbreviated: []string{"pr. Kr.", "po Kr."}, erasNarrow: []string{"", ""}, - erasWide: []string{"pred Kristusom", "naše štetje"}, - timezones: map[string]string{"ARST": "Argentinski poletni čas", "NZDT": "Novozelandski poletni čas", "ChST": "Čamorski standardni čas", "MST": "Gorski standardni čas", "SRT": "Surinamski čas", "CHADT": "Čatamski poletni čas", "SAST": "Južnoafriški čas", "GYT": "Gvajanski čas", "WIT": "Indonezijski vzhodni čas", "CAT": "Centralnoafriški čas", "WEZ": "Zahodnoevropski standardni čas", "PST": "Pacifiški standardni čas", "IST": "Indijski standardni čas", "CLT": "Čilski standardni čas", "LHST": "Standardni čas otoka Lord Howe", "LHDT": "Poletni čas otoka Lord Howe", "AEST": "Avstralski vzhodni standardni čas", "AKDT": "Aljaški poletni čas", "ADT": "Atlantski poletni čas", "WITA": "Indonezijski osrednji čas", "SGT": "Singapurski standardni čas", "EAT": "Vzhodnoafriški čas", "WAST": "Zahodnoafriški poletni čas", "TMT": "Turkmenistanski standardni čas", "OESZ": "Vzhodnoevropski poletni čas", "ACST": "Avstralski centralni standardni čas", "PDT": "Pacifiški poletni čas", "BT": "Butanski čas", "WAT": "Zahodnoafriški standardni čas", "CLST": "Čilski poletni čas", "HAT": "Novofundlandski poletni čas", "HKST": "Hongkonški poletni čas", "MEZ": "Srednjeevropski standardni čas", "WARST": "Argentinski zahodni poletni čas", "HAST": "Havajski aleutski standardni čas", "∅∅∅": "∅∅∅", "WIB": "Indonezijski zahodni čas", "HADT": "Havajski aleutski poletni čas", "HKT": "Hongkonški standardni čas", "MYT": "Malezijski čas", "ACDT": "Avstralski centralni poletni čas", "CDT": "Centralni poletni čas", "OEZ": "Vzhodnoevropski standardni čas", "WESZ": "Zahodnoevropski poletni čas", "CHAST": "Čatamski standardni čas", "GMT": "Greenwiški srednji čas", "UYT": "Urugvajski standardni čas", "COST": "Kolumbijski poletni čas", "AKST": "Aljaški standardni čas", "MDT": "Gorski poletni čas", "HNT": "Novofundlandski standardni čas", "EST": "Vzhodni standardni čas", "EDT": "Vzhodni poletni čas", "UYST": "Urugvajski poletni čas", "TMST": "Turkmenistanski poletni čas", "CST": "Centralni standardni čas", "BOT": "Bolivijski čas", "AWDT": "Avstralski zahodni poletni čas", "GFT": "Čas: Francoska Gvajana", "MESZ": "Srednjeevropski poletni čas", "WART": "Argentinski zahodni standardni čas", "ACWST": "Avstralski centralni zahodni standardni čas", "COT": "Kolumbijski standardni čas", "ACWDT": "Avstralski centralni zahodni poletni čas", "AST": "Atlantski standardni čas", "AWST": "Avstralski zahodni standardni čas", "NZST": "Novozelandski standardni čas", "JST": "Japonski standardni čas", "JDT": "Japonski poletni čas", "ECT": "Ekvadorski čas", "VET": "Venezuelski čas", "AEDT": "Avstralski vzhodni poletni čas", "ART": "Argentinski standardni čas"}, + erasWide: []string{"pred Kristusom", "po Kristusu"}, + timezones: map[string]string{"HENOMX": "mehiški severozahodni poletni čas", "HNCU": "Kubanski standardni čas", "HNPMX": "mehiški pacifiški standardni čas", "AEDT": "Avstralski vzhodni poletni čas", "GFT": "Čas: Francoska Gvajana", "EST": "Vzhodni standardni čas", "UYST": "Urugvajski poletni čas", "HNPM": "Standardni čas: Saint Pierre in Miquelon", "IST": "Indijski standardni čas", "BOT": "Bolivijski čas", "CST": "Centralni standardni čas", "CDT": "Centralni poletni čas", "AKST": "Aljaški standardni čas", "WITA": "Indonezijski osrednji čas", "NZST": "Novozelandski standardni čas", "PST": "Pacifiški standardni čas", "ECT": "Ekvadorski čas", "WAST": "Zahodnoafriški poletni čas", "COT": "Kolumbijski standardni čas", "MST": "MST", "MDT": "MDT", "ADT": "Atlantski poletni čas", "ACST": "Avstralski centralni standardni čas", "HECU": "Kubanski poletni čas", "AST": "Atlantski standardni čas", "LHDT": "Poletni čas otoka Lord Howe", "NZDT": "Novozelandski poletni čas", "CLT": "Čilski standardni čas", "HNEG": "Vzhodnogrenlandski standardni čas", "EAT": "Vzhodnoafriški čas", "AWST": "Avstralski zahodni standardni čas", "CLST": "Čilski poletni čas", "WAT": "Zahodnoafriški standardni čas", "WART": "Argentinski zahodni standardni čas", "UYT": "Urugvajski standardni čas", "HAST": "Havajski aleutski standardni čas", "HNT": "Novofundlandski standardni čas", "WEZ": "Zahodnoevropski standardni čas", "ChST": "Čamorski standardni čas", "HEEG": "Vzhodnogrenlandski poletni čas", "CAT": "Centralnoafriški čas", "ART": "Argentinski standardni čas", "SAST": "Južnoafriški čas", "OESZ": "Vzhodnoevropski poletni čas", "COST": "Kolumbijski poletni čas", "GYT": "Gvajanski čas", "AWDT": "Avstralski zahodni poletni čas", "CHADT": "Čatamski poletni čas", "MEZ": "Srednjeevropski standardni čas", "WARST": "Argentinski zahodni poletni čas", "WIB": "Indonezijski zahodni čas", "SRT": "Surinamski čas", "HEPM": "Poletni čas: Saint Pierre in Miquelon", "JST": "Japonski standardni čas", "EDT": "Vzhodni poletni čas", "BT": "Butanski čas", "ACWST": "Avstralski centralni zahodni standardni čas", "LHST": "Standardni čas otoka Lord Howe", "AEST": "Avstralski vzhodni standardni čas", "HKT": "Hongkonški standardni čas", "ACDT": "Avstralski centralni poletni čas", "∅∅∅": "Perujski poletni čas", "VET": "Venezuelski čas", "WIT": "Indonezijski vzhodni čas", "HAT": "Novofundlandski poletni čas", "HEOG": "Zahodnogrenlandski poletni čas", "HKST": "Hongkonški poletni čas", "TMST": "Turkmenistanski poletni čas", "GMT": "Greenwiški srednji čas", "HADT": "Havajski aleutski poletni čas", "CHAST": "Čatamski standardni čas", "OEZ": "Vzhodnoevropski standardni čas", "MYT": "Malezijski čas", "AKDT": "Aljaški poletni čas", "ARST": "Argentinski poletni čas", "JDT": "Japonski poletni čas", "TMT": "Turkmenistanski standardni čas", "HEPMX": "mehiški pacifiški poletni čas", "HNOG": "Zahodnogrenlandski standardni čas", "WESZ": "Zahodnoevropski poletni čas", "HNNOMX": "mehiški severozahodni standardni čas", "SGT": "Singapurski standardni čas", "PDT": "Pacifiški poletni čas", "ACWDT": "Avstralski centralni zahodni poletni čas", "MESZ": "Srednjeevropski poletni čas"}, } } @@ -236,7 +238,7 @@ func (sl *sl_SI) WeekdaysWide() []string { func (sl *sl_SI) FmtNumber(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -262,7 +264,9 @@ func (sl *sl_SI) FmtNumber(num float64, v uint64) string { } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -277,7 +281,7 @@ func (sl *sl_SI) FmtNumber(num float64, v uint64) string { // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sl *sl_SI) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 7 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -291,7 +295,9 @@ func (sl *sl_SI) FmtPercent(num float64, v uint64) string { } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -299,6 +305,8 @@ func (sl *sl_SI) FmtPercent(num float64, v uint64) string { b[i], b[j] = b[j], b[i] } + b = append(b, sl.percentSuffix...) + b = append(b, sl.percent...) return string(b) @@ -309,7 +317,7 @@ func (sl *sl_SI) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sl.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -335,7 +343,9 @@ func (sl *sl_SI) FmtCurrency(num float64, v uint64, currency currency.Type) stri } if num < 0 { - b = append(b, sl.minus[0]) + for j := len(sl.minus) - 1; j >= 0; j-- { + b = append(b, sl.minus[j]) + } } // reverse @@ -367,7 +377,7 @@ func (sl *sl_SI) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sl.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 8 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -460,7 +470,12 @@ func (sl *sl_SI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -478,7 +493,12 @@ func (sl *sl_SI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -499,7 +519,12 @@ func (sl *sl_SI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sl.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/smn/smn.go b/smn/smn.go index a94a7416c..de185c4c3 100644 --- a/smn/smn.go +++ b/smn/smn.go @@ -18,13 +18,12 @@ type smn struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string currencyPositiveSuffix string - currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -50,17 +49,31 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 3, 6}, pluralsOrdinal: nil, pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", - currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", + decimal: ",", + group: " ", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ".", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "uđiv", "kuovâ", "njuhčâ", "cuáŋui", "vyesi", "kesi", "syeini", "porge", "čohčâ", "roovvâd", "skammâ", "juovlâ"}, + monthsNarrow: []string{"", "U", "K", "NJ", "C", "V", "K", "S", "P", "Č", "R", "S", "J"}, monthsWide: []string{"", "uđđâivemáánu", "kuovâmáánu", "njuhčâmáánu", "cuáŋuimáánu", "vyesimáánu", "kesimáánu", "syeinimáánu", "porgemáánu", "čohčâmáánu", "roovvâdmáánu", "skammâmáánu", "juovlâmáánu"}, - daysAbbreviated: []string{"pa", "vu", "ma", "ko", "tu", "vá", "lá"}, - daysNarrow: []string{"P", "V", "M", "K", "T", "V", "L"}, + daysAbbreviated: []string{"pas", "vuo", "maj", "kos", "tuo", "vás", "láv"}, + daysNarrow: []string{"p", "V", "M", "K", "T", "V", "L"}, + daysShort: []string{"pa", "vu", "ma", "ko", "tu", "vá", "lá"}, daysWide: []string{"pasepeeivi", "vuossaargâ", "majebaargâ", "koskoho", "tuorâstuv", "vástuppeeivi", "lávurduv"}, - timezones: map[string]string{"BT": "BT", "MESZ": "MESZ", "EST": "EST", "AWST": "AWST", "WIT": "WIT", "AEDT": "AEDT", "AST": "AST", "NZDT": "NZDT", "ECT": "ECT", "VET": "VET", "AEST": "AEST", "BOT": "BOT", "OEZ": "OEZ", "OESZ": "OESZ", "MEZ": "MEZ", "COST": "COST", "ADT": "ADT", "COT": "COT", "WART": "WART", "WAT": "WAT", "WAST": "WAST", "MYT": "MYT", "UYT": "UYT", "SRT": "SRT", "CLT": "CLT", "GYT": "GYT", "CHADT": "CHADT", "SGT": "SGT", "ARST": "ARST", "HADT": "HADT", "CLST": "CLST", "CAT": "CAT", "WESZ": "WESZ", "AKST": "AKST", "AKDT": "AKDT", "EDT": "EDT", "LHST": "LHST", "IST": "IST", "ART": "ART", "PDT": "PDT", "MDT": "MDT", "JDT": "JDT", "HKST": "HKST", "WEZ": "WEZ", "WARST": "WARST", "HAST": "HAST", "CDT": "CDT", "∅∅∅": "∅∅∅", "LHDT": "LHDT", "ACWST": "ACWST", "WITA": "WITA", "TMST": "TMST", "MST": "MST", "AWDT": "AWDT", "JST": "JST", "WIB": "WIB", "ACST": "ACST", "ACDT": "ACDT", "TMT": "TMT", "ChST": "ChST", "HAT": "HAT", "GMT": "GMT", "GFT": "GFT", "ACWDT": "ACWDT", "PST": "PST", "CST": "CST", "NZST": "NZST", "HNT": "HNT", "UYST": "UYST", "EAT": "EAT", "SAST": "SAST", "HKT": "HKT", "CHAST": "CHAST"}, + periodsAbbreviated: []string{"ip.", "ep."}, + periodsNarrow: []string{"ip.", "ep."}, + periodsWide: []string{"ip.", "ep."}, + erasAbbreviated: []string{"oKr.", "mKr."}, + erasNarrow: []string{"", ""}, + erasWide: []string{"Ovdil Kristus šoddâm", "maŋa Kristus šoddâm"}, + timezones: map[string]string{"AST": "AST", "VET": "VET", "ARST": "ARST", "LHDT": "LHDT", "COST": "COST", "JDT": "JDT", "WIT": "WIT", "PDT": "PDT", "WEZ": "WEZ", "WESZ": "WESZ", "NZST": "NZST", "GMT": "GMT", "HNCU": "HNCU", "CLT": "CLT", "HEEG": "HEEG", "TMT": "TMT", "TMST": "TMST", "COT": "COT", "HAST": "HAST", "NZDT": "NZDT", "EDT": "EDT", "AEDT": "AEDT", "HNPM": "HNPM", "WAT": "WAT", "MDT": "MDT", "UYST": "UYST", "CST": "CST", "PST": "PST", "AEST": "AEST", "WAST": "WAST", "LHST": "LHST", "∅∅∅": "∅∅∅", "EAT": "EAT", "MST": "MST", "SRT": "SRT", "ART": "ART", "HKST": "HKST", "WITA": "WITA", "HNPMX": "HNPMX", "CDT": "CDT", "BT": "BT", "HECU": "HECU", "AWDT": "AWDT", "SAST": "SAST", "JST": "JST", "EST": "EST", "UYT": "UYT", "AKST": "AKST", "HNOG": "HNOG", "ACWST": "ACWST", "ChST": "ChST", "CAT": "CAT", "ECT": "ECT", "HENOMX": "HENOMX", "AKDT": "AKDT", "HADT": "HADT", "HEOG": "HEOG", "MESZ": "MESZ", "ACDT": "ACDT", "OEZ": "OEZ", "WART": "WART", "WARST": "WARST", "MYT": "MYT", "WIB": "WIB", "HNT": "HNT", "HAT": "HAT", "CHAST": "CHAST", "ACWDT": "ACWDT", "HEPM": "HEPM", "SGT": "SGT", "GFT": "GFT", "HEPMX": "HEPMX", "ADT": "ADT", "AWST": "AWST", "HKT": "HKT", "HNEG": "HNEG", "CHADT": "CHADT", "BOT": "BOT", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "GYT": "GYT", "MEZ": "MEZ", "IST": "IST", "CLST": "CLST", "ACST": "ACST"}, } } @@ -115,7 +128,7 @@ func (smn *smn) MonthAbbreviated(month time.Month) string { // MonthsAbbreviated returns the locales abbreviated months func (smn *smn) MonthsAbbreviated() []string { - return nil + return smn.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided @@ -125,7 +138,7 @@ func (smn *smn) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (smn *smn) MonthsNarrow() []string { - return nil + return smn.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -181,13 +194,77 @@ func (smn *smn) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'smn' and handles both Whole and Real numbers based on 'v' func (smn *smn) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, smn.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, smn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'smn' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (smn *smn) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, smn.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, smn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, smn.percentSuffix...) + + b = append(b, smn.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'smn' @@ -195,26 +272,31 @@ func (smn *smn) FmtCurrency(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := smn.currencies[currency] - l := len(s) + len(symbol) + 3 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, smn.decimal[0]) + inWhole = true continue } - b = append(b, s[i]) - } - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } - for j := len(smn.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyPositivePrefix[j]) + b = append(b, s[i]) } if num < 0 { @@ -226,8 +308,21 @@ func (smn *smn) FmtCurrency(num float64, v uint64, currency currency.Type) strin b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, smn.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + b = append(b, smn.currencyPositiveSuffix...) + b = append(b, symbol...) + return string(b) } @@ -237,42 +332,37 @@ func (smn *smn) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := smn.currencies[currency] - l := len(s) + len(symbol) + 3 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, smn.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(smn.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyNegativePrefix[j]) - } - b = append(b, smn.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(smn.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyPositivePrefix[j]) - } - } // reverse @@ -280,11 +370,24 @@ func (smn *smn) FmtAccounting(num float64, v uint64, currency currency.Type) str b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, smn.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + if num < 0 { b = append(b, smn.currencyNegativeSuffix...) + b = append(b, symbol...) } else { b = append(b, smn.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -295,6 +398,17 @@ func (smn *smn) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -303,6 +417,17 @@ func (smn *smn) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, smn.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -311,6 +436,17 @@ func (smn *smn) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, smn.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -319,6 +455,18 @@ func (smn *smn) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, []byte{0x63, 0x63, 0x63, 0x63, 0x2c, 0x20}...) + b = append(b, smn.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -327,6 +475,15 @@ func (smn *smn) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -335,6 +492,22 @@ func (smn *smn) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -343,6 +516,26 @@ func (smn *smn) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -351,5 +544,30 @@ func (smn *smn) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := smn.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/smn_FI/smn_FI.go b/smn_FI/smn_FI.go index 312f509ff..c65ce98fd 100644 --- a/smn_FI/smn_FI.go +++ b/smn_FI/smn_FI.go @@ -18,13 +18,12 @@ type smn_FI struct { group string minus string percent string + percentSuffix string perMille string timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string currencyPositiveSuffix string - currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string @@ -50,17 +49,31 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 3, 6}, pluralsOrdinal: nil, pluralsRange: nil, - timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyPositiveSuffix: "K", - currencyNegativePrefix: " ", - currencyNegativeSuffix: "K", + decimal: ",", + group: " ", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ".", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + percentSuffix: " ", + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "uđiv", "kuovâ", "njuhčâ", "cuáŋui", "vyesi", "kesi", "syeini", "porge", "čohčâ", "roovvâd", "skammâ", "juovlâ"}, + monthsNarrow: []string{"", "U", "K", "NJ", "C", "V", "K", "S", "P", "Č", "R", "S", "J"}, monthsWide: []string{"", "uđđâivemáánu", "kuovâmáánu", "njuhčâmáánu", "cuáŋuimáánu", "vyesimáánu", "kesimáánu", "syeinimáánu", "porgemáánu", "čohčâmáánu", "roovvâdmáánu", "skammâmáánu", "juovlâmáánu"}, - daysAbbreviated: []string{"pa", "vu", "ma", "ko", "tu", "vá", "lá"}, - daysNarrow: []string{"P", "V", "M", "K", "T", "V", "L"}, + daysAbbreviated: []string{"pas", "vuo", "maj", "kos", "tuo", "vás", "láv"}, + daysNarrow: []string{"p", "V", "M", "K", "T", "V", "L"}, + daysShort: []string{"pa", "vu", "ma", "ko", "tu", "vá", "lá"}, daysWide: []string{"pasepeeivi", "vuossaargâ", "majebaargâ", "koskoho", "tuorâstuv", "vástuppeeivi", "lávurduv"}, - timezones: map[string]string{"WARST": "WARST", "EAT": "EAT", "MDT": "MDT", "MYT": "MYT", "WESZ": "WESZ", "SRT": "SRT", "COST": "COST", "NZST": "NZST", "LHST": "LHST", "GFT": "GFT", "ECT": "ECT", "WAST": "WAST", "AKST": "AKST", "TMST": "TMST", "GYT": "GYT", "CST": "CST", "UYST": "UYST", "MEZ": "MEZ", "NZDT": "NZDT", "CLT": "CLT", "JST": "JST", "∅∅∅": "∅∅∅", "MESZ": "MESZ", "WAT": "WAT", "EST": "EST", "CDT": "CDT", "WIT": "WIT", "LHDT": "LHDT", "UYT": "UYT", "ACDT": "ACDT", "IST": "IST", "TMT": "TMT", "AWST": "AWST", "WIB": "WIB", "HKT": "HKT", "HAT": "HAT", "SGT": "SGT", "COT": "COT", "ACWST": "ACWST", "ART": "ART", "EDT": "EDT", "PDT": "PDT", "AWDT": "AWDT", "MST": "MST", "ChST": "ChST", "BOT": "BOT", "AEDT": "AEDT", "CAT": "CAT", "CHAST": "CHAST", "OESZ": "OESZ", "ADT": "ADT", "BT": "BT", "AKDT": "AKDT", "WITA": "WITA", "ACWDT": "ACWDT", "WART": "WART", "CHADT": "CHADT", "WEZ": "WEZ", "GMT": "GMT", "ACST": "ACST", "AEST": "AEST", "PST": "PST", "OEZ": "OEZ", "HKST": "HKST", "HAST": "HAST", "HADT": "HADT", "SAST": "SAST", "AST": "AST", "HNT": "HNT", "JDT": "JDT", "VET": "VET", "ARST": "ARST", "CLST": "CLST"}, + periodsAbbreviated: []string{"ip.", "ep."}, + periodsNarrow: []string{"ip.", "ep."}, + periodsWide: []string{"ip.", "ep."}, + erasAbbreviated: []string{"oKr.", "mKr."}, + erasNarrow: []string{"", ""}, + erasWide: []string{"Ovdil Kristus šoddâm", "maŋa Kristus šoddâm"}, + timezones: map[string]string{"HNOG": "HNOG", "WIT": "WIT", "BOT": "BOT", "AKST": "AKST", "ACWDT": "ACWDT", "NZDT": "NZDT", "MEZ": "MEZ", "IST": "IST", "∅∅∅": "∅∅∅", "CAT": "CAT", "COST": "COST", "NZST": "NZST", "CHAST": "CHAST", "HKT": "HKT", "MESZ": "MESZ", "TMST": "TMST", "SRT": "SRT", "HAT": "HAT", "WAT": "WAT", "HAST": "HAST", "HKST": "HKST", "HNEG": "HNEG", "TMT": "TMT", "EAT": "EAT", "GYT": "GYT", "WEZ": "WEZ", "CHADT": "CHADT", "JDT": "JDT", "ACDT": "ACDT", "HEPMX": "HEPMX", "ART": "ART", "HNPM": "HNPM", "CDT": "CDT", "HENOMX": "HENOMX", "AKDT": "AKDT", "JST": "JST", "MDT": "MDT", "UYT": "UYT", "HNT": "HNT", "AEST": "AEST", "WARST": "WARST", "HEOG": "HEOG", "LHST": "LHST", "HEPM": "HEPM", "GMT": "GMT", "ARST": "ARST", "AWDT": "AWDT", "HNNOMX": "HNNOMX", "WART": "WART", "SGT": "SGT", "BT": "BT", "OEZ": "OEZ", "AEDT": "AEDT", "CLST": "CLST", "WAST": "WAST", "OESZ": "OESZ", "ECT": "ECT", "COT": "COT", "WESZ": "WESZ", "AWST": "AWST", "MYT": "MYT", "MST": "MST", "EDT": "EDT", "WITA": "WITA", "LHDT": "LHDT", "HEEG": "HEEG", "CST": "CST", "ADT": "ADT", "UYST": "UYST", "ACWST": "ACWST", "PDT": "PDT", "VET": "VET", "ChST": "ChST", "ACST": "ACST", "HNCU": "HNCU", "HNPMX": "HNPMX", "EST": "EST", "AST": "AST", "CLT": "CLT", "GFT": "GFT", "WIB": "WIB", "HADT": "HADT", "HECU": "HECU", "PST": "PST", "SAST": "SAST"}, } } @@ -115,7 +128,7 @@ func (smn *smn_FI) MonthAbbreviated(month time.Month) string { // MonthsAbbreviated returns the locales abbreviated months func (smn *smn_FI) MonthsAbbreviated() []string { - return nil + return smn.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided @@ -125,7 +138,7 @@ func (smn *smn_FI) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (smn *smn_FI) MonthsNarrow() []string { - return nil + return smn.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -181,13 +194,77 @@ func (smn *smn_FI) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'smn_FI' and handles both Whole and Real numbers based on 'v' func (smn *smn_FI) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, smn.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, smn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'smn_FI' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (smn *smn_FI) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 5 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, smn.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, smn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, smn.percentSuffix...) + + b = append(b, smn.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'smn_FI' @@ -195,26 +272,31 @@ func (smn *smn_FI) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := smn.currencies[currency] - l := len(s) + len(symbol) + 3 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, smn.decimal[0]) + inWhole = true continue } - b = append(b, s[i]) - } - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } - for j := len(smn.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyPositivePrefix[j]) + b = append(b, s[i]) } if num < 0 { @@ -226,8 +308,21 @@ func (smn *smn_FI) FmtCurrency(num float64, v uint64, currency currency.Type) st b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, smn.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + b = append(b, smn.currencyPositiveSuffix...) + b = append(b, symbol...) + return string(b) } @@ -237,42 +332,37 @@ func (smn *smn_FI) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := smn.currencies[currency] - l := len(s) + len(symbol) + 3 - + l := len(s) + len(symbol) + 4 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { if s[i] == '.' { b = append(b, smn.decimal[0]) + inWhole = true continue } + if inWhole { + if count == 3 { + for j := len(smn.group) - 1; j >= 0; j-- { + b = append(b, smn.group[j]) + } + count = 1 + } else { + count++ + } + } + b = append(b, s[i]) } if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(smn.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyNegativePrefix[j]) - } - b = append(b, smn.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(smn.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, smn.currencyPositivePrefix[j]) - } - } // reverse @@ -280,11 +370,24 @@ func (smn *smn_FI) FmtAccounting(num float64, v uint64, currency currency.Type) b[i], b[j] = b[j], b[i] } + if int(v) < 2 { + + if v == 0 { + b = append(b, smn.decimal...) + } + + for i := 0; i < 2-int(v); i++ { + b = append(b, '0') + } + } + if num < 0 { b = append(b, smn.currencyNegativeSuffix...) + b = append(b, symbol...) } else { b = append(b, smn.currencyPositiveSuffix...) + b = append(b, symbol...) } return string(b) @@ -295,6 +398,17 @@ func (smn *smn_FI) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e}...) + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2e}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -303,6 +417,17 @@ func (smn *smn_FI) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, smn.monthsAbbreviated[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -311,6 +436,17 @@ func (smn *smn_FI) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, smn.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -319,6 +455,18 @@ func (smn *smn_FI) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) + b = append(b, []byte{0x63, 0x63, 0x63, 0x63, 0x2c, 0x20}...) + b = append(b, smn.monthsWide[t.Month()]...) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2e, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + return string(b) } @@ -327,6 +475,15 @@ func (smn *smn_FI) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -335,6 +492,22 @@ func (smn *smn_FI) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -343,6 +516,26 @@ func (smn *smn_FI) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -351,5 +544,30 @@ func (smn *smn_FI) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, []byte{0x2e}...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, []byte{0x2e}...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := smn.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/sn/sn.go b/sn/sn.go index d0e7b5d0a..c3fc978fe 100644 --- a/sn/sn.go +++ b/sn/sn.go @@ -48,20 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "Ndi", "Kuk", "Kur", "Kub", "Chv", "Chk", "Chg", "Nya", "Gun", "Gum", "Mb", "Zvi"}, + monthsAbbreviated: []string{"", "Ndi", "Kuk", "Kur", "Kub", "Chv", "Chk", "Chg", "Nya", "Gun", "Gum", "Mbu", "Zvi"}, monthsNarrow: []string{"", "N", "K", "K", "K", "C", "C", "C", "N", "G", "G", "M", "Z"}, monthsWide: []string{"", "Ndira", "Kukadzi", "Kurume", "Kubvumbi", "Chivabvu", "Chikumi", "Chikunguru", "Nyamavhuvhu", "Gunyana", "Gumiguru", "Mbudzi", "Zvita"}, - daysAbbreviated: []string{"Svo", "Muv", "Chip", "Chit", "Chin", "Chis", "Mug"}, + daysAbbreviated: []string{"Svo", "Muv", "Chp", "Cht", "Chn", "Chs", "Mug"}, daysNarrow: []string{"S", "M", "C", "C", "C", "C", "M"}, + daysShort: []string{"Sv", "Mu", "Cp", "Ct", "Cn", "Cs", "Mg"}, daysWide: []string{"Svondo", "Muvhuro", "Chipiri", "Chitatu", "China", "Chishanu", "Mugovera"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Kristo asati auya", "Kristo ashaya"}, - timezones: map[string]string{"WESZ": "WESZ", "GFT": "GFT", "AEDT": "AEDT", "CAT": "CAT", "HAT": "HAT", "OEZ": "OEZ", "AWDT": "AWDT", "MST": "MST", "ACST": "ACST", "EST": "EST", "MDT": "MDT", "CLT": "CLT", "OESZ": "OESZ", "AST": "AST", "AKDT": "AKDT", "PDT": "PDT", "WITA": "WITA", "TMT": "TMT", "NZDT": "NZDT", "LHST": "LHST", "WARST": "WARST", "EAT": "EAT", "COT": "COT", "UYST": "UYST", "JDT": "JDT", "HAST": "HAST", "GYT": "GYT", "MYT": "MYT", "NZST": "NZST", "WIT": "WIT", "HKT": "HKT", "WART": "WART", "SAST": "SAST", "CST": "CST", "BT": "BT", "∅∅∅": "∅∅∅", "VET": "VET", "ACWDT": "ACWDT", "WAT": "WAT", "WAST": "WAST", "IST": "IST", "EDT": "EDT", "PST": "PST", "SGT": "SGT", "CLST": "CLST", "CHADT": "CHADT", "ACWST": "ACWST", "TMST": "TMST", "ChST": "ChST", "CHAST": "CHAST", "COST": "COST", "ART": "ART", "ARST": "ARST", "ADT": "ADT", "AKST": "AKST", "AWST": "AWST", "HNT": "HNT", "ACDT": "ACDT", "GMT": "GMT", "SRT": "SRT", "HADT": "HADT", "BOT": "BOT", "UYT": "UYT", "JST": "JST", "WEZ": "WEZ", "CDT": "CDT", "LHDT": "LHDT", "WIB": "WIB", "MEZ": "MEZ", "MESZ": "MESZ", "ECT": "ECT", "HKST": "HKST", "AEST": "AEST"}, + erasWide: []string{"Kristo asati auya", "mugore ramambo vedu"}, + timezones: map[string]string{"AKST": "AKST", "ART": "ART", "NZDT": "NZDT", "SAST": "SAST", "ACDT": "ACDT", "HECU": "HECU", "GMT": "GMT", "HEPMX": "HEPMX", "HEOG": "HEOG", "NZST": "NZST", "CAT": "CAT", "EAT": "EAT", "HNNOMX": "HNNOMX", "CST": "CST", "HNOG": "HNOG", "ChST": "ChST", "TMT": "TMT", "ECT": "ECT", "SGT": "SGT", "ADT": "ADT", "PST": "PST", "HNT": "HNT", "AEST": "AEST", "OESZ": "OESZ", "COT": "COT", "HENOMX": "HENOMX", "ACST": "ACST", "OEZ": "OEZ", "EDT": "EDT", "SRT": "SRT", "AWST": "AWST", "AWDT": "AWDT", "WITA": "WITA", "JST": "JST", "WART": "WART", "HNEG": "HNEG", "MYT": "MYT", "WIB": "WIB", "ACWDT": "ACWDT", "HAT": "HAT", "HKST": "HKST", "HNPM": "HNPM", "LHDT": "LHDT", "HEEG": "HEEG", "WIT": "WIT", "MEZ": "MEZ", "CLT": "CLT", "WAST": "WAST", "HAST": "HAST", "TMST": "TMST", "AKDT": "AKDT", "ACWST": "ACWST", "MESZ": "MESZ", "BOT": "BOT", "COST": "COST", "MDT": "MDT", "GYT": "GYT", "WEZ": "WEZ", "WESZ": "WESZ", "CHADT": "CHADT", "WARST": "WARST", "HNCU": "HNCU", "HNPMX": "HNPMX", "∅∅∅": "∅∅∅", "GFT": "GFT", "WAT": "WAT", "EST": "EST", "HEPM": "HEPM", "LHST": "LHST", "CHAST": "CHAST", "CLST": "CLST", "BT": "BT", "MST": "MST", "UYT": "UYT", "CDT": "CDT", "HADT": "HADT", "JDT": "JDT", "UYST": "UYST", "PDT": "PDT", "ARST": "ARST", "VET": "VET", "AEDT": "AEDT", "HKT": "HKT", "IST": "IST", "AST": "AST"}, } } @@ -180,13 +190,73 @@ func (sn *sn) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'sn' and handles both Whole and Real numbers based on 'v' func (sn *sn) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sn.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, sn.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'sn' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sn *sn) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sn.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, sn.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'sn' @@ -194,7 +264,7 @@ func (sn *sn) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sn.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -252,7 +322,7 @@ func (sn *sn) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sn.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -321,12 +391,13 @@ func (sn *sn) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Month() < 10 { b = append(b, '0') @@ -334,8 +405,13 @@ func (sn *sn) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -345,11 +421,16 @@ func (sn *sn) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -359,11 +440,16 @@ func (sn *sn) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -373,13 +459,18 @@ func (sn *sn) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, sn.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, sn.daysWide[t.Weekday()]...) return string(b) } @@ -389,13 +480,11 @@ func (sn *sn) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -403,13 +492,6 @@ func (sn *sn) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } return string(b) } @@ -419,13 +501,11 @@ func (sn *sn) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -440,13 +520,6 @@ func (sn *sn) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } return string(b) } @@ -456,13 +529,11 @@ func (sn *sn) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -479,14 +550,6 @@ func (sn *sn) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -498,13 +561,11 @@ func (sn *sn) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -521,14 +582,6 @@ func (sn *sn) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := sn.timezones[tz]; ok { diff --git a/sn_ZW/sn_ZW.go b/sn_ZW/sn_ZW.go index 586eaddc6..837d019b7 100644 --- a/sn_ZW/sn_ZW.go +++ b/sn_ZW/sn_ZW.go @@ -48,20 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "Ndi", "Kuk", "Kur", "Kub", "Chv", "Chk", "Chg", "Nya", "Gun", "Gum", "Mb", "Zvi"}, + monthsAbbreviated: []string{"", "Ndi", "Kuk", "Kur", "Kub", "Chv", "Chk", "Chg", "Nya", "Gun", "Gum", "Mbu", "Zvi"}, monthsNarrow: []string{"", "N", "K", "K", "K", "C", "C", "C", "N", "G", "G", "M", "Z"}, monthsWide: []string{"", "Ndira", "Kukadzi", "Kurume", "Kubvumbi", "Chivabvu", "Chikumi", "Chikunguru", "Nyamavhuvhu", "Gunyana", "Gumiguru", "Mbudzi", "Zvita"}, - daysAbbreviated: []string{"Svo", "Muv", "Chip", "Chit", "Chin", "Chis", "Mug"}, + daysAbbreviated: []string{"Svo", "Muv", "Chp", "Cht", "Chn", "Chs", "Mug"}, daysNarrow: []string{"S", "M", "C", "C", "C", "C", "M"}, + daysShort: []string{"Sv", "Mu", "Cp", "Ct", "Cn", "Cs", "Mg"}, daysWide: []string{"Svondo", "Muvhuro", "Chipiri", "Chitatu", "China", "Chishanu", "Mugovera"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Kristo asati auya", "Kristo ashaya"}, - timezones: map[string]string{"EDT": "EDT", "ADT": "ADT", "WIT": "WIT", "HNT": "HNT", "HKST": "HKST", "CLT": "CLT", "LHST": "LHST", "OESZ": "OESZ", "HADT": "HADT", "SRT": "SRT", "AKST": "AKST", "ChST": "ChST", "NZDT": "NZDT", "UYST": "UYST", "GMT": "GMT", "GFT": "GFT", "VET": "VET", "WARST": "WARST", "EAT": "EAT", "WITA": "WITA", "TMT": "TMT", "CDT": "CDT", "COST": "COST", "WAT": "WAT", "CST": "CST", "AWST": "AWST", "CHADT": "CHADT", "AKDT": "AKDT", "CLST": "CLST", "WESZ": "WESZ", "HKT": "HKT", "WEZ": "WEZ", "AEDT": "AEDT", "IST": "IST", "PDT": "PDT", "MDT": "MDT", "LHDT": "LHDT", "AWDT": "AWDT", "CHAST": "CHAST", "OEZ": "OEZ", "SGT": "SGT", "ACWST": "ACWST", "EST": "EST", "MST": "MST", "HAT": "HAT", "JST": "JST", "AST": "AST", "NZST": "NZST", "MESZ": "MESZ", "ART": "ART", "ECT": "ECT", "MEZ": "MEZ", "ACDT": "ACDT", "WART": "WART", "WAST": "WAST", "TMST": "TMST", "GYT": "GYT", "BOT": "BOT", "WIB": "WIB", "ACST": "ACST", "PST": "PST", "MYT": "MYT", "∅∅∅": "∅∅∅", "UYT": "UYT", "JDT": "JDT", "COT": "COT", "ARST": "ARST", "ACWDT": "ACWDT", "AEST": "AEST", "SAST": "SAST", "CAT": "CAT", "BT": "BT", "HAST": "HAST"}, + erasWide: []string{"Kristo asati auya", "mugore ramambo vedu"}, + timezones: map[string]string{"WART": "WART", "HNCU": "HNCU", "EST": "EST", "UYT": "UYT", "BT": "BT", "ACWST": "ACWST", "CLST": "CLST", "HENOMX": "HENOMX", "WAST": "WAST", "CST": "CST", "AST": "AST", "AWDT": "AWDT", "TMST": "TMST", "BOT": "BOT", "AEDT": "AEDT", "CHADT": "CHADT", "LHST": "LHST", "∅∅∅": "∅∅∅", "WIT": "WIT", "CHAST": "CHAST", "ACDT": "ACDT", "HEOG": "HEOG", "HAST": "HAST", "HKST": "HKST", "EDT": "EDT", "MST": "MST", "COST": "COST", "UYST": "UYST", "WIB": "WIB", "ARST": "ARST", "AEST": "AEST", "HEPM": "HEPM", "CAT": "CAT", "EAT": "EAT", "HEEG": "HEEG", "GFT": "GFT", "ACST": "ACST", "NZDT": "NZDT", "JST": "JST", "JDT": "JDT", "OESZ": "OESZ", "SGT": "SGT", "GYT": "GYT", "HNOG": "HNOG", "MEZ": "MEZ", "CLT": "CLT", "ChST": "ChST", "VET": "VET", "WEZ": "WEZ", "WITA": "WITA", "HNEG": "HNEG", "AKDT": "AKDT", "OEZ": "OEZ", "PDT": "PDT", "AWST": "AWST", "SAST": "SAST", "WAT": "WAT", "ART": "ART", "HKT": "HKT", "MESZ": "MESZ", "HNNOMX": "HNNOMX", "CDT": "CDT", "SRT": "SRT", "ACWDT": "ACWDT", "HNT": "HNT", "MDT": "MDT", "ADT": "ADT", "LHDT": "LHDT", "TMT": "TMT", "HECU": "HECU", "WARST": "WARST", "MYT": "MYT", "HAT": "HAT", "HNPM": "HNPM", "NZST": "NZST", "GMT": "GMT", "AKST": "AKST", "COT": "COT", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "HADT": "HADT", "PST": "PST", "WESZ": "WESZ", "IST": "IST", "ECT": "ECT"}, } } @@ -180,13 +190,73 @@ func (sn *sn_ZW) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'sn_ZW' and handles both Whole and Real numbers based on 'v' func (sn *sn_ZW) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sn.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, sn.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'sn_ZW' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (sn *sn_ZW) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, sn.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, sn.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, sn.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'sn_ZW' @@ -194,7 +264,7 @@ func (sn *sn_ZW) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sn.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -252,7 +322,7 @@ func (sn *sn_ZW) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := sn.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -321,12 +391,13 @@ func (sn *sn_ZW) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) + b = append(b, []byte{0x2d}...) if t.Month() < 10 { b = append(b, '0') @@ -334,8 +405,13 @@ func (sn *sn_ZW) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -345,11 +421,16 @@ func (sn *sn_ZW) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -359,11 +440,16 @@ func (sn *sn_ZW) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -373,13 +459,18 @@ func (sn *sn_ZW) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, sn.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, sn.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + b = append(b, sn.daysWide[t.Weekday()]...) return string(b) } @@ -389,13 +480,11 @@ func (sn *sn_ZW) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -403,13 +492,6 @@ func (sn *sn_ZW) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } return string(b) } @@ -419,13 +501,11 @@ func (sn *sn_ZW) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -440,13 +520,6 @@ func (sn *sn_ZW) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } return string(b) } @@ -456,13 +529,11 @@ func (sn *sn_ZW) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -479,14 +550,6 @@ func (sn *sn_ZW) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -498,13 +561,11 @@ func (sn *sn_ZW) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, sn.timeSeparator...) if t.Minute() < 10 { @@ -521,14 +582,6 @@ func (sn *sn_ZW) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, sn.periodsAbbreviated[0]...) - } else { - b = append(b, sn.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := sn.timezones[tz]; ok { diff --git a/so/so.go b/so/so.go index 766aca6b4..0f7b15afd 100644 --- a/so/so.go +++ b/so/so.go @@ -49,19 +49,21 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "S", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "S", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Kob", "Lab", "Sad", "Afr", "Sha", "Lix", "Tod", "Sid", "Sag", "Tob", "KIT", "LIT"}, monthsNarrow: []string{"", "K", "L", "S", "A", "S", "L", "T", "S", "S", "T", "K", "L"}, monthsWide: []string{"", "Bisha Koobaad", "Bisha Labaad", "Bisha Saddexaad", "Bisha Afraad", "Bisha Shanaad", "Bisha Lixaad", "Bisha Todobaad", "Bisha Sideedaad", "Bisha Sagaalaad", "Bisha Tobnaad", "Bisha Kow iyo Tobnaad", "Bisha Laba iyo Tobnaad"}, daysAbbreviated: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, - daysNarrow: []string{"A", "I", "T", "A", "K", "J", "S"}, + daysNarrow: []string{"A", "I", "T", "A", "Kh", "J", "S"}, + daysShort: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, daysWide: []string{"Axad", "Isniin", "Talaado", "Arbaco", "Khamiis", "Jimco", "Sabti"}, periodsAbbreviated: []string{"sn.", "gn."}, + periodsNarrow: []string{"sn.", "gn."}, periodsWide: []string{"sn.", "gn."}, erasAbbreviated: []string{"CK", "CD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ciise ka hor (CS)", "Ciise ka dib (CS)"}, - timezones: map[string]string{"GFT": "GFT", "MEZ": "MEZ", "AWST": "AWST", "OEZ": "OEZ", "HKST": "HKST", "SGT": "SGT", "SAST": "SAST", "CLST": "CLST", "MESZ": "MESZ", "COT": "COT", "ACWST": "ACWST", "AST": "AST", "WAT": "WAT", "PDT": "PDT", "HNT": "HNT", "LHST": "LHST", "JST": "JST", "JDT": "JDT", "ACDT": "ACDT", "TMT": "TMT", "MDT": "MDT", "NZDT": "NZDT", "UYST": "UYST", "COST": "COST", "WIB": "WIB", "HAST": "HAST", "WAST": "WAST", "GYT": "GYT", "BT": "BT", "BOT": "BOT", "GMT": "GMT", "CHAST": "CHAST", "SRT": "SRT", "AEST": "AEST", "EAT": "EAT", "EST": "EST", "MST": "MST", "HAT": "HAT", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "HKT": "HKT", "WART": "WART", "IST": "IST", "CDT": "CDT", "ART": "ART", "ARST": "ARST", "WEZ": "WEZ", "HADT": "HADT", "UYT": "UYT", "ACWDT": "ACWDT", "WITA": "WITA", "CST": "CST", "WARST": "WARST", "EDT": "EDT", "WIT": "WIT", "ECT": "ECT", "TMST": "TMST", "AWDT": "AWDT", "VET": "VET", "ADT": "ADT", "AKST": "AKST", "NZST": "NZST", "ChST": "ChST", "PST": "PST", "LHDT": "LHDT", "AEDT": "AEDT", "AKDT": "AKDT", "OESZ": "OESZ", "CHADT": "CHADT", "ACST": "ACST", "MYT": "MYT", "CAT": "CAT", "CLT": "CLT"}, + erasWide: []string{"CK", "CD"}, + timezones: map[string]string{"UYT": "UYT", "BT": "BT", "HEOG": "HEOG", "NZDT": "NZDT", "TMT": "TMT", "OEZ": "OEZ", "COST": "Waqtiyada Xagaaga Kolambiya", "MDT": "MDT", "HEPM": "HEPM", "GMT": "GMT", "SGT": "SGT", "WITA": "WITA", "PDT": "PDT", "WART": "WART", "HAST": "HAST", "JST": "JST", "HEEG": "HEEG", "GFT": "GFT", "CAT": "CAT", "ART": "ART", "AKDT": "AKDT", "WIT": "WIT", "MST": "MST", "UYST": "UYST", "ACWST": "ACWST", "HAT": "HAT", "ARST": "ARST", "AEST": "AEST", "AWDT": "AWDT", "HNNOMX": "HNNOMX", "GYT": "GYT", "VET": "VET", "MESZ": "MESZ", "LHDT": "LHDT", "NZST": "NZST", "WAT": "WAT", "ADT": "ADT", "IST": "IST", "EAT": "EAT", "CST": "CST", "HADT": "HADT", "WESZ": "WESZ", "HKT": "HKT", "HNPM": "HNPM", "SAST": "SAST", "JDT": "JDT", "BOT": "BOT", "WIB": "WIB", "OESZ": "OESZ", "WAST": "WAST", "MEZ": "MEZ", "CHAST": "CHAST", "HECU": "HECU", "HNT": "HNT", "HNOG": "HNOG", "AEDT": "AEDT", "CLT": "CLT", "TMST": "TMST", "ACST": "ACST", "WARST": "WARST", "PST": "PST", "AST": "AST", "WEZ": "WEZ", "HKST": "HKST", "LHST": "LHST", "ChST": "ChST", "HNEG": "HNEG", "EDT": "EDT", "HEPMX": "HEPMX", "CLST": "CLST", "HENOMX": "HENOMX", "HNCU": "HNCU", "EST": "EST", "SRT": "SRT", "CHADT": "CHADT", "ACDT": "ACDT", "MYT": "MYT", "AKST": "AKST", "AWST": "AWST", "ECT": "ECT", "COT": "Waqtiyada Caadiga ah ee kolambiya", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "∅∅∅": "∅∅∅", "CDT": "CDT"}, } } @@ -354,7 +356,12 @@ func (so *so) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, so.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +379,12 @@ func (so *so) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, so.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -393,7 +405,12 @@ func (so *so) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/so_DJ/so_DJ.go b/so_DJ/so_DJ.go index 9d8939282..c75e3403a 100644 --- a/so_DJ/so_DJ.go +++ b/so_DJ/so_DJ.go @@ -49,19 +49,21 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "Fdj", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Kob", "Lab", "Sad", "Afr", "Sha", "Lix", "Tod", "Sid", "Sag", "Tob", "KIT", "LIT"}, monthsNarrow: []string{"", "K", "L", "S", "A", "S", "L", "T", "S", "S", "T", "K", "L"}, monthsWide: []string{"", "Bisha Koobaad", "Bisha Labaad", "Bisha Saddexaad", "Bisha Afraad", "Bisha Shanaad", "Bisha Lixaad", "Bisha Todobaad", "Bisha Sideedaad", "Bisha Sagaalaad", "Bisha Tobnaad", "Bisha Kow iyo Tobnaad", "Bisha Laba iyo Tobnaad"}, daysAbbreviated: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, - daysNarrow: []string{"A", "I", "T", "A", "K", "J", "S"}, + daysNarrow: []string{"A", "I", "T", "A", "Kh", "J", "S"}, + daysShort: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, daysWide: []string{"Axad", "Isniin", "Talaado", "Arbaco", "Khamiis", "Jimco", "Sabti"}, periodsAbbreviated: []string{"sn.", "gn."}, + periodsNarrow: []string{"sn.", "gn."}, periodsWide: []string{"sn.", "gn."}, erasAbbreviated: []string{"CK", "CD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ciise ka hor (CS)", "Ciise ka dib (CS)"}, - timezones: map[string]string{"HAST": "HAST", "PDT": "PDT", "CLST": "CLST", "SGT": "SGT", "WART": "WART", "WIT": "WIT", "OEZ": "OEZ", "ACST": "ACST", "COT": "COT", "WAST": "WAST", "MST": "MST", "WITA": "WITA", "ChST": "ChST", "LHST": "LHST", "JDT": "JDT", "ECT": "ECT", "AEDT": "AEDT", "WAT": "WAT", "GMT": "GMT", "WEZ": "WEZ", "ACDT": "ACDT", "ACWDT": "ACWDT", "PST": "PST", "HNT": "HNT", "NZST": "NZST", "GFT": "GFT", "WESZ": "WESZ", "HKT": "HKT", "AEST": "AEST", "SAST": "SAST", "MEZ": "MEZ", "ADT": "ADT", "EAT": "EAT", "UYST": "UYST", "JST": "JST", "MDT": "MDT", "NZDT": "NZDT", "BT": "BT", "VET": "VET", "WIB": "WIB", "COST": "COST", "IST": "IST", "TMST": "TMST", "UYT": "UYT", "OESZ": "OESZ", "HADT": "HADT", "ARST": "ARST", "EDT": "EDT", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "MESZ": "MESZ", "ART": "ART", "AST": "AST", "CAT": "CAT", "CHAST": "CHAST", "TMT": "TMT", "CHADT": "CHADT", "EST": "EST", "CDT": "CDT", "HAT": "HAT", "ACWST": "ACWST", "GYT": "GYT", "LHDT": "LHDT", "HKST": "HKST", "AKST": "AKST", "CST": "CST", "BOT": "BOT", "CLT": "CLT", "SRT": "SRT", "WARST": "WARST", "MYT": "MYT", "AWST": "AWST", "AWDT": "AWDT"}, + erasWide: []string{"CK", "CD"}, + timezones: map[string]string{"MST": "MST", "UYT": "UYT", "UYST": "UYST", "ARST": "ARST", "ART": "ART", "HEOG": "HEOG", "HKT": "HKT", "CLST": "CLST", "JDT": "JDT", "EAT": "EAT", "HEPMX": "HEPMX", "AKST": "AKST", "SRT": "SRT", "ACWST": "ACWST", "HNOG": "HNOG", "WEZ": "WEZ", "BOT": "BOT", "GFT": "GFT", "EST": "EST", "AEDT": "AEDT", "IST": "IST", "ACDT": "ACDT", "HENOMX": "HENOMX", "ADT": "ADT", "NZST": "NZST", "NZDT": "NZDT", "CAT": "CAT", "COST": "Waqtiyada Xagaaga Kolambiya", "EDT": "EDT", "HADT": "HADT", "WITA": "WITA", "LHST": "LHST", "HEEG": "HEEG", "HNNOMX": "HNNOMX", "HECU": "HECU", "HNPMX": "HNPMX", "CST": "CST", "ACWDT": "ACWDT", "AEST": "AEST", "HNPM": "HNPM", "TMT": "TMT", "OEZ": "OEZ", "WARST": "WARST", "COT": "Waqtiyada Caadiga ah ee kolambiya", "WIB": "WIB", "BT": "BT", "PST": "PST", "CHADT": "CHADT", "WAST": "WAST", "WART": "WART", "WIT": "WIT", "HAT": "HAT", "ChST": "ChST", "SGT": "SGT", "VET": "VET", "HKST": "HKST", "MESZ": "MESZ", "ACST": "ACST", "OESZ": "OESZ", "ECT": "ECT", "CLT": "CLT", "HNCU": "HNCU", "AKDT": "AKDT", "HNT": "HNT", "AWST": "AWST", "MEZ": "MEZ", "LHDT": "LHDT", "CHAST": "CHAST", "SAST": "SAST", "∅∅∅": "∅∅∅", "MDT": "MDT", "CDT": "CDT", "GYT": "GYT", "HAST": "HAST", "WESZ": "WESZ", "HEPM": "HEPM", "JST": "JST", "HNEG": "HNEG", "TMST": "TMST", "GMT": "GMT", "AST": "AST", "MYT": "MYT", "PDT": "PDT", "AWDT": "AWDT", "WAT": "WAT"}, } } @@ -354,7 +356,12 @@ func (so *so_DJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, so.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +379,12 @@ func (so *so_DJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, so.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -393,7 +405,12 @@ func (so *so_DJ) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/so_ET/so_ET.go b/so_ET/so_ET.go index c3de84393..4a607b4a9 100644 --- a/so_ET/so_ET.go +++ b/so_ET/so_ET.go @@ -49,19 +49,21 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Kob", "Lab", "Sad", "Afr", "Sha", "Lix", "Tod", "Sid", "Sag", "Tob", "KIT", "LIT"}, monthsNarrow: []string{"", "K", "L", "S", "A", "S", "L", "T", "S", "S", "T", "K", "L"}, monthsWide: []string{"", "Bisha Koobaad", "Bisha Labaad", "Bisha Saddexaad", "Bisha Afraad", "Bisha Shanaad", "Bisha Lixaad", "Bisha Todobaad", "Bisha Sideedaad", "Bisha Sagaalaad", "Bisha Tobnaad", "Bisha Kow iyo Tobnaad", "Bisha Laba iyo Tobnaad"}, daysAbbreviated: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, - daysNarrow: []string{"A", "I", "T", "A", "K", "J", "S"}, + daysNarrow: []string{"A", "I", "T", "A", "Kh", "J", "S"}, + daysShort: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, daysWide: []string{"Axad", "Isniin", "Talaado", "Arbaco", "Khamiis", "Jimco", "Sabti"}, periodsAbbreviated: []string{"sn.", "gn."}, + periodsNarrow: []string{"sn.", "gn."}, periodsWide: []string{"sn.", "gn."}, erasAbbreviated: []string{"CK", "CD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ciise ka hor (CS)", "Ciise ka dib (CS)"}, - timezones: map[string]string{"ECT": "ECT", "WARST": "WARST", "EDT": "EDT", "CST": "CST", "JST": "JST", "WIB": "WIB", "PDT": "PDT", "TMT": "TMT", "MDT": "MDT", "NZDT": "NZDT", "ChST": "ChST", "AST": "AST", "UYT": "UYT", "HKT": "HKT", "SGT": "SGT", "WAT": "WAT", "WITA": "WITA", "MST": "MST", "HNT": "HNT", "OESZ": "OESZ", "GFT": "GFT", "HADT": "HADT", "CLST": "CLST", "EAT": "EAT", "GYT": "GYT", "JDT": "JDT", "∅∅∅": "∅∅∅", "WAST": "WAST", "AWDT": "AWDT", "CHADT": "CHADT", "ACWDT": "ACWDT", "AWST": "AWST", "HAT": "HAT", "GMT": "GMT", "AEST": "AEST", "EST": "EST", "CLT": "CLT", "WIT": "WIT", "WESZ": "WESZ", "ACDT": "ACDT", "AEDT": "AEDT", "ARST": "ARST", "ADT": "ADT", "AKDT": "AKDT", "LHDT": "LHDT", "AKST": "AKST", "CDT": "CDT", "CHAST": "CHAST", "COT": "COT", "ACWST": "ACWST", "WART": "WART", "PST": "PST", "IST": "IST", "CAT": "CAT", "OEZ": "OEZ", "MEZ": "MEZ", "HAST": "HAST", "ART": "ART", "SAST": "SAST", "LHST": "LHST", "BT": "BT", "UYST": "UYST", "WEZ": "WEZ", "ACST": "ACST", "COST": "COST", "VET": "VET", "TMST": "TMST", "MYT": "MYT", "SRT": "SRT", "HKST": "HKST", "NZST": "NZST", "BOT": "BOT", "MESZ": "MESZ"}, + erasWide: []string{"CK", "CD"}, + timezones: map[string]string{"∅∅∅": "∅∅∅", "ACWST": "ACWST", "MESZ": "MESZ", "CHADT": "CHADT", "ACDT": "ACDT", "GMT": "GMT", "HAST": "HAST", "AWDT": "AWDT", "NZST": "NZST", "TMST": "TMST", "JST": "JST", "HNEG": "HNEG", "ECT": "ECT", "COT": "Waqtiyada Caadiga ah ee kolambiya", "HENOMX": "HENOMX", "HNCU": "HNCU", "HNPMX": "HNPMX", "BT": "BT", "SAST": "SAST", "HECU": "HECU", "HEPMX": "HEPMX", "CST": "CST", "SRT": "SRT", "ACWDT": "ACWDT", "HAT": "HAT", "CHAST": "CHAST", "ACST": "ACST", "WIT": "WIT", "AEST": "AEST", "IST": "IST", "BOT": "BOT", "ART": "ART", "WART": "WART", "EST": "EST", "MDT": "MDT", "AST": "AST", "VET": "VET", "WEZ": "WEZ", "HNT": "HNT", "HNPM": "HNPM", "GFT": "GFT", "HNNOMX": "HNNOMX", "NZDT": "NZDT", "CAT": "CAT", "WAT": "WAT", "EDT": "EDT", "CDT": "CDT", "UYT": "UYT", "UYST": "UYST", "CLT": "CLT", "LHDT": "LHDT", "OEZ": "OEZ", "WARST": "WARST", "SGT": "SGT", "ADT": "ADT", "HADT": "HADT", "HEOG": "HEOG", "AWST": "AWST", "JDT": "JDT", "AKST": "AKST", "PDT": "PDT", "WITA": "WITA", "HEPM": "HEPM", "ChST": "ChST", "WAST": "WAST", "AKDT": "AKDT", "HKT": "HKT", "COST": "Waqtiyada Xagaaga Kolambiya", "AEDT": "AEDT", "TMT": "TMT", "MST": "MST", "WIB": "WIB", "PST": "PST", "MEZ": "MEZ", "HEEG": "HEEG", "OESZ": "OESZ", "GYT": "GYT", "WESZ": "WESZ", "HNOG": "HNOG", "HKST": "HKST", "EAT": "EAT", "MYT": "MYT", "ARST": "ARST", "LHST": "LHST", "CLST": "CLST"}, } } @@ -354,7 +356,12 @@ func (so *so_ET) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, so.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +379,12 @@ func (so *so_ET) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, so.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -393,7 +405,12 @@ func (so *so_ET) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/so_KE/so_KE.go b/so_KE/so_KE.go index 35932467e..8b7d29a1c 100644 --- a/so_KE/so_KE.go +++ b/so_KE/so_KE.go @@ -49,19 +49,21 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Kob", "Lab", "Sad", "Afr", "Sha", "Lix", "Tod", "Sid", "Sag", "Tob", "KIT", "LIT"}, monthsNarrow: []string{"", "K", "L", "S", "A", "S", "L", "T", "S", "S", "T", "K", "L"}, monthsWide: []string{"", "Bisha Koobaad", "Bisha Labaad", "Bisha Saddexaad", "Bisha Afraad", "Bisha Shanaad", "Bisha Lixaad", "Bisha Todobaad", "Bisha Sideedaad", "Bisha Sagaalaad", "Bisha Tobnaad", "Bisha Kow iyo Tobnaad", "Bisha Laba iyo Tobnaad"}, daysAbbreviated: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, - daysNarrow: []string{"A", "I", "T", "A", "K", "J", "S"}, + daysNarrow: []string{"A", "I", "T", "A", "Kh", "J", "S"}, + daysShort: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, daysWide: []string{"Axad", "Isniin", "Talaado", "Arbaco", "Khamiis", "Jimco", "Sabti"}, periodsAbbreviated: []string{"sn.", "gn."}, + periodsNarrow: []string{"sn.", "gn."}, periodsWide: []string{"sn.", "gn."}, erasAbbreviated: []string{"CK", "CD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ciise ka hor (CS)", "Ciise ka dib (CS)"}, - timezones: map[string]string{"AST": "AST", "MYT": "MYT", "NZDT": "NZDT", "OEZ": "OEZ", "ARST": "ARST", "HAST": "HAST", "MDT": "MDT", "WIT": "WIT", "BT": "BT", "ACDT": "ACDT", "WARST": "WARST", "ACWDT": "ACWDT", "WITA": "WITA", "CLT": "CLT", "EST": "EST", "TMT": "TMT", "WESZ": "WESZ", "WIB": "WIB", "ART": "ART", "ACWST": "ACWST", "AEST": "AEST", "MST": "MST", "PST": "PST", "AWST": "AWST", "LHST": "LHST", "WEZ": "WEZ", "AKST": "AKST", "NZST": "NZST", "OESZ": "OESZ", "HKT": "HKT", "AKDT": "AKDT", "BOT": "BOT", "CHADT": "CHADT", "AEDT": "AEDT", "EDT": "EDT", "GYT": "GYT", "CLST": "CLST", "AWDT": "AWDT", "JDT": "JDT", "TMST": "TMST", "ChST": "ChST", "JST": "JST", "LHDT": "LHDT", "SRT": "SRT", "ECT": "ECT", "HADT": "HADT", "WAST": "WAST", "CAT": "CAT", "GMT": "GMT", "CHAST": "CHAST", "COST": "COST", "MESZ": "MESZ", "CST": "CST", "UYST": "UYST", "ACST": "ACST", "SAST": "SAST", "HNT": "HNT", "VET": "VET", "SGT": "SGT", "WART": "WART", "UYT": "UYT", "HKST": "HKST", "IST": "IST", "PDT": "PDT", "ADT": "ADT", "EAT": "EAT", "WAT": "WAT", "CDT": "CDT", "COT": "COT", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "HAT": "HAT", "GFT": "GFT"}, + erasWide: []string{"CK", "CD"}, + timezones: map[string]string{"HNEG": "HNEG", "HEEG": "HEEG", "ADT": "ADT", "IST": "IST", "JST": "JST", "∅∅∅": "∅∅∅", "JDT": "JDT", "AKST": "AKST", "CST": "CST", "GYT": "GYT", "CLT": "CLT", "CLST": "CLST", "TMST": "TMST", "OESZ": "OESZ", "WARST": "WARST", "SGT": "SGT", "WIB": "WIB", "HAST": "HAST", "ARST": "ARST", "AWDT": "AWDT", "BT": "BT", "UYT": "UYT", "HADT": "HADT", "SRT": "SRT", "HAT": "HAT", "MEZ": "MEZ", "EDT": "EDT", "VET": "VET", "ChST": "ChST", "EST": "EST", "EAT": "EAT", "WAT": "WAT", "MST": "MST", "HNPMX": "HNPMX", "WIT": "WIT", "HNPM": "HNPM", "CAT": "CAT", "WART": "WART", "OEZ": "OEZ", "WEZ": "WEZ", "HKST": "HKST", "WITA": "WITA", "BOT": "BOT", "GFT": "GFT", "HNNOMX": "HNNOMX", "PST": "PST", "ART": "ART", "ACDT": "ACDT", "COST": "Waqtiyada Xagaaga Kolambiya", "HENOMX": "HENOMX", "HNCU": "HNCU", "PDT": "PDT", "LHST": "LHST", "MYT": "MYT", "HEPM": "HEPM", "NZDT": "NZDT", "LHDT": "LHDT", "GMT": "GMT", "HEPMX": "HEPMX", "ACWST": "ACWST", "AEDT": "AEDT", "CHADT": "CHADT", "TMT": "TMT", "WAST": "WAST", "MDT": "MDT", "ACWDT": "ACWDT", "MESZ": "MESZ", "CHAST": "CHAST", "SAST": "SAST", "COT": "Waqtiyada Caadiga ah ee kolambiya", "HNOG": "HNOG", "AWST": "AWST", "NZST": "NZST", "AKDT": "AKDT", "CDT": "CDT", "AST": "AST", "WESZ": "WESZ", "HKT": "HKT", "AEST": "AEST", "ACST": "ACST", "ECT": "ECT", "HECU": "HECU", "UYST": "UYST", "HNT": "HNT", "HEOG": "HEOG"}, } } @@ -354,7 +356,12 @@ func (so *so_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, so.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +379,12 @@ func (so *so_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, so.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -393,7 +405,12 @@ func (so *so_KE) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/so_SO/so_SO.go b/so_SO/so_SO.go index 9b33eb0c2..355d0acb2 100644 --- a/so_SO/so_SO.go +++ b/so_SO/so_SO.go @@ -49,19 +49,21 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Kob", "Lab", "Sad", "Afr", "Sha", "Lix", "Tod", "Sid", "Sag", "Tob", "KIT", "LIT"}, monthsNarrow: []string{"", "K", "L", "S", "A", "S", "L", "T", "S", "S", "T", "K", "L"}, monthsWide: []string{"", "Bisha Koobaad", "Bisha Labaad", "Bisha Saddexaad", "Bisha Afraad", "Bisha Shanaad", "Bisha Lixaad", "Bisha Todobaad", "Bisha Sideedaad", "Bisha Sagaalaad", "Bisha Tobnaad", "Bisha Kow iyo Tobnaad", "Bisha Laba iyo Tobnaad"}, daysAbbreviated: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, - daysNarrow: []string{"A", "I", "T", "A", "K", "J", "S"}, + daysNarrow: []string{"A", "I", "T", "A", "Kh", "J", "S"}, + daysShort: []string{"Axd", "Isn", "Tal", "Arb", "Kha", "Jim", "Sab"}, daysWide: []string{"Axad", "Isniin", "Talaado", "Arbaco", "Khamiis", "Jimco", "Sabti"}, periodsAbbreviated: []string{"sn.", "gn."}, + periodsNarrow: []string{"sn.", "gn."}, periodsWide: []string{"sn.", "gn."}, erasAbbreviated: []string{"CK", "CD"}, erasNarrow: []string{"", ""}, - erasWide: []string{"Ciise ka hor (CS)", "Ciise ka dib (CS)"}, - timezones: map[string]string{"LHDT": "LHDT", "WIB": "WIB", "AEST": "AEST", "WARST": "WARST", "SAST": "SAST", "AKST": "AKST", "HNT": "HNT", "ACWDT": "ACWDT", "GMT": "GMT", "UYST": "UYST", "HADT": "HADT", "AKDT": "AKDT", "WEZ": "WEZ", "GFT": "GFT", "ACST": "ACST", "CST": "CST", "AWST": "AWST", "NZDT": "NZDT", "BT": "BT", "MEZ": "MEZ", "COST": "COST", "ACWST": "ACWST", "WAT": "WAT", "WITA": "WITA", "NZST": "NZST", "JST": "JST", "CHAST": "CHAST", "ACDT": "ACDT", "AST": "AST", "OESZ": "OESZ", "HKT": "HKT", "SRT": "SRT", "ECT": "ECT", "WAST": "WAST", "PDT": "PDT", "TMST": "TMST", "EST": "EST", "TMT": "TMT", "GYT": "GYT", "BOT": "BOT", "HKST": "HKST", "JDT": "JDT", "OEZ": "OEZ", "MESZ": "MESZ", "COT": "COT", "HAST": "HAST", "ART": "ART", "EDT": "EDT", "WIT": "WIT", "UYT": "UYT", "WESZ": "WESZ", "SGT": "SGT", "VET": "VET", "AEDT": "AEDT", "ARST": "ARST", "PST": "PST", "CLT": "CLT", "EAT": "EAT", "ADT": "ADT", "ChST": "ChST", "IST": "IST", "MYT": "MYT", "LHST": "LHST", "CHADT": "CHADT", "WART": "WART", "MST": "MST", "MDT": "MDT", "CAT": "CAT", "CLST": "CLST", "CDT": "CDT", "∅∅∅": "∅∅∅", "AWDT": "AWDT", "HAT": "HAT"}, + erasWide: []string{"CK", "CD"}, + timezones: map[string]string{"AKST": "AKST", "ACWDT": "ACWDT", "WITA": "WITA", "BOT": "BOT", "HEPMX": "HEPMX", "EAT": "EAT", "AKDT": "AKDT", "HADT": "HADT", "JST": "JST", "JDT": "JDT", "PDT": "PDT", "ACST": "ACST", "COT": "Waqtiyada Caadiga ah ee kolambiya", "ADT": "ADT", "GYT": "GYT", "SRT": "SRT", "HNT": "HNT", "AEST": "AEST", "HEPM": "HEPM", "HNCU": "HNCU", "CDT": "CDT", "CHADT": "CHADT", "WAT": "WAT", "UYT": "UYT", "WESZ": "WESZ", "AWDT": "AWDT", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "TMST": "TMST", "BT": "BT", "SAST": "SAST", "CAT": "CAT", "ACWST": "ACWST", "ART": "ART", "HECU": "HECU", "MST": "MST", "HNNOMX": "HNNOMX", "EDT": "EDT", "UYST": "UYST", "WIT": "WIT", "HKST": "HKST", "AEDT": "AEDT", "TMT": "TMT", "ACDT": "ACDT", "AWST": "AWST", "OESZ": "OESZ", "COST": "Waqtiyada Xagaaga Kolambiya", "GFT": "GFT", "WAST": "WAST", "HEOG": "HEOG", "ChST": "ChST", "SGT": "SGT", "PST": "PST", "WEZ": "WEZ", "HNEG": "HNEG", "WARST": "WARST", "AST": "AST", "VET": "VET", "HNOG": "HNOG", "CLT": "CLT", "WART": "WART", "MEZ": "MEZ", "CLST": "CLST", "WIB": "WIB", "MDT": "MDT", "MYT": "MYT", "HKT": "HKT", "HNPM": "HNPM", "NZST": "NZST", "CHAST": "CHAST", "ECT": "ECT", "GMT": "GMT", "HAT": "HAT", "LHST": "LHST", "LHDT": "LHDT", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "OEZ": "OEZ", "EST": "EST", "CST": "CST", "HAST": "HAST", "ARST": "ARST", "NZDT": "NZDT", "IST": "IST", "HEEG": "HEEG"}, } } @@ -354,7 +356,12 @@ func (so *so_SO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, so.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +379,12 @@ func (so *so_SO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, so.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -393,7 +405,12 @@ func (so *so_SO) FmtDateFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sq/sq.go b/sq/sq.go index a17ca7e5e..afd365366 100644 --- a/sq/sq.go +++ b/sq/sq.go @@ -56,12 +56,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "Lekë", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "Lekë", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "$", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gsh", "Sht", "Tet", "Nën", "Dhj"}, - monthsNarrow: []string{"", "J", "S", "M", "P", "M", "Q", "K", "G", "S", "T", "N", "D"}, + monthsAbbreviated: []string{"", "jan", "shk", "mar", "pri", "maj", "qer", "kor", "gsh", "sht", "tet", "nën", "dhj"}, + monthsNarrow: []string{"", "j", "s", "m", "p", "m", "q", "k", "g", "s", "t", "n", "d"}, monthsWide: []string{"", "janar", "shkurt", "mars", "prill", "maj", "qershor", "korrik", "gusht", "shtator", "tetor", "nëntor", "dhjetor"}, daysAbbreviated: []string{"Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"}, daysNarrow: []string{"D", "H", "M", "M", "E", "P", "S"}, @@ -70,10 +70,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"e paradites", "e pasdites"}, periodsNarrow: []string{"e paradites", "e pasdites"}, periodsWide: []string{"e paradites", "e pasdites"}, - erasAbbreviated: []string{"p.e.r.", "e.r."}, - erasNarrow: []string{"p.e.r.", "e.r."}, - erasWide: []string{"para erës së re", "erës së re"}, - timezones: map[string]string{"WART": "Ora standarde e Argjentinës Perëndimore", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "SRT": "Ora e Surinamit", "ECT": "Ora e Ekuadorit", "AKST": "Ora standarde e Alaskës", "BT": "Ora e Butanit", "JDT": "Ora verore e Japonisë", "VET": "Ora e Venezuelës", "ADT": "Ora verore e Atlantikut", "LHST": "Ora standarde e Lord-Houit", "UYST": "Ora verore e Uruguait", "JST": "Ora standarde e Japonisë", "OEZ": "Ora standarde e Europës Lindore", "HKT": "Ora standarde e Hong-Kongut", "WIB": "Ora e Indonezisë Perëndimore", "AWST": "Ora standarde e Australisë Perëndimore", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "ART": "Ora standarde e Argjentinës", "TMST": "Ora verore e Turkmenistanit", "MST": "Ora standarde amerikane e Brezit Malor", "WIT": "Ora e Indonezisë Lindore", "AWDT": "Ora verore e Australisë Perëndimore", "SGT": "Ora e Singaporit", "COT": "Ora standarde e Kolumbisë", "COST": "Ora verore e Kolumbisë", "OESZ": "Ora verore e Europës Lindore", "CHADT": "Ora verore e Katamit", "WAST": "Ora verore e Afrikës Perëndimore", "ACST": "Ora standarde e Australisë Qendrore", "WARST": "Ora verore e Argjentinës Perëndimore", "AST": "Ora standarde e Atlantikut", "MYT": "Ora e Malajzisë", "GMT": "Ora e Meridianit të Grinuiçit", "GFT": "Ora e Guajanës Franceze", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "WITA": "Ora e Indonezisë Qendrore", "AKDT": "Ora verore e Alsaskës", "CLT": "Ora standarde e Kilit", "CLST": "Ora verore e Kilit", "EAT": "Ora e Afrikës Lindore", "MDT": "Ora verore amerikane e Brezit Malor", "LHDT": "Ora verore e Lord-Houit", "AEST": "Ora standarde e Australisë Lindore", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "CHAST": "Ora standarde e Katamit", "ARST": "Ora verore e Argjentinës", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "ChST": "Ora e Kamorros", "CDT": "Ora verore e SHBA-së Qendrore", "BOT": "Ora e Bolivisë", "MEZ": "Ora standarde e Europës Qendrore", "TMT": "Ora standarde e Turkmenistanit", "CST": "Ora standarde e SHBA-së Qendrore", "HKST": "Ora verore e Hong-Kongut", "IST": "Ora standarde e Indisë", "GYT": "Ora e Guajanës", "NZST": "Ora standarde e Zelandës së Re", "WAT": "Ora standarde e Afrikës Perëndimore", "NZDT": "Ora verore e Zelandës së Re", "CAT": "Ora e Afrikës Qendrore", "MESZ": "Ora verore e Europës Qendrore", "ACDT": "Ora verore e Australisë Qendrore", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "UYT": "Ora standarde e Uruguait", "WESZ": "Ora verore e Europës Perëndimore", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "AEDT": "Ora verore e Australisë Lindore", "EST": "Ora standarde e SHBA-së Lindore", "WEZ": "Ora standarde e Europës Perëndimore", "EDT": "Ora verore e SHBA-së Lindore", "SAST": "Ora standarde e Afrikës Jugore", "∅∅∅": "Ora verore e Perusë"}, + erasAbbreviated: []string{"p.K.", "mb.K."}, + erasNarrow: []string{"p.K.", "mb.K."}, + erasWide: []string{"para Krishtit", "mbas Krishtit"}, + timezones: map[string]string{"WIT": "Ora e Indonezisë Lindore", "WEZ": "Ora standarde e Evropës Perëndimore", "JDT": "Ora verore e Japonisë", "HNEG": "Ora standarde e Grenlandës Lindore", "TMT": "Ora standarde e Turkmenistanit", "ACST": "Ora standarde e Australisë Qendrore", "OEZ": "Ora standarde e Evropës Lindore", "HENOMX": "Ora verore e Meksikës Veriperëndimore", "ARST": "Ora verore e Argjentinës", "WITA": "Ora e Indonezisë Qendrore", "TMST": "Ora verore e Turkmenistanit", "CAT": "Ora e Afrikës Qendrore", "EAT": "Ora e Afrikës Lindore", "COT": "Ora standarde e Kolumbisë", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "CHAST": "Ora standarde e Katamit", "WAST": "Ora verore e Afrikës Perëndimore", "HNNOMX": "Ora standarde e Meksikës Veriperëndimore", "EST": "Ora standarde e SHBA-së Lindore", "GYT": "Ora e Guajanës", "UYST": "Ora verore e Uruguait", "AEDT": "Ora verore e Australisë Lindore", "BOT": "Ora e Bolivisë", "HNCU": "Ora standarde e Kubës", "EDT": "Ora verore e SHBA-së Lindore", "CDT": "Ora verore e SHBA-së Qendrore", "WESZ": "Ora verore e Evropës Perëndimore", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "GMT": "Ora e Meridianit të Grinuiçit", "UYT": "Ora standarde e Uruguait", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "CHADT": "Ora verore e Katamit", "GFT": "Ora e Guajanës Franceze", "AST": "Ora standarde e Atlantikut", "HNPM": "Ora standarde e Shën-Pier dhe Mikuelon", "NZST": "Ora standarde e Zelandës së Re", "∅∅∅": "Ora verore e Amazonës", "HEEG": "Ora verore e Grenlandës Lindore", "HEPMX": "Ora verore meksikane e Bregut të Paqësorit", "LHDT": "Ora verore e Lord-Houit", "SAST": "Ora standarde e Afrikës Jugore", "ChST": "Ora e Kamorros", "HNPMX": "Ora standarde meksikane e Bregut të Paqësorit", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "ACDT": "Ora verore e Australisë Qendrore", "MST": "Ora standarde e Makaos", "COST": "Ora verore e Kolumbisë", "HECU": "Ora verore e Kubës", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "HEPM": "Ora verore e Shën-Pier dhe Mikuelon", "WARST": "Ora verore e Argjentinës Perëndimore", "SGT": "Ora e Singaporit", "CST": "Ora standarde e SHBA-së Qendrore", "BT": "Ora e Butanit", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "VET": "Ora e Venezuelës", "MESZ": "Ora verore e Evropës Qendrore", "NZDT": "Ora verore e Zelandës së Re", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "LHST": "Ora standarde e Lord-Houit", "IST": "Ora standarde e Indisë", "WAT": "Ora standarde e Afrikës Perëndimore", "OESZ": "Ora verore e Evropës Lindore", "AKDT": "Ora verore e Alsaskës", "MYT": "Ora e Malajzisë", "SRT": "Ora e Surinamit", "JST": "Ora standarde e Japonisë", "HNOG": "Ora standarde e Grenlandës Perëndimore", "HKT": "Ora standarde e Hong-Kongut", "CLST": "Ora verore e Kilit", "AKST": "Ora standarde e Alaskës", "ADT": "Ora verore e Atlantikut", "ART": "Ora standarde e Argjentinës", "AWDT": "Ora verore e Australisë Perëndimore", "AEST": "Ora standarde e Australisë Lindore", "AWST": "Ora standarde e Australisë Perëndimore", "CLT": "Ora standarde e Kilit", "ECT": "Ora e Ekuadorit", "WART": "Ora standarde e Argjentinës Perëndimore", "MDT": "Ora verore e Makaos", "WIB": "Ora e Indonezisë Perëndimore", "HEOG": "Ora verore e Grenlandës Perëndimore", "HKST": "Ora verore e Hong-Kongut", "MEZ": "Ora standarde e Evropës Qendrore"}, } } @@ -439,7 +439,12 @@ func (sq *sq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +458,12 @@ func (sq *sq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (sq *sq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sq_AL/sq_AL.go b/sq_AL/sq_AL.go index 9d14a341f..e2bb61fe1 100644 --- a/sq_AL/sq_AL.go +++ b/sq_AL/sq_AL.go @@ -56,12 +56,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gsh", "Sht", "Tet", "Nën", "Dhj"}, - monthsNarrow: []string{"", "J", "S", "M", "P", "M", "Q", "K", "G", "S", "T", "N", "D"}, + monthsAbbreviated: []string{"", "jan", "shk", "mar", "pri", "maj", "qer", "kor", "gsh", "sht", "tet", "nën", "dhj"}, + monthsNarrow: []string{"", "j", "s", "m", "p", "m", "q", "k", "g", "s", "t", "n", "d"}, monthsWide: []string{"", "janar", "shkurt", "mars", "prill", "maj", "qershor", "korrik", "gusht", "shtator", "tetor", "nëntor", "dhjetor"}, daysAbbreviated: []string{"Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"}, daysNarrow: []string{"D", "H", "M", "M", "E", "P", "S"}, @@ -70,10 +70,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"e paradites", "e pasdites"}, periodsNarrow: []string{"e paradites", "e pasdites"}, periodsWide: []string{"e paradites", "e pasdites"}, - erasAbbreviated: []string{"p.e.r.", "e.r."}, - erasNarrow: []string{"p.e.r.", "e.r."}, - erasWide: []string{"para erës së re", "erës së re"}, - timezones: map[string]string{"COST": "Ora verore e Kolumbisë", "MESZ": "Ora verore e Europës Qendrore", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "JST": "Ora standarde e Japonisë", "CHAST": "Ora standarde e Katamit", "WEZ": "Ora standarde e Europës Perëndimore", "ART": "Ora standarde e Argjentinës", "TMST": "Ora verore e Turkmenistanit", "ARST": "Ora verore e Argjentinës", "JDT": "Ora verore e Japonisë", "LHST": "Ora standarde e Lord-Houit", "OESZ": "Ora verore e Europës Lindore", "CST": "Ora standarde e SHBA-së Qendrore", "MST": "Ora standarde amerikane e Brezit Malor", "CAT": "Ora e Afrikës Qendrore", "∅∅∅": "Ora verore e Ejkrit [Ako]", "OEZ": "Ora standarde e Europës Lindore", "AKST": "Ora standarde e Alaskës", "EST": "Ora standarde e SHBA-së Lindore", "WAT": "Ora standarde e Afrikës Perëndimore", "NZST": "Ora standarde e Zelandës së Re", "LHDT": "Ora verore e Lord-Houit", "WARST": "Ora verore e Argjentinës Perëndimore", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "CDT": "Ora verore e SHBA-së Qendrore", "MDT": "Ora verore amerikane e Brezit Malor", "AWDT": "Ora verore e Australisë Perëndimore", "TMT": "Ora standarde e Turkmenistanit", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "SRT": "Ora e Surinamit", "WIB": "Ora e Indonezisë Perëndimore", "AEST": "Ora standarde e Australisë Lindore", "AKDT": "Ora verore e Alsaskës", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "HKST": "Ora verore e Hong-Kongut", "SGT": "Ora e Singaporit", "AEDT": "Ora verore e Australisë Lindore", "EAT": "Ora e Afrikës Lindore", "AWST": "Ora standarde e Australisë Perëndimore", "ECT": "Ora e Ekuadorit", "EDT": "Ora verore e SHBA-së Lindore", "WAST": "Ora verore e Afrikës Perëndimore", "GYT": "Ora e Guajanës", "CLST": "Ora verore e Kilit", "GFT": "Ora e Guajanës Franceze", "WESZ": "Ora verore e Europës Perëndimore", "COT": "Ora standarde e Kolumbisë", "VET": "Ora e Venezuelës", "UYST": "Ora verore e Uruguait", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "WITA": "Ora e Indonezisë Qendrore", "BOT": "Ora e Bolivisë", "NZDT": "Ora verore e Zelandës së Re", "ChST": "Ora e Kamorros", "ACDT": "Ora verore e Australisë Qendrore", "IST": "Ora standarde e Indisë", "CLT": "Ora standarde e Kilit", "MEZ": "Ora standarde e Europës Qendrore", "ADT": "Ora verore e Atlantikut", "MYT": "Ora e Malajzisë", "UYT": "Ora standarde e Uruguait", "CHADT": "Ora verore e Katamit", "WART": "Ora standarde e Argjentinës Perëndimore", "GMT": "Ora e Meridianit të Grinuiçit", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "WIT": "Ora e Indonezisë Lindore", "BT": "Ora e Butanit", "HKT": "Ora standarde e Hong-Kongut", "ACST": "Ora standarde e Australisë Qendrore", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "AST": "Ora standarde e Atlantikut", "SAST": "Ora standarde e Afrikës Jugore"}, + erasAbbreviated: []string{"p.K.", "mb.K."}, + erasNarrow: []string{"p.K.", "mb.K."}, + erasWide: []string{"para Krishtit", "mbas Krishtit"}, + timezones: map[string]string{"HECU": "Ora verore e Kubës", "EDT": "Ora verore e SHBA-së Lindore", "MYT": "Ora e Malajzisë", "SAST": "Ora standarde e Afrikës Jugore", "GFT": "Ora e Guajanës Franceze", "WAT": "Ora standarde e Afrikës Perëndimore", "SGT": "Ora e Singaporit", "MEZ": "Ora standarde e Evropës Qendrore", "HEEG": "Ora verore e Grenlandës Lindore", "MST": "Ora standarde e Makaos", "ECT": "Ora e Ekuadorit", "HNNOMX": "Ora standarde e Meksikës Veriperëndimore", "VET": "Ora e Venezuelës", "WEZ": "Ora standarde e Evropës Perëndimore", "AWDT": "Ora verore e Australisë Perëndimore", "∅∅∅": "Ora verore e Amazonës", "JST": "Ora standarde e Japonisë", "TMST": "Ora verore e Turkmenistanit", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "HEOG": "Ora verore e Grenlandës Perëndimore", "EST": "Ora standarde e SHBA-së Lindore", "GYT": "Ora e Guajanës", "BT": "Ora e Butanit", "WESZ": "Ora verore e Evropës Perëndimore", "AEST": "Ora standarde e Australisë Lindore", "HNPM": "Ora standarde e Shën-Pier dhe Mikuelon", "BOT": "Ora e Bolivisë", "CST": "Ora standarde e SHBA-së Qendrore", "WAST": "Ora verore e Afrikës Perëndimore", "OESZ": "Ora verore e Evropës Lindore", "HENOMX": "Ora verore e Meksikës Veriperëndimore", "AKST": "Ora standarde e Alaskës", "HEPM": "Ora verore e Shën-Pier dhe Mikuelon", "ChST": "Ora e Kamorros", "ACDT": "Ora verore e Australisë Qendrore", "EAT": "Ora e Afrikës Lindore", "AKDT": "Ora verore e Alsaskës", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "WITA": "Ora e Indonezisë Qendrore", "CHAST": "Ora standarde e Katamit", "CLT": "Ora standarde e Kilit", "AST": "Ora standarde e Atlantikut", "NZDT": "Ora verore e Zelandës së Re", "CAT": "Ora e Afrikës Qendrore", "COST": "Ora verore e Kolumbisë", "HNPMX": "Ora standarde meksikane e Bregut të Paqësorit", "ADT": "Ora verore e Atlantikut", "HNOG": "Ora standarde e Grenlandës Perëndimore", "AWST": "Ora standarde e Australisë Perëndimore", "HKT": "Ora standarde e Hong-Kongut", "LHST": "Ora standarde e Lord-Houit", "CLST": "Ora verore e Kilit", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "ART": "Ora standarde e Argjentinës", "ACST": "Ora standarde e Australisë Qendrore", "WARST": "Ora verore e Argjentinës Perëndimore", "GMT": "Ora e Meridianit të Grinuiçit", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "SRT": "Ora e Surinamit", "CHADT": "Ora verore e Katamit", "HNEG": "Ora standarde e Grenlandës Lindore", "TMT": "Ora standarde e Turkmenistanit", "WART": "Ora standarde e Argjentinës Perëndimore", "MESZ": "Ora verore e Evropës Qendrore", "COT": "Ora standarde e Kolumbisë", "HEPMX": "Ora verore meksikane e Bregut të Paqësorit", "UYT": "Ora standarde e Uruguait", "WIT": "Ora e Indonezisë Lindore", "HKST": "Ora verore e Hong-Kongut", "LHDT": "Ora verore e Lord-Houit", "NZST": "Ora standarde e Zelandës së Re", "HNCU": "Ora standarde e Kubës", "OEZ": "Ora standarde e Evropës Lindore", "MDT": "Ora verore e Makaos", "CDT": "Ora verore e SHBA-së Qendrore", "ARST": "Ora verore e Argjentinës", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "AEDT": "Ora verore e Australisë Lindore", "IST": "Ora standarde e Indisë", "JDT": "Ora verore e Japonisë", "WIB": "Ora e Indonezisë Perëndimore", "UYST": "Ora verore e Uruguait", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]"}, } } @@ -439,7 +439,12 @@ func (sq *sq_AL) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +458,12 @@ func (sq *sq_AL) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (sq *sq_AL) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sq_MK/sq_MK.go b/sq_MK/sq_MK.go index a2417275f..84ff3ecd4 100644 --- a/sq_MK/sq_MK.go +++ b/sq_MK/sq_MK.go @@ -56,12 +56,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "den", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "den", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gsh", "Sht", "Tet", "Nën", "Dhj"}, - monthsNarrow: []string{"", "J", "S", "M", "P", "M", "Q", "K", "G", "S", "T", "N", "D"}, + monthsAbbreviated: []string{"", "jan", "shk", "mar", "pri", "maj", "qer", "kor", "gsh", "sht", "tet", "nën", "dhj"}, + monthsNarrow: []string{"", "j", "s", "m", "p", "m", "q", "k", "g", "s", "t", "n", "d"}, monthsWide: []string{"", "janar", "shkurt", "mars", "prill", "maj", "qershor", "korrik", "gusht", "shtator", "tetor", "nëntor", "dhjetor"}, daysAbbreviated: []string{"Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"}, daysNarrow: []string{"D", "H", "M", "M", "E", "P", "S"}, @@ -70,10 +70,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"e paradites", "e pasdites"}, periodsNarrow: []string{"e paradites", "e pasdites"}, periodsWide: []string{"e paradites", "e pasdites"}, - erasAbbreviated: []string{"p.e.r.", "e.r."}, - erasNarrow: []string{"p.e.r.", "e.r."}, - erasWide: []string{"para erës së re", "erës së re"}, - timezones: map[string]string{"WITA": "Ora e Indonezisë Qendrore", "CST": "Ora standarde e SHBA-së Qendrore", "NZST": "Ora standarde e Zelandës së Re", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "UYST": "Ora verore e Uruguait", "BOT": "Ora e Bolivisë", "SRT": "Ora e Surinamit", "SGT": "Ora e Singaporit", "WEZ": "Ora standarde e Europës Perëndimore", "MEZ": "Ora standarde e Europës Qendrore", "WAT": "Ora standarde e Afrikës Perëndimore", "CLST": "Ora verore e Kilit", "ART": "Ora standarde e Argjentinës", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "WAST": "Ora verore e Afrikës Perëndimore", "TMST": "Ora verore e Turkmenistanit", "MST": "Ora standarde e Makaos", "WIT": "Ora e Indonezisë Lindore", "BT": "Ora e Butanit", "HKST": "Ora verore e Hong-Kongut", "ECT": "Ora e Ekuadorit", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "MYT": "Ora e Malajzisë", "MDT": "Ora verore e Makaos", "AWDT": "Ora verore e Australisë Perëndimore", "WESZ": "Ora verore e Europës Perëndimore", "EAT": "Ora e Afrikës Lindore", "CHAST": "Ora standarde e Katamit", "CHADT": "Ora verore e Katamit", "ADT": "Ora verore e Atlantikut", "COST": "Ora verore e Kolumbisë", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "ACDT": "Ora verore e Australisë Qendrore", "COT": "Ora standarde e Kolumbisë", "OESZ": "Ora verore e Europës Lindore", "ARST": "Ora verore e Argjentinës", "EDT": "Ora verore e SHBA-së Lindore", "AST": "Ora standarde e Atlantikut", "AWST": "Ora standarde e Australisë Perëndimore", "∅∅∅": "Ora verore e Amazonës", "AEDT": "Ora verore e Australisë Lindore", "MESZ": "Ora verore e Europës Qendrore", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "AKST": "Ora standarde e Alaskës", "IST": "Ora standarde e Indisë", "NZDT": "Ora verore e Zelandës së Re", "GMT": "Ora e Meridianit të Grinuiçit", "LHST": "Ora standarde e Lord-Houit", "TMT": "Ora standarde e Turkmenistanit", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "EST": "Ora standarde e SHBA-së Lindore", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "SAST": "Ora standarde e Afrikës Jugore", "GFT": "Ora e Guajanës Franceze", "WIB": "Ora e Indonezisë Perëndimore", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "VET": "Ora e Venezuelës", "AEST": "Ora standarde e Australisë Lindore", "ChST": "Ora e Kamorros", "LHDT": "Ora verore e Lord-Houit", "JST": "Ora standarde e Japonisë", "OEZ": "Ora standarde e Europës Lindore", "HKT": "Ora standarde e Hong-Kongut", "WARST": "Ora verore e Argjentinës Perëndimore", "JDT": "Ora verore e Japonisë", "ACST": "Ora standarde e Australisë Qendrore", "WART": "Ora standarde e Argjentinës Perëndimore", "AKDT": "Ora verore e Alsaskës", "CDT": "Ora verore e SHBA-së Qendrore", "CAT": "Ora e Afrikës Qendrore", "CLT": "Ora standarde e Kilit", "UYT": "Ora standarde e Uruguait", "GYT": "Ora e Guajanës"}, + erasAbbreviated: []string{"p.K.", "mb.K."}, + erasNarrow: []string{"p.K.", "mb.K."}, + erasWide: []string{"para Krishtit", "mbas Krishtit"}, + timezones: map[string]string{"HNNOMX": "Ora standarde e Meksikës Veriperëndimore", "BT": "Ora e Butanit", "ART": "Ora standarde e Argjentinës", "HKT": "Ora standarde e Hong-Kongut", "CHAST": "Ora standarde e Katamit", "IST": "Ora standarde e Indisë", "∅∅∅": "Ora verore e Amazonës", "HNEG": "Ora standarde e Grenlandës Lindore", "GMT": "Ora e Meridianit të Grinuiçit", "EDT": "Ora verore e SHBA-së Lindore", "CLT": "Ora standarde e Kilit", "ACST": "Ora standarde e Australisë Qendrore", "EAT": "Ora e Afrikës Lindore", "ECT": "Ora e Ekuadorit", "COST": "Ora verore e Kolumbisë", "GYT": "Ora e Guajanës", "WESZ": "Ora verore e Evropës Perëndimore", "ARST": "Ora verore e Argjentinës", "NZST": "Ora standarde e Zelandës së Re", "ACDT": "Ora verore e Australisë Qendrore", "WART": "Ora standarde e Argjentinës Perëndimore", "HNPMX": "Ora standarde meksikane e Bregut të Paqësorit", "CDT": "Ora verore e SHBA-së Qendrore", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "HEOG": "Ora verore e Grenlandës Perëndimore", "TMT": "Ora standarde e Turkmenistanit", "CAT": "Ora e Afrikës Qendrore", "HENOMX": "Ora verore e Meksikës Veriperëndimore", "UYST": "Ora verore e Uruguait", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "MEZ": "Ora standarde e Evropës Qendrore", "MESZ": "Ora verore e Evropës Qendrore", "CLST": "Ora verore e Kilit", "WAT": "Ora standarde e Afrikës Perëndimore", "AST": "Ora standarde e Atlantikut", "MST": "Ora standarde amerikane e Brezit Malor", "SRT": "Ora e Surinamit", "HKST": "Ora verore e Hong-Kongut", "VET": "Ora e Venezuelës", "WITA": "Ora e Indonezisë Qendrore", "JDT": "Ora verore e Japonisë", "WARST": "Ora verore e Argjentinës Perëndimore", "HNCU": "Ora standarde e Kubës", "MDT": "Ora verore amerikane e Brezit Malor", "WIT": "Ora e Indonezisë Lindore", "AWDT": "Ora verore e Australisë Perëndimore", "NZDT": "Ora verore e Zelandës së Re", "JST": "Ora standarde e Japonisë", "WAST": "Ora verore e Afrikës Perëndimore", "SGT": "Ora e Singaporit", "WEZ": "Ora standarde e Evropës Perëndimore", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "LHST": "Ora standarde e Lord-Houit", "HECU": "Ora verore e Kubës", "CST": "Ora standarde e SHBA-së Qendrore", "ADT": "Ora verore e Atlantikut", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "HNPM": "Ora standarde e Shën-Pier dhe Mikuelon", "BOT": "Ora e Bolivisë", "EST": "Ora standarde e SHBA-së Lindore", "AKST": "Ora standarde e Alaskës", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "HNOG": "Ora standarde e Grenlandës Perëndimore", "AEST": "Ora standarde e Australisë Lindore", "LHDT": "Ora verore e Lord-Houit", "MYT": "Ora e Malajzisë", "CHADT": "Ora verore e Katamit", "ChST": "Ora e Kamorros", "OEZ": "Ora standarde e Evropës Lindore", "OESZ": "Ora verore e Evropës Lindore", "WIB": "Ora e Indonezisë Perëndimore", "HEPM": "Ora verore e Shën-Pier dhe Mikuelon", "HEEG": "Ora verore e Grenlandës Lindore", "GFT": "Ora e Guajanës Franceze", "TMST": "Ora verore e Turkmenistanit", "AKDT": "Ora verore e Alsaskës", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "AWST": "Ora standarde e Australisë Perëndimore", "SAST": "Ora standarde e Afrikës Jugore", "HEPMX": "Ora verore meksikane e Bregut të Paqësorit", "UYT": "Ora standarde e Uruguait", "AEDT": "Ora verore e Australisë Lindore", "COT": "Ora standarde e Kolumbisë"}, } } @@ -439,7 +439,12 @@ func (sq *sq_MK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +458,12 @@ func (sq *sq_MK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (sq *sq_MK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sq_XK/sq_XK.go b/sq_XK/sq_XK.go index cb478474a..578c87706 100644 --- a/sq_XK/sq_XK.go +++ b/sq_XK/sq_XK.go @@ -56,12 +56,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gsh", "Sht", "Tet", "Nën", "Dhj"}, - monthsNarrow: []string{"", "J", "S", "M", "P", "M", "Q", "K", "G", "S", "T", "N", "D"}, + monthsAbbreviated: []string{"", "jan", "shk", "mar", "pri", "maj", "qer", "kor", "gsh", "sht", "tet", "nën", "dhj"}, + monthsNarrow: []string{"", "j", "s", "m", "p", "m", "q", "k", "g", "s", "t", "n", "d"}, monthsWide: []string{"", "janar", "shkurt", "mars", "prill", "maj", "qershor", "korrik", "gusht", "shtator", "tetor", "nëntor", "dhjetor"}, daysAbbreviated: []string{"Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"}, daysNarrow: []string{"D", "H", "M", "M", "E", "P", "S"}, @@ -70,10 +70,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"e paradites", "e pasdites"}, periodsNarrow: []string{"e paradites", "e pasdites"}, periodsWide: []string{"e paradites", "e pasdites"}, - erasAbbreviated: []string{"p.e.r.", "e.r."}, - erasNarrow: []string{"p.e.r.", "e.r."}, - erasWide: []string{"para erës së re", "erës së re"}, - timezones: map[string]string{"HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "CLT": "Ora standarde e Kilit", "UYT": "Ora standarde e Uruguait", "COT": "Ora standarde e Kolumbisë", "CDT": "Ora verore e SHBA-së Qendrore", "GYT": "Ora e Guajanës", "∅∅∅": "Ora verore e Perusë", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "JST": "Ora standarde e Japonisë", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "WAT": "Ora standarde e Afrikës Perëndimore", "EDT": "Ora verore e SHBA-së Lindore", "NZST": "Ora standarde e Zelandës së Re", "CHAST": "Ora standarde e Katamit", "ADT": "Ora verore e Atlantikut", "JDT": "Ora verore e Japonisë", "GFT": "Ora e Guajanës Franceze", "VET": "Ora e Venezuelës", "AEDT": "Ora verore e Australisë Lindore", "MYT": "Ora e Malajzisë", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "ART": "Ora standarde e Argjentinës", "AST": "Ora standarde e Atlantikut", "EAT": "Ora e Afrikës Lindore", "TMT": "Ora standarde e Turkmenistanit", "SRT": "Ora e Surinamit", "WIB": "Ora e Indonezisë Perëndimore", "WIT": "Ora e Indonezisë Lindore", "GMT": "Ora e Meridianit të Grinuiçit", "MDT": "Ora verore amerikane e Brezit Malor", "WARST": "Ora verore e Argjentinës Perëndimore", "EST": "Ora standarde e SHBA-së Lindore", "TMST": "Ora verore e Turkmenistanit", "BOT": "Ora e Bolivisë", "CAT": "Ora e Afrikës Qendrore", "HKST": "Ora verore e Hong-Kongut", "MESZ": "Ora verore e Europës Qendrore", "MST": "Ora standarde amerikane e Brezit Malor", "BT": "Ora e Butanit", "ACDT": "Ora verore e Australisë Qendrore", "IST": "Ora standarde e Indisë", "NZDT": "Ora verore e Zelandës së Re", "ChST": "Ora e Kamorros", "CLST": "Ora verore e Kilit", "OESZ": "Ora verore e Europës Lindore", "HKT": "Ora standarde e Hong-Kongut", "SAST": "Ora standarde e Afrikës Jugore", "ARST": "Ora verore e Argjentinës", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "CHADT": "Ora verore e Katamit", "AEST": "Ora standarde e Australisë Lindore", "AKDT": "Ora verore e Alsaskës", "WITA": "Ora e Indonezisë Qendrore", "AWST": "Ora standarde e Australisë Perëndimore", "AWDT": "Ora verore e Australisë Perëndimore", "UYST": "Ora verore e Uruguait", "OEZ": "Ora standarde e Europës Lindore", "WESZ": "Ora verore e Europës Perëndimore", "COST": "Ora verore e Kolumbisë", "LHST": "Ora standarde e Lord-Houit", "ACST": "Ora standarde e Australisë Qendrore", "SGT": "Ora e Singaporit", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "MEZ": "Ora standarde e Europës Qendrore", "WART": "Ora standarde e Argjentinës Perëndimore", "CST": "Ora standarde e SHBA-së Qendrore", "WEZ": "Ora standarde e Europës Perëndimore", "ECT": "Ora e Ekuadorit", "WAST": "Ora verore e Afrikës Perëndimore", "AKST": "Ora standarde e Alaskës", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "LHDT": "Ora verore e Lord-Houit", "HAST": "Ora standarde e Ishujve Hauai-Aleutian"}, + erasAbbreviated: []string{"p.K.", "mb.K."}, + erasNarrow: []string{"p.K.", "mb.K."}, + erasWide: []string{"para Krishtit", "mbas Krishtit"}, + timezones: map[string]string{"OESZ": "Ora verore e Evropës Lindore", "SGT": "Ora e Singaporit", "AWDT": "Ora verore e Australisë Perëndimore", "ACDT": "Ora verore e Australisë Qendrore", "JST": "Ora standarde e Japonisë", "JDT": "Ora verore e Japonisë", "BOT": "Ora e Bolivisë", "HNEG": "Ora standarde e Grenlandës Lindore", "OEZ": "Ora standarde e Evropës Lindore", "GMT": "Ora e Meridianit të Grinuiçit", "HECU": "Ora verore e Kubës", "SRT": "Ora e Surinamit", "AEDT": "Ora verore e Australisë Lindore", "SAST": "Ora standarde e Afrikës Jugore", "ChST": "Ora e Kamorros", "EAT": "Ora e Afrikës Lindore", "WAT": "Ora standarde e Afrikës Perëndimore", "WART": "Ora standarde e Argjentinës Perëndimore", "AKST": "Ora standarde e Alaskës", "WIB": "Ora e Indonezisë Perëndimore", "NZST": "Ora standarde e Zelandës së Re", "WESZ": "Ora verore e Evropës Perëndimore", "HAT": "Ora verore e Njufaundlendit [Tokës së Re]", "HKT": "Ora standarde e Hong-Kongut", "ARST": "Ora verore e Argjentinës", "HNCU": "Ora standarde e Kubës", "AST": "Ora standarde e Atlantikut", "PST": "Ora standarde amerikane e Bregut të Paqësorit", "AKDT": "Ora verore e Alsaskës", "LHST": "Ora standarde e Lord-Houit", "TMT": "Ora standarde e Turkmenistanit", "CHADT": "Ora verore e Katamit", "CLT": "Ora standarde e Kilit", "HEPMX": "Ora verore meksikane e Bregut të Paqësorit", "ADT": "Ora verore e Atlantikut", "WITA": "Ora e Indonezisë Qendrore", "EST": "Ora standarde e SHBA-së Lindore", "MDT": "Ora verore e Makaos", "HNPMX": "Ora standarde meksikane e Bregut të Paqësorit", "VET": "Ora e Venezuelës", "HEOG": "Ora verore e Grenlandës Perëndimore", "COT": "Ora standarde e Kolumbisë", "COST": "Ora verore e Kolumbisë", "HNNOMX": "Ora standarde e Meksikës Veriperëndimore", "ECT": "Ora e Ekuadorit", "NZDT": "Ora verore e Zelandës së Re", "HEEG": "Ora verore e Grenlandës Lindore", "WEZ": "Ora standarde e Evropës Perëndimore", "ART": "Ora standarde e Argjentinës", "MESZ": "Ora verore e Evropës Qendrore", "ACWST": "Ora standarde e Australisë Qendroro-Perëndimore", "ACWDT": "Ora verore e Australisë Qendroro-Perëndimore", "AWST": "Ora standarde e Australisë Perëndimore", "CLST": "Ora verore e Kilit", "GFT": "Ora e Guajanës Franceze", "UYST": "Ora verore e Uruguait", "HADT": "Ora verore e Ishujve Hauai-Aleutian", "PDT": "Ora verore amerikane e Bregut të Paqësorit", "CDT": "Ora verore e SHBA-së Qendrore", "WIT": "Ora e Indonezisë Lindore", "TMST": "Ora verore e Turkmenistanit", "EDT": "Ora verore e SHBA-së Lindore", "GYT": "Ora e Guajanës", "BT": "Ora e Butanit", "HNT": "Ora standarde e Njufaundlendit [Tokës së Re]", "AEST": "Ora standarde e Australisë Lindore", "WARST": "Ora verore e Argjentinës Perëndimore", "HENOMX": "Ora verore e Meksikës Veriperëndimore", "∅∅∅": "Ora verore e Azoreve", "HKST": "Ora verore e Hong-Kongut", "MEZ": "Ora standarde e Evropës Qendrore", "ACST": "Ora standarde e Australisë Qendrore", "UYT": "Ora standarde e Uruguait", "CST": "Ora standarde e SHBA-së Qendrore", "HAST": "Ora standarde e Ishujve Hauai-Aleutian", "CAT": "Ora e Afrikës Qendrore", "WAST": "Ora verore e Afrikës Perëndimore", "HNPM": "Ora standarde e Shën-Pier dhe Mikuelon", "LHDT": "Ora verore e Lord-Houit", "IST": "Ora standarde e Indisë", "HEPM": "Ora verore e Shën-Pier dhe Mikuelon", "CHAST": "Ora standarde e Katamit", "MST": "Ora standarde e Makaos", "MYT": "Ora e Malajzisë", "HNOG": "Ora standarde e Grenlandës Perëndimore"}, } } @@ -439,7 +439,12 @@ func (sq *sq_XK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +458,12 @@ func (sq *sq_XK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -469,7 +479,12 @@ func (sq *sq_XK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sr/sr.go b/sr/sr.go index 794230660..2870339c5 100644 --- a/sr/sr.go +++ b/sr/sr.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "КМ", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "[BGN]", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "[BYR]", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "КМ", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, periodsAbbreviated: []string{"пре подне", "по подне"}, periodsNarrow: []string{"a", "p"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"SGT": "Сингапур стандардно време", "AST": "Атланско стандардно време", "CDT": "Северноамерички Централно летње рачунање времена", "AKST": "Аљаска, стандардно време", "JST": "Јапанско стандардно време", "OEZ": "Источноевропско стандардно време", "ACST": "Аустралијско централно стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "EDT": "Северноамерички Источно летње рачунање времена", "LHDT": "Лорд Хов летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "HKT": "Хонг Конг стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "ARST": "Аргентина летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "GMT": "Средње време по Гриничу", "UYST": "Уругвај летње рачунање времена", "ECT": "Еквадор време", "ChST": "Чаморо време", "WIT": "Источно-индонезијско време", "CAT": "Централно-афричко време", "WIB": "Западно-индонезијско време", "ADT": "Атланско лтње рачунање времена", "BT": "Бутан време", "AWST": "Аустралијско западно стандардно време", "AEST": "Аустралијско источно стандардно време", "PST": "Северноамерички Пацифичко стандардно време", "MYT": "Малезија време", "HKST": "Хонг Конг летње рачунање времена", "COT": "Колумбија стандардно време", "EST": "Северноамерички Источно стандардно време", "EAT": "Источно-афричко време", "CLST": "Чиле летње рачунање времена", "WART": "Западна Аргентина стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "CLT": "Чиле стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "MST": "Макао стандардно време", "UYT": "Уругвај стандардно време", "JDT": "Јапанско летње рачунање времена", "WAT": "Западно-афричко стандардно време", "TMT": "Туркменистан стандардно време", "IST": "Индијско стандардно време", "WITA": "Централно-индонезијско време", "GYT": "Гвајана време", "NZST": "Нови Зеланд стандардно време", "WESZ": "Западноевропско летње рачунање времена", "CHAST": "Чатам стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "MDT": "Макао летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "SRT": "Суринам време", "OESZ": "Источноевропско летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "LHST": "Лорд Хов стандардно време", "CHADT": "Чатам летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "SAST": "Јужно-афричко време", "GFT": "Француска Гвајана време", "WEZ": "Западноевропско стандардно време", "VET": "Венецуела време", "COST": "Колумбија летње рачунање времена", "ART": "Аргентина стандардно време", "BOT": "Боливија време", "HNT": "Њуфаундленд стандардно време", "MESZ": "Средњеевропско летње рачунање времена"}, + timezones: map[string]string{"MESZ": "Средњеевропско летње рачунање времена", "IST": "Индијско стандардно време", "CLST": "Чиле летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "HNNOMX": "Северозападни Мексико стандардно време", "UYT": "Уругвај стандардно време", "WIT": "Источно-индонезијско време", "HEOG": "Западни Гренланд летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "EDT": "Северноамеричко источно летње време", "HNOG": "Западни Гренланд стандардно време", "EST": "Северноамеричко источно стандардно време", "MST": "Макао стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "HKT": "Хонг Конг стандардно време", "GFT": "Француска Гвајана време", "HNPMX": "Мексички Пацифик стандардно време", "CHADT": "Чатам летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "OEZ": "Источноевропско стандардно време", "AKDT": "Аљаска, летње рачунање времена", "CST": "Северноамеричко централно стандардно време", "LHST": "Лорд Хов стандардно време", "CHAST": "Чатам стандардно време", "AEST": "Аустралијско источно стандардно време", "HNPM": "Сен Пјер и Микелон стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "WIB": "Западно-индонезијско време", "WEZ": "Западноевропско стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "JST": "Јапанско стандардно време", "BOT": "Боливија време", "MYT": "Малезија време", "AEDT": "Аустралијско источно летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "COST": "Колумбија летње рачунање времена", "GYT": "Гвајана време", "AWST": "Аустралијско западно стандардно време", "WESZ": "Западноевропско летње рачунање времена", "ChST": "Чаморо време", "TMT": "Туркменистан стандардно време", "GMT": "Средње време по Гриничу", "VET": "Венецуела време", "BT": "Бутан време", "PDT": "Северноамеричко пацифичко летње време", "HADT": "Хавајско-алеутско летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "CLT": "Чиле стандардно време", "WART": "Западна Аргентина стандардно време", "COT": "Колумбија стандардно време", "AKST": "Аљаска, стандардно време", "AST": "Атлантско стандардно време", "ADT": "Атлантско летње рачунање времена", "HNCU": "Куба стандардно време", "HEPMX": "Мексички Пацифик летње рачунање времена", "CDT": "Северноамеричко централно летње време", "SRT": "Суринам време", "PST": "Северноамеричко пацифичко стандардно време", "NZST": "Нови Зеланд стандардно време", "CAT": "Централно-афричко време", "HAT": "Њуфаундленд летње рачунање времена", "HKST": "Хонг Конг летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "ECT": "Еквадор време", "SGT": "Сингапур стандардно време", "HECU": "Куба летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "UYST": "Уругвај летње рачунање времена", "WITA": "Централно-индонезијско време", "MEZ": "Средњеевропско стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "SAST": "Јужно-афричко време", "ACST": "Аустралијско централно стандардно време", "EAT": "Источно-афричко време", "WAT": "Западно-афричко стандардно време", "MDT": "Макао летње рачунање времена", "ART": "Аргентина стандардно време", "ARST": "Аргентина летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Cyrl/sr_Cyrl.go b/sr_Cyrl/sr_Cyrl.go index 3edc0eec9..5f066c7aa 100644 --- a/sr_Cyrl/sr_Cyrl.go +++ b/sr_Cyrl/sr_Cyrl.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, periodsAbbreviated: []string{"пре подне", "по подне"}, periodsNarrow: []string{"a", "p"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"SRT": "Суринам време", "ECT": "Еквадор време", "WITA": "Централно-индонезијско време", "MST": "Северноамерички Планинско стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "ChST": "Чаморо време", "JST": "Јапанско стандардно време", "JDT": "Јапанско летње рачунање времена", "TMT": "Туркменистан стандардно време", "WIT": "Источно-индонезијско време", "AKDT": "Аљаска, летње рачунање времена", "CDT": "Северноамерички Централно летње рачунање времена", "GMT": "Средње време по Гриничу", "WEZ": "Западноевропско стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "HKT": "Хонг Конг стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "PST": "Северноамерички Пацифичко стандардно време", "MYT": "Малезија време", "BOT": "Боливија време", "CLT": "Чиле стандардно време", "UYST": "Уругвај летње рачунање времена", "CHAST": "Чатам стандардно време", "CHADT": "Чатам летње рачунање времена", "IST": "Индијско стандардно време", "CLST": "Чиле летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "EST": "Северноамерички Источно стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "WIB": "Западно-индонезијско време", "AEDT": "Аустралијско источно летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "NZST": "Нови Зеланд стандардно време", "OEZ": "Источноевропско стандардно време", "WESZ": "Западноевропско летње рачунање времена", "COT": "Колумбија стандардно време", "VET": "Венецуела време", "HAT": "Њуфаундленд летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "AEST": "Аустралијско источно стандардно време", "ADT": "Атланско лтње рачунање времена", "HADT": "Хавајско-алеутско летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "UYT": "Уругвај стандардно време", "GFT": "Француска Гвајана време", "COST": "Колумбија летње рачунање времена", "ARST": "Аргентина летње рачунање времена", "MDT": "Северноамерички Планинско летње рачунање времена", "CAT": "Централно-афричко време", "SAST": "Јужно-афричко време", "WAST": "Западно-афричко летње рачунање времена", "LHST": "Лорд Хов стандардно време", "EAT": "Источно-афричко време", "BT": "Бутан време", "AWST": "Аустралијско западно стандардно време", "HKST": "Хонг Конг летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "AKST": "Аљаска, стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "WAT": "Западно-афричко стандардно време", "∅∅∅": "Азори летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "GYT": "Гвајана време", "ART": "Аргентина стандардно време", "WART": "Западна Аргентина стандардно време", "AST": "Атланско стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "MESZ": "Средњеевропско летње рачунање времена", "SGT": "Сингапур стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "EDT": "Северноамерички Источно летње рачунање времена"}, + timezones: map[string]string{"MYT": "Малезија време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "ART": "Аргентина стандардно време", "HENOMX": "Северозападни Мексико летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "COT": "Колумбија стандардно време", "CDT": "Северноамеричко централно летње време", "GYT": "Гвајана време", "LHDT": "Лорд Хов летње рачунање времена", "SAST": "Јужно-афричко време", "CST": "Северноамеричко централно стандардно време", "WIB": "Западно-индонезијско време", "PDT": "Северноамеричко пацифичко летње време", "EST": "Северноамеричко источно стандардно време", "EDT": "Северноамеричко источно летње време", "ChST": "Чаморо време", "EAT": "Источно-афричко време", "OEZ": "Источноевропско стандардно време", "AWST": "Аустралијско западно стандардно време", "LHST": "Лорд Хов стандардно време", "CHAST": "Чатам стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "CLST": "Чиле летње рачунање времена", "ECT": "Еквадор време", "BOT": "Боливија време", "TMST": "Туркменистан летње рачунање времена", "COST": "Колумбија летње рачунање времена", "ADT": "Атлантско летње рачунање времена", "WIT": "Источно-индонезијско време", "HAST": "Хавајско-алеутско стандардно време", "HEOG": "Западни Гренланд летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "HNPMX": "Мексички Пацифик стандардно време", "OESZ": "Источноевропско летње рачунање времена", "UYT": "Уругвај стандардно време", "SRT": "Суринам време", "WEZ": "Западноевропско стандардно време", "WITA": "Централно-индонезијско време", "JDT": "Јапанско летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "HNCU": "Куба стандардно време", "VET": "Венецуела време", "HNT": "Њуфаундленд стандардно време", "AEST": "Аустралијско источно стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "HNPM": "Сен Пјер и Микелон стандардно време", "JST": "Јапанско стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "MDT": "Северноамеричко планинско летње време", "TMT": "Туркменистан стандардно време", "WAT": "Западно-афричко стандардно време", "CAT": "Централно-афричко време", "WART": "Западна Аргентина стандардно време", "SGT": "Сингапур стандардно време", "UYST": "Уругвај летње рачунање времена", "MST": "Северноамеричко планинско стандардно време", "WESZ": "Западноевропско летње рачунање времена", "PST": "Северноамеричко пацифичко стандардно време", "HNNOMX": "Северозападни Мексико стандардно време", "AST": "Атлантско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "HECU": "Куба летње рачунање времена", "HADT": "Хавајско-алеутско летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена", "GMT": "Средње време по Гриничу", "AKDT": "Аљаска, летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "GFT": "Француска Гвајана време", "ACDT": "Аустралијско централно летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "IST": "Индијско стандардно време", "CLT": "Чиле стандардно време", "AKST": "Аљаска, стандардно време", "BT": "Бутан време", "ARST": "Аргентина летње рачунање времена", "HNOG": "Западни Гренланд стандардно време", "HKT": "Хонг Конг стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "NZST": "Нови Зеланд стандардно време", "CHADT": "Чатам летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Cyrl) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Cyrl) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Cyrl) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Cyrl) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Cyrl) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Cyrl) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Cyrl) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Cyrl_BA/sr_Cyrl_BA.go b/sr_Cyrl_BA/sr_Cyrl_BA.go index 0936deab1..48f74ffe4 100644 --- a/sr_Cyrl_BA/sr_Cyrl_BA.go +++ b/sr_Cyrl_BA/sr_Cyrl_BA.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "јан.", "феб.", "март", "апр.", "мај", "јун", "јул", "авг.", "септ.", "окт.", "нов.", "дец."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"нед.", "пон.", "ут.", "ср.", "чет.", "пет.", "суб."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, - daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"пре подне", "по подне"}, - erasAbbreviated: []string{"п. н. е.", "н. е."}, - erasNarrow: []string{"п.н.е.", "н.е."}, - erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"LHST": "Лорд Хов стандардно време", "AKST": "Аљаска, стандардно време", "CST": "Северноамерички Централно стандардно време", "GYT": "Гвајана време", "WEZ": "Западноевропско стандардно време", "CHAST": "Чатам стандардно време", "ARST": "Аргентина летње рачунање времена", "EAT": "Источно-афричко време", "SAST": "Јужно-афричко време", "NZST": "Нови Зеланд стандардно време", "JDT": "Јапанско летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "WAST": "Западно-афричко летње рачунање времена", "UYST": "Уругвај летње рачунање времена", "HKST": "Хонг Конг летње рачунање времена", "TMT": "Туркменистан стандардно време", "AEST": "Аустралијско источно стандардно време", "EDT": "Северноамерички Источно летње рачунање времена", "PDT": "Северноамерички Пацифичко летње рачунање времена", "BT": "Бутан време", "ADT": "Атланско лтње рачунање времена", "IST": "Индијско стандардно време", "MDT": "Северноамерички Планинско летње рачунање времена", "LHDT": "Лорд Хов летње рачунање времена", "SRT": "Суринам време", "OEZ": "Источноевропско стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "PST": "Северноамерички Пацифичко стандардно време", "WAT": "Западно-афричко стандардно време", "HKT": "Хонг Конг стандардно време", "CHADT": "Чатам летње рачунање времена", "WIB": "Западно-индонезијско време", "CAT": "Централно-афричко време", "CLT": "Чиле стандардно време", "CLST": "Чиле летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "ECT": "Еквадор време", "TMST": "Туркменистан летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "GFT": "Француска Гвајана време", "MESZ": "Средњеевропско летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "EST": "Северноамерички Источно стандардно време", "ChST": "Чаморо време", "GMT": "Средње време по Гриничу", "JST": "Јапанско стандардно време", "MST": "Северноамерички Планинско стандардно време", "MEZ": "Средњеевропско стандардно време", "WART": "Западна Аргентина стандардно време", "COT": "Колумбија стандардно време", "WITA": "Централно-индонезијско време", "CDT": "Северноамерички Централно летње рачунање времена", "BOT": "Боливија време", "OESZ": "Источноевропско летње рачунање времена", "SGT": "Сингапур стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "AST": "Атланско стандардно време", "WESZ": "Западноевропско летње рачунање времена", "VET": "Венецуела време", "WIT": "Источно-индонезијско време", "AWST": "Аустралијско западно стандардно време", "MYT": "Малезија време", "UYT": "Уругвај стандардно време", "COST": "Колумбија летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "ART": "Аргентина стандардно време", "AKDT": "Аљаска, летње рачунање времена"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, + daysWide: []string{"недјеља", "понедељак", "уторак", "сриједа", "четвртак", "петак", "субота"}, + periodsAbbreviated: []string{"прије подне", "по подне"}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"прије подне", "по подне"}, + erasAbbreviated: []string{"", ""}, + erasNarrow: []string{"", ""}, + erasWide: []string{"прије нове ере", "нове ере"}, + timezones: map[string]string{"HNOG": "Западни Гренланд стандардно време", "ChST": "Чаморо време", "ACST": "Аустралијско централно стандардно време", "CAT": "Централно-афричко време", "WIT": "Источно-индонезијско време", "HADT": "Хавајско-алеутско летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "WAT": "Западно-афричко стандардно време", "HNCU": "Куба стандардно време", "ADT": "Атлантско летње рачунање времена", "EST": "Северноамеричко источно стандардно време", "UYT": "Уругвај стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "∅∅∅": "Амазон летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "WART": "Западна Аргентина стандардно време", "PST": "Северноамеричко пацифичко стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "TMT": "Туркменистан стандардно време", "TMST": "Туркменистан летње рачунање времена", "SAST": "Јужно-афричко време", "ACDT": "Аустралијско централно летње рачунање времена", "GMT": "Средње време по Гриничу", "AKDT": "Аљаска, летње рачунање времена", "WIB": "Западно-индонезијско време", "VET": "Венецуела време", "ART": "Аргентина стандардно време", "HNNOMX": "Северозападни Мексико стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "EDT": "Северноамеричко источно летње време", "COT": "Колумбија стандардно време", "COST": "Колумбија летње рачунање времена", "CST": "Северноамеричко централно стандардно време", "HEOG": "Западни Гренланд летње рачунање времена", "AWST": "Аустралијско западно стандардно време", "CHADT": "Чатам летње рачунање времена", "GFT": "Француска Гвајана време", "MDT": "Макао летње рачунање времена", "CDT": "Северноамеричко централно летње време", "NZST": "Нови Зеланд стандардно време", "JST": "Јапанско стандардно време", "BOT": "Боливија време", "ECT": "Еквадор време", "OESZ": "Источноевропско летње рачунање времена", "EAT": "Источно-афричко време", "AST": "Атлантско стандардно време", "UYST": "Уругвај летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "ARST": "Аргентина летње рачунање времена", "HNPM": "Сен Пјер и Микелон стандардно време", "CLT": "Чиле стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "IST": "Индијско стандардно време", "AKST": "Аљаска, стандардно време", "GYT": "Гвајана време", "HNPMX": "Мексички Пацифик стандардно време", "HAST": "Хавајско-алеутско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "MST": "Макао стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "SGT": "Сингапур стандардно време", "BT": "Бутан време", "PDT": "Северноамеричко пацифичко летње време", "WITA": "Централно-индонезијско време", "CHAST": "Чатам стандардно време", "HEPMX": "Мексички Пацифик летње рачунање времена", "SRT": "Суринам време", "WESZ": "Западноевропско летње рачунање времена", "LHST": "Лорд Хов стандардно време", "HECU": "Куба летње рачунање времена", "HKT": "Хонг Конг стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "CLST": "Чиле летње рачунање времена", "MYT": "Малезија време", "WEZ": "Западноевропско стандардно време", "JDT": "Јапанско летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "OEZ": "Источноевропско стандардно време"}, } } @@ -103,8 +103,8 @@ func (sr *sr_Cyrl_BA) CardinalPluralRule(num float64, v uint64) locales.PluralRu n := math.Abs(num) i := int64(n) f := locales.F(n, v) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 fMod10 := f % 10 fMod100 := f % 100 @@ -454,7 +454,13 @@ func (sr *sr_Cyrl_BA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Cyrl_BA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Cyrl_BA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/sr_Cyrl_ME/sr_Cyrl_ME.go b/sr_Cyrl_ME/sr_Cyrl_ME.go index 588411a8c..dfe11d5c0 100644 --- a/sr_Cyrl_ME/sr_Cyrl_ME.go +++ b/sr_Cyrl_ME/sr_Cyrl_ME.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "јан.", "феб.", "март", "апр.", "мај", "јун", "јул", "авг.", "септ.", "окт.", "нов.", "дец."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"нед.", "пон.", "ут.", "ср.", "чет.", "пет.", "суб."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, - daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"пре подне", "по подне"}, - erasAbbreviated: []string{"п. н. е.", "н. е."}, - erasNarrow: []string{"п.н.е.", "н.е."}, - erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"OEZ": "Источноевропско стандардно време", "SGT": "Сингапур стандардно време", "HAST": "Хавајско-алеутско стандардно време", "PST": "Северноамерички Пацифичко стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "WEZ": "Западноевропско стандардно време", "CHAST": "Чатам стандардно време", "WIB": "Западно-индонезијско време", "ACWST": "Аустралијско централно западно стандардно време", "WAT": "Западно-афричко стандардно време", "AWST": "Аустралијско западно стандардно време", "CDT": "Северноамерички Централно летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "LHST": "Лорд Хов стандардно време", "GMT": "Средње време по Гриничу", "CHADT": "Чатам летње рачунање времена", "ECT": "Еквадор време", "HAT": "Њуфаундленд летње рачунање времена", "AKST": "Аљаска, стандардно време", "WITA": "Централно-индонезијско време", "BOT": "Боливија време", "MDT": "Макао летње рачунање времена", "UYT": "Уругвај стандардно време", "ACST": "Аустралијско централно стандардно време", "COST": "Колумбија летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "EAT": "Источно-афричко време", "MST": "Макао стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "CLT": "Чиле стандардно време", "CAT": "Централно-афричко време", "MESZ": "Средњеевропско летње рачунање времена", "COT": "Колумбија стандардно време", "∅∅∅": "Бразилија летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "TMT": "Туркменистан стандардно време", "JST": "Јапанско стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "NZST": "Нови Зеланд стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "EST": "Северноамерички Источно стандардно време", "MYT": "Малезија време", "ChST": "Чаморо време", "WESZ": "Западноевропско летње рачунање времена", "SRT": "Суринам време", "OESZ": "Источноевропско летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "ARST": "Аргентина летње рачунање времена", "ADT": "Атланско лтње рачунање времена", "CLST": "Чиле летње рачунање времена", "WIT": "Источно-индонезијско време", "ART": "Аргентина стандардно време", "IST": "Индијско стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "AST": "Атланско стандардно време", "HNT": "Њуфаундленд стандардно време", "HKST": "Хонг Конг летње рачунање времена", "GFT": "Француска Гвајана време", "VET": "Венецуела време", "SAST": "Јужно-афричко време", "EDT": "Северноамерички Источно летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "BT": "Бутан време", "UYST": "Уругвај летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "HKT": "Хонг Конг стандардно време", "AEST": "Аустралијско источно стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "WART": "Западна Аргентина стандардно време", "GYT": "Гвајана време"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, + daysWide: []string{"недјеља", "понедељак", "уторак", "сриједа", "четвртак", "петак", "субота"}, + periodsAbbreviated: []string{"прије подне", "по подне"}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"прије подне", "по подне"}, + erasAbbreviated: []string{"", ""}, + erasNarrow: []string{"", ""}, + erasWide: []string{"", ""}, + timezones: map[string]string{"HNT": "Њуфаундленд стандардно време", "HKST": "Хонг Конг летње рачунање времена", "WITA": "Централно-индонезијско време", "NZST": "Нови Зеланд стандардно време", "JDT": "Јапанско летње рачунање времена", "WESZ": "Западноевропско летње рачунање времена", "MESZ": "Средњеевропско летње рачунање времена", "GFT": "Француска Гвајана време", "HNNOMX": "Северозападни Мексико стандардно време", "SGT": "Сингапур стандардно време", "EDT": "Северноамеричко источно летње време", "HAT": "Њуфаундленд летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена", "SAST": "Јужно-афричко време", "CLST": "Чиле летње рачунање времена", "HEEG": "Источни Гренланд летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена", "HADT": "Хавајско-алеутско летње рачунање времена", "VET": "Венецуела време", "HNOG": "Западни Гренланд стандардно време", "PST": "Северноамеричко пацифичко стандардно време", "OESZ": "Источноевропско летње рачунање времена", "HNCU": "Куба стандардно време", "AKDT": "Аљаска, летње рачунање времена", "GYT": "Гвајана време", "WIB": "Западно-индонезијско време", "MDT": "Северноамеричко планинско летње време", "AWST": "Аустралијско западно стандардно време", "IST": "Индијско стандардно време", "COT": "Колумбија стандардно време", "HEOG": "Западни Гренланд летње рачунање времена", "HNPM": "Сен Пјер и Микелон стандардно време", "CLT": "Чиле стандардно време", "HNEG": "Источни Гренланд стандардно време", "UYT": "Уругвај стандардно време", "WAT": "Западно-афричко стандардно време", "CAT": "Централно-афричко време", "COST": "Колумбија летње рачунање времена", "ARST": "Аргентина летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "CHADT": "Чатам летње рачунање времена", "ChST": "Чаморо време", "ACDT": "Аустралијско централно летње рачунање времена", "MST": "Северноамеричко планинско стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "WART": "Западна Аргентина стандардно време", "MYT": "Малезија време", "LHST": "Лорд Хов стандардно време", "WAST": "Западно-афричко летње рачунање времена", "OEZ": "Источноевропско стандардно време", "CDT": "Северноамеричко централно летње време", "CST": "Северноамеричко централно стандардно време", "AST": "Атлантско стандардно време", "WIT": "Источно-индонезијско време", "BT": "Бутан време", "LHDT": "Лорд Хов летње рачунање времена", "TMT": "Туркменистан стандардно време", "EST": "Северноамеричко источно стандардно време", "HECU": "Куба летње рачунање времена", "ART": "Аргентина стандардно време", "WEZ": "Западноевропско стандардно време", "HKT": "Хонг Конг стандардно време", "MEZ": "Средњеевропско стандардно време", "TMST": "Туркменистан летње рачунање времена", "PDT": "Северноамеричко пацифичко летње време", "JST": "Јапанско стандардно време", "UYST": "Уругвај летње рачунање времена", "SRT": "Суринам време", "NZDT": "Нови Зеланд летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "GMT": "Средње време по Гриничу", "HNPMX": "Мексички Пацифик стандардно време", "HAST": "Хавајско-алеутско стандардно време", "BOT": "Боливија време", "ECT": "Еквадор време", "EAT": "Источно-афричко време", "AEDT": "Аустралијско источно летње рачунање времена", "CHAST": "Чатам стандардно време", "∅∅∅": "Амазон летње рачунање времена", "AKST": "Аљаска, стандардно време", "ADT": "Атлантско летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Cyrl_ME) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Cyrl_ME) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Cyrl_ME) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Cyrl_ME) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Cyrl_ME) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Cyrl_ME) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Cyrl_ME) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Cyrl_RS/sr_Cyrl_RS.go b/sr_Cyrl_RS/sr_Cyrl_RS.go index 6dd8515ee..fabc59149 100644 --- a/sr_Cyrl_RS/sr_Cyrl_RS.go +++ b/sr_Cyrl_RS/sr_Cyrl_RS.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, periodsAbbreviated: []string{"пре подне", "по подне"}, periodsNarrow: []string{"a", "p"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"LHST": "Лорд Хов стандардно време", "ARST": "Аргентина летње рачунање времена", "ADT": "Атланско лтње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "PST": "Северноамерички Пацифичко стандардно време", "TMT": "Туркменистан стандардно време", "ECT": "Еквадор време", "VET": "Венецуела време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "ART": "Аргентина стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "GFT": "Француска Гвајана време", "CST": "Северноамерички Централно стандардно време", "ChST": "Чаморо време", "BT": "Бутан време", "JDT": "Јапанско летње рачунање времена", "HKST": "Хонг Конг летње рачунање времена", "COST": "Колумбија летње рачунање времена", "EAT": "Источно-афричко време", "WAST": "Западно-афричко летње рачунање времена", "EDT": "Северноамерички Источно летње рачунање времена", "WITA": "Централно-индонезијско време", "∅∅∅": "Бразилија летње рачунање времена", "SRT": "Суринам време", "COT": "Колумбија стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "AST": "Атланско стандардно време", "GYT": "Гвајана време", "MYT": "Малезија време", "LHDT": "Лорд Хов летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "CHADT": "Чатам летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "WART": "Западна Аргентина стандардно време", "EST": "Северноамерички Источно стандардно време", "NZST": "Нови Зеланд стандардно време", "BOT": "Боливија време", "AWDT": "Аустралијско западно летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "TMST": "Туркменистан летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "SGT": "Сингапур стандардно време", "WIB": "Западно-индонезијско време", "CLT": "Чиле стандардно време", "OEZ": "Источноевропско стандардно време", "HKT": "Хонг Конг стандардно време", "ACST": "Аустралијско централно стандардно време", "CDT": "Северноамерички Централно летње рачунање времена", "GMT": "Средње време по Гриничу", "WESZ": "Западноевропско летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "IST": "Индијско стандардно време", "MST": "Северноамерички Планинско стандардно време", "AWST": "Аустралијско западно стандардно време", "WIT": "Источно-индонезијско време", "MESZ": "Средњеевропско летње рачунање времена", "UYST": "Уругвај летње рачунање времена", "WEZ": "Западноевропско стандардно време", "CLST": "Чиле летње рачунање времена", "PDT": "Северноамерички Пацифичко летње рачунање времена", "UYT": "Уругвај стандардно време", "CHAST": "Чатам стандардно време", "AEST": "Аустралијско источно стандардно време", "SAST": "Јужно-афричко време", "JST": "Јапанско стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "WAT": "Западно-афричко стандардно време", "AKST": "Аљаска, стандардно време", "MDT": "Северноамерички Планинско летње рачунање времена", "CAT": "Централно-афричко време", "HADT": "Хавајско-алеутско летње рачунање времена"}, + timezones: map[string]string{"HKST": "Хонг Конг летње рачунање времена", "HECU": "Куба летње рачунање времена", "EST": "Северноамеричко источно стандардно време", "VET": "Венецуела време", "HNOG": "Западни Гренланд стандардно време", "BOT": "Боливија време", "WAST": "Западно-афричко летње рачунање времена", "MYT": "Малезија време", "ART": "Аргентина стандардно време", "CHAST": "Чатам стандардно време", "JST": "Јапанско стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "GYT": "Гвајана време", "WESZ": "Западноевропско летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "CLST": "Чиле летње рачунање времена", "HNNOMX": "Северозападни Мексико стандардно време", "CST": "Северноамеричко централно стандардно време", "CAT": "Централно-афричко време", "AST": "Атлантско стандардно време", "SRT": "Суринам време", "PST": "Северноамеричко пацифичко стандардно време", "PDT": "Северноамеричко пацифичко летње време", "AEDT": "Аустралијско источно летње рачунање времена", "HKT": "Хонг Конг стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "ChST": "Чаморо време", "ECT": "Еквадор време", "OEZ": "Источноевропско стандардно време", "MST": "Макао стандардно време", "AKST": "Аљаска, стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "WART": "Западна Аргентина стандардно време", "WEZ": "Западноевропско стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "CHADT": "Чатам летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "EAT": "Источно-афричко време", "OESZ": "Источноевропско летње рачунање времена", "MDT": "Макао летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "LHST": "Лорд Хов стандардно време", "ACST": "Аустралијско централно стандардно време", "COT": "Колумбија стандардно време", "ADT": "Атлантско летње рачунање времена", "CDT": "Северноамеричко централно летње време", "WIT": "Источно-индонезијско време", "MESZ": "Средњеевропско летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена", "WIB": "Западно-индонезијско време", "ACWST": "Аустралијско централно западно стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "GFT": "Француска Гвајана време", "HNPMX": "Мексички Пацифик стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "BT": "Бутан време", "HEOG": "Западни Гренланд летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "NZST": "Нови Зеланд стандардно време", "SAST": "Јужно-афричко време", "IST": "Индијско стандардно време", "CLT": "Чиле стандардно време", "ARST": "Аргентина летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "EDT": "Северноамеричко источно летње време", "AWST": "Аустралијско западно стандардно време", "MEZ": "Средњеевропско стандардно време", "JDT": "Јапанско летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "TMT": "Туркменистан стандардно време", "WAT": "Западно-афричко стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "GMT": "Средње време по Гриничу", "UYT": "Уругвај стандардно време", "HAST": "Хавајско-алеутско стандардно време", "WITA": "Централно-индонезијско време", "HNPM": "Сен Пјер и Микелон стандардно време", "HNCU": "Куба стандардно време", "UYST": "Уругвај летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "COST": "Колумбија летње рачунање времена", "SGT": "Сингапур стандардно време"}, } } @@ -103,10 +103,10 @@ func (sr *sr_Cyrl_RS) CardinalPluralRule(num float64, v uint64) locales.PluralRu n := math.Abs(num) i := int64(n) f := locales.F(n, v) - iMod100 := i % 100 iMod10 := i % 10 - fMod100 := f % 100 + iMod100 := i % 100 fMod10 := f % 10 + fMod100 := f % 100 if (v == 0 && iMod10 == 1 && iMod100 != 11) || (fMod10 == 1 && fMod100 != 11) { return locales.PluralRuleOne @@ -454,7 +454,13 @@ func (sr *sr_Cyrl_RS) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Cyrl_RS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Cyrl_RS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Cyrl_RS) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Cyrl_RS) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Cyrl_RS) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Cyrl_RS) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Cyrl_XK/sr_Cyrl_XK.go b/sr_Cyrl_XK/sr_Cyrl_XK.go index 62eb0611a..dd421b3b9 100644 --- a/sr_Cyrl_XK/sr_Cyrl_XK.go +++ b/sr_Cyrl_XK/sr_Cyrl_XK.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "јан.", "феб.", "март", "апр.", "мај", "јун", "јул", "авг.", "септ.", "окт.", "нов.", "дец."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"нед.", "пон.", "ут.", "ср.", "чет.", "пет.", "суб."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"пре подне", "по подне"}, erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"ACDT": "Аустралијско централно летње рачунање времена", "EST": "Северноамерички Источно стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "MST": "Северноамерички Планинско стандардно време", "ECT": "Еквадор време", "MEZ": "Средњеевропско стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "GMT": "Средње време по Гриничу", "LHDT": "Лорд Хов летње рачунање времена", "HKT": "Хонг Конг стандардно време", "JDT": "Јапанско летње рачунање времена", "EAT": "Источно-афричко време", "SAST": "Јужно-афричко време", "∅∅∅": "Азори летње рачунање времена", "BT": "Бутан време", "HKST": "Хонг Конг летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "ChST": "Чаморо време", "CLT": "Чиле стандардно време", "CHAST": "Чатам стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "PST": "Северноамерички Пацифичко стандардно време", "AST": "Атланско стандардно време", "WESZ": "Западноевропско летње рачунање времена", "WIB": "Западно-индонезијско време", "ACST": "Аустралијско централно стандардно време", "CDT": "Северноамерички Централно летње рачунање времена", "CLST": "Чиле летње рачунање времена", "JST": "Јапанско стандардно време", "SRT": "Суринам време", "ARST": "Аргентина летње рачунање времена", "MDT": "Северноамерички Планинско летње рачунање времена", "GFT": "Француска Гвајана време", "WEZ": "Западноевропско стандардно време", "OESZ": "Источноевропско летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "AWST": "Аустралијско западно стандардно време", "HAST": "Хавајско-алеутско стандардно време", "LHST": "Лорд Хов стандардно време", "VET": "Венецуела време", "MYT": "Малезија време", "NZDT": "Нови Зеланд летње рачунање времена", "AWDT": "Аустралијско западно летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "WART": "Западна Аргентина стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "AKST": "Аљаска, стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "SGT": "Сингапур стандардно време", "NZST": "Нови Зеланд стандардно време", "COT": "Колумбија стандардно време", "TMST": "Туркменистан летње рачунање времена", "UYT": "Уругвај стандардно време", "CHADT": "Чатам летње рачунање времена", "MESZ": "Средњеевропско летње рачунање времена", "ADT": "Атланско лтње рачунање времена", "WITA": "Централно-индонезијско време", "CAT": "Централно-афричко време", "OEZ": "Источноевропско стандардно време", "TMT": "Туркменистан стандардно време", "GYT": "Гвајана време", "WIT": "Источно-индонезијско време", "UYST": "Уругвај летње рачунање времена", "IST": "Индијско стандардно време", "BOT": "Боливија време", "COST": "Колумбија летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена", "ART": "Аргентина стандардно време", "EDT": "Северноамерички Источно летње рачунање времена", "WAT": "Западно-афричко стандардно време"}, + timezones: map[string]string{"AWDT": "Аустралијско западно летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "BT": "Бутан време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена", "AST": "Атлантско стандардно време", "VET": "Венецуела време", "WITA": "Централно-индонезијско време", "CHADT": "Чатам летње рачунање времена", "SAST": "Јужно-афричко време", "TMST": "Туркменистан летње рачунање времена", "HNPMX": "Мексички Пацифик стандардно време", "AEST": "Аустралијско источно стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "WAT": "Западно-афричко стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "ART": "Аргентина стандардно време", "AWST": "Аустралијско западно стандардно време", "NZST": "Нови Зеланд стандардно време", "CLT": "Чиле стандардно време", "CAT": "Централно-афричко време", "AKDT": "Аљаска, летње рачунање времена", "GYT": "Гвајана време", "HKST": "Хонг Конг летње рачунање времена", "CHAST": "Чатам стандардно време", "UYT": "Уругвај стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "COST": "Колумбија летње рачунање времена", "HNNOMX": "Северозападни Мексико стандардно време", "CST": "Северноамеричко централно стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "MST": "Макао стандардно време", "AKST": "Аљаска, стандардно време", "EST": "Северноамеричко источно стандардно време", "EDT": "Северноамеричко источно летње време", "UYST": "Уругвај летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "MEZ": "Средњеевропско стандардно време", "HKT": "Хонг Конг стандардно време", "ECT": "Еквадор време", "WARST": "Западна Аргентина летње рачунање времена", "GMT": "Средње време по Гриничу", "SGT": "Сингапур стандардно време", "SRT": "Суринам време", "PST": "Северноамеричко пацифичко стандардно време", "HNCU": "Куба стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "GFT": "Француска Гвајана време", "HECU": "Куба летње рачунање времена", "WIT": "Источно-индонезијско време", "WEZ": "Западноевропско стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "MYT": "Малезија време", "WESZ": "Западноевропско летње рачунање времена", "IST": "Индијско стандардно време", "∅∅∅": "Амазон летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "BOT": "Боливија време", "TMT": "Туркменистан стандардно време", "CDT": "Северноамеричко централно летње време", "ARST": "Аргентина летње рачунање времена", "LHST": "Лорд Хов стандардно време", "WART": "Западна Аргентина стандардно време", "WIB": "Западно-индонезијско време", "HNOG": "Западни Гренланд стандардно време", "HNPM": "Сен Пјер и Микелон стандардно време", "ACST": "Аустралијско централно стандардно време", "OEZ": "Источноевропско стандардно време", "HENOMX": "Северозападни Мексико летње рачунање времена", "MDT": "Макао летње рачунање времена", "HEOG": "Западни Гренланд летње рачунање времена", "ADT": "Атлантско летње рачунање времена", "PDT": "Северноамеричко пацифичко летње време", "CLST": "Чиле летње рачунање времена", "JST": "Јапанско стандардно време", "ChST": "Чаморо време", "HEEG": "Источни Гренланд летње рачунање времена", "EAT": "Источно-афричко време", "COT": "Колумбија стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Cyrl_XK) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Cyrl_XK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Cyrl_XK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Cyrl_XK) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Cyrl_XK) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Cyrl_XK) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Cyrl_XK) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Latn/sr_Latn.go b/sr_Latn/sr_Latn.go index d094b9227..637ba8b4e 100644 --- a/sr_Latn/sr_Latn.go +++ b/sr_Latn/sr_Latn.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "[BGN]", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "[BYR]", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "KM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar"}, daysAbbreviated: []string{"ned", "pon", "uto", "sre", "čet", "pet", "sub"}, daysNarrow: []string{"n", "p", "u", "s", "č", "p", "s"}, - daysShort: []string{"ned", "pon", "uto", "sre", "čet", "pet", "sub"}, + daysShort: []string{"ne", "po", "ut", "sr", "če", "pe", "su"}, daysWide: []string{"nedelja", "ponedeljak", "utorak", "sreda", "četvrtak", "petak", "subota"}, periodsAbbreviated: []string{"pre podne", "po podne"}, periodsNarrow: []string{"a", "p"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"p. n. e.", "n. e."}, erasNarrow: []string{"p.n.e.", "n.e."}, erasWide: []string{"pre nove ere", "nove ere"}, - timezones: map[string]string{"IST": "Indijsko standardno vreme", "TMT": "Turkmenistan standardno vreme", "JDT": "Japansko letnje računanje vremena", "ECT": "Ekvador vreme", "WARST": "Zapadna Argentina letnje računanje vremena", "AWDT": "Australijsko zapadno letnje računanje vremena", "ARST": "Argentina letnje računanje vremena", "LHDT": "Lord Hov letnje računanje vremena", "UYT": "Urugvaj standardno vreme", "OESZ": "Istočnoevropsko letnje računanje vremena", "LHST": "Lord Hov standardno vreme", "EST": "Severnoamerički Istočno standardno vreme", "NZDT": "Novi Zeland letnje računanje vremena", "SRT": "Surinam vreme", "OEZ": "Istočnoevropsko standardno vreme", "COST": "Kolumbija letnje računanje vremena", "MESZ": "Srednjeevropsko letnje računanje vremena", "CAT": "Centralno-afričko vreme", "SGT": "Singapur standardno vreme", "WAST": "Zapadno-afričko letnje računanje vremena", "PST": "Severnoamerički Pacifičko standardno vreme", "WITA": "Centralno-indonezijsko vreme", "GYT": "Gvajana vreme", "CHAST": "Čatam standardno vreme", "CHADT": "Čatam letnje računanje vremena", "WIB": "Zapadno-indonezijsko vreme", "ACWDT": "Australijsko centralno zapadno letnje računanje vremena", "PDT": "Severnoamerički Pacifičko letnje računanje vremena", "TMST": "Turkmenistan letnje računanje vremena", "BT": "Butan vreme", "UYST": "Urugvaj letnje računanje vremena", "ACDT": "Australijsko centralno letnje računanje vremena", "ChST": "Čamoro vreme", "HAT": "Njufaundlend letnje računanje vremena", "CLT": "Čile standardno vreme", "HKST": "Hong Kong letnje računanje vremena", "∅∅∅": "Azori letnje računanje vremena", "CST": "Severnoamerički Centralno standardno vreme", "AWST": "Australijsko zapadno standardno vreme", "SAST": "Južno-afričko vreme", "ADT": "Atlansko ltnje računanje vremena", "MYT": "Malezija vreme", "GMT": "Srednje vreme po Griniču", "AKDT": "Aljaska, letnje računanje vremena", "AEST": "Australijsko istočno standardno vreme", "HADT": "Havajsko-aleutsko letnje računanje vremena", "EDT": "Severnoamerički Istočno letnje računanje vremena", "NZST": "Novi Zeland standardno vreme", "HNT": "Njufaundlend standardno vreme", "WESZ": "Zapadnoevropsko letnje računanje vremena", "HKT": "Hong Kong standardno vreme", "MEZ": "Srednjeevropsko standardno vreme", "BOT": "Bolivija vreme", "WAT": "Zapadno-afričko standardno vreme", "WART": "Zapadna Argentina standardno vreme", "HAST": "Havajsko-aleutsko standardno vreme", "MDT": "Severnoamerički Planinsko letnje računanje vremena", "COT": "Kolumbija standardno vreme", "AEDT": "Australijsko istočno letnje računanje vremena", "ART": "Argentina standardno vreme", "EAT": "Istočno-afričko vreme", "MST": "Severnoamerički Planinsko standardno vreme", "WIT": "Istočno-indonezijsko vreme", "ACST": "Australijsko centralno standardno vreme", "AST": "Atlansko standardno vreme", "CDT": "Severnoamerički Centralno letnje računanje vremena", "JST": "Japansko standardno vreme", "WEZ": "Zapadnoevropsko standardno vreme", "AKST": "Aljaska, standardno vreme", "ACWST": "Australijsko centralno zapadno standardno vreme", "CLST": "Čile letnje računanje vremena", "GFT": "Francuska Gvajana vreme", "VET": "Venecuela vreme"}, + timezones: map[string]string{"WART": "Zapadna Argentina standardno vreme", "MST": "Makao standardno vreme", "CLST": "Čile letnje računanje vremena", "JDT": "Japansko letnje računanje vremena", "ACDT": "Australijsko centralno letnje računanje vremena", "EDT": "Severnoameričko istočno letnje vreme", "AEDT": "Australijsko istočno letnje računanje vremena", "MEZ": "Srednjeevropsko standardno vreme", "LHST": "Lord Hov standardno vreme", "ACST": "Australijsko centralno standardno vreme", "HNCU": "Kuba standardno vreme", "WESZ": "Zapadnoevropsko letnje računanje vremena", "MESZ": "Srednjeevropsko letnje računanje vremena", "BOT": "Bolivija vreme", "CDT": "Severnoameričko centralno letnje vreme", "WEZ": "Zapadnoevropsko standardno vreme", "ART": "Argentina standardno vreme", "ARST": "Argentina letnje računanje vremena", "WITA": "Centralno-indonezijsko vreme", "COST": "Kolumbija letnje računanje vremena", "HECU": "Kuba letnje računanje vremena", "EST": "Severnoameričko istočno standardno vreme", "MDT": "Makao letnje računanje vremena", "UYT": "Urugvaj standardno vreme", "LHDT": "Lord Hov letnje računanje vremena", "HENOMX": "Severozapadni Meksiko letnje računanje vremena", "GYT": "Gvajana vreme", "SAST": "Južno-afričko vreme", "VET": "Venecuela vreme", "BT": "Butan vreme", "WAST": "Zapadno-afričko letnje računanje vremena", "OEZ": "Istočnoevropsko standardno vreme", "WARST": "Zapadna Argentina letnje računanje vremena", "COT": "Kolumbija standardno vreme", "SGT": "Singapur standardno vreme", "ADT": "Atlantsko letnje računanje vremena", "HAT": "Njufaundlend letnje računanje vremena", "NZST": "Novi Zeland standardno vreme", "JST": "Japansko standardno vreme", "HEPMX": "Meksički Pacifik letnje računanje vremena", "WIB": "Zapadno-indonezijsko vreme", "ChST": "Čamoro vreme", "HNEG": "Istočni Grenland standardno vreme", "TMST": "Turkmenistan letnje računanje vremena", "CAT": "Centralno-afričko vreme", "ECT": "Ekvador vreme", "∅∅∅": "Peru letnje računanje vremena", "PDT": "Severnoameričko pacifičko letnje vreme", "AWDT": "Australijsko zapadno letnje računanje vremena", "CHADT": "Čatam letnje računanje vremena", "TMT": "Turkmenistan standardno vreme", "HAST": "Havajsko-aleutsko standardno vreme", "SRT": "Surinam vreme", "HKST": "Hong Kong letnje računanje vremena", "HEPM": "Sen Pjer i Mikelon letnje računanje vremena", "AEST": "Australijsko istočno standardno vreme", "HNPM": "Sen Pjer i Mikelon standardno vreme", "EAT": "Istočno-afričko vreme", "AKST": "Aljaska, standardno vreme", "HADT": "Havajsko-aleutsko letnje računanje vremena", "WIT": "Istočno-indonezijsko vreme", "ACWDT": "Australijsko centralno zapadno letnje računanje vremena", "HNOG": "Zapadni Grenland standardno vreme", "OESZ": "Istočnoevropsko letnje računanje vremena", "HNPMX": "Meksički Pacifik standardno vreme", "MYT": "Malezija vreme", "HKT": "Hong Kong standardno vreme", "NZDT": "Novi Zeland letnje računanje vremena", "WAT": "Zapadno-afričko standardno vreme", "AST": "Atlantsko standardno vreme", "PST": "Severnoameričko pacifičko standardno vreme", "HNT": "Njufaundlend standardno vreme", "IST": "Indijsko standardno vreme", "GFT": "Francuska Gvajana vreme", "HNNOMX": "Severozapadni Meksiko standardno vreme", "GMT": "Srednje vreme po Griniču", "CST": "Severnoameričko centralno standardno vreme", "CLT": "Čile standardno vreme", "ACWST": "Australijsko centralno zapadno standardno vreme", "HEEG": "Istočni Grenland letnje računanje vremena", "AKDT": "Aljaska, letnje računanje vremena", "AWST": "Australijsko zapadno standardno vreme", "UYST": "Urugvaj letnje računanje vremena", "HEOG": "Zapadni Grenland letnje računanje vremena", "CHAST": "Čatam standardno vreme"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Latn) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Latn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Latn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Latn) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Latn) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Latn) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Latn) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Latn_BA/sr_Latn_BA.go b/sr_Latn_BA/sr_Latn_BA.go index 7401fe45a..57023a0e5 100644 --- a/sr_Latn_BA/sr_Latn_BA.go +++ b/sr_Latn_BA/sr_Latn_BA.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "jan.", "feb.", "mart", "apr.", "maj", "jun", "jul", "avg.", "sept.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"ned.", "pon.", "ut.", "sr.", "čet.", "pet.", "sub."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, - daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"пре подне", "по подне"}, - erasAbbreviated: []string{"п. н. е.", "н. е."}, - erasNarrow: []string{"п.н.е.", "н.е."}, - erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"SAST": "Јужно-афричко време", "TMST": "Туркменистан летње рачунање времена", "AWST": "Аустралијско западно стандардно време", "VET": "Венецуела време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "WAT": "Западно-афричко стандардно време", "IST": "Индијско стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "GYT": "Гвајана време", "CAT": "Централно-афричко време", "HNT": "Њуфаундленд стандардно време", "GMT": "Средње време по Гриничу", "LHST": "Лорд Хов стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "WESZ": "Западноевропско летње рачунање времена", "EAT": "Источно-афричко време", "EDT": "Северноамерички Источно летње рачунање времена", "HKT": "Хонг Конг стандардно време", "SRT": "Суринам време", "AEST": "Аустралијско источно стандардно време", "CLST": "Чиле летње рачунање времена", "UYST": "Уругвај летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "PST": "Северноамерички Пацифичко стандардно време", "CLT": "Чиле стандардно време", "GFT": "Француска Гвајана време", "AKST": "Аљаска, стандардно време", "NZST": "Нови Зеланд стандардно време", "JST": "Јапанско стандардно време", "OESZ": "Источноевропско летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "COST": "Колумбија летње рачунање времена", "ADT": "Атланско лтње рачунање времена", "JDT": "Јапанско летње рачунање времена", "ECT": "Еквадор време", "ARST": "Аргентина летње рачунање времена", "WART": "Западна Аргентина стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "UYT": "Уругвај стандардно време", "OEZ": "Источноевропско стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "AST": "Атланско стандардно време", "ChST": "Чаморо време", "BOT": "Боливија време", "CHADT": "Чатам летње рачунање времена", "COT": "Колумбија стандардно време", "ACWST": "Аустралијско централно западно стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "TMT": "Туркменистан стандардно време", "MYT": "Малезија време", "WEZ": "Западноевропско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "SGT": "Сингапур стандардно време", "ART": "Аргентина стандардно време", "WITA": "Централно-индонезијско време", "BT": "Бутан време", "WIT": "Источно-индонезијско време", "∅∅∅": "Бразилија летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "EST": "Северноамерички Источно стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "CDT": "Северноамерички Централно летње рачунање времена", "MDT": "Северноамерички Планинско летње рачунање времена", "WIB": "Западно-индонезијско време", "CHAST": "Чатам стандардно време", "ACST": "Аустралијско централно стандардно време", "MST": "Северноамерички Планинско стандардно време"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, + daysWide: []string{"nedjelja", "ponedeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, + periodsAbbreviated: []string{"prije podne", "po podne"}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"prije podne", "po podne"}, + erasAbbreviated: []string{"", ""}, + erasNarrow: []string{"", ""}, + erasWide: []string{"prije nove ere", "nove ere"}, + timezones: map[string]string{"ARST": "Аргентина летње рачунање времена", "WEZ": "Западноевропско стандардно време", "AEDT": "Аустралијско источно летње рачунање времена", "SAST": "Јужно-афричко време", "WART": "Западна Аргентина стандардно време", "HAST": "Хавајско-алеутско стандардно време", "HEOG": "Западни Гренланд летње рачунање времена", "ECT": "Еквадор време", "MST": "Макао стандардно време", "WITA": "Централно-индонезијско време", "CLT": "Чиле стандардно време", "ADT": "Атлантско летње рачунање времена", "EST": "Северноамеричко источно стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "HECU": "Куба летње рачунање времена", "HNOG": "Западни Гренланд стандардно време", "PST": "Северноамеричко пацифичко стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "CHAST": "Чатам стандардно време", "CLST": "Чиле летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "MYT": "Малезија време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "NZDT": "Нови Зеланд летње рачунање времена", "TMT": "Туркменистан стандардно време", "HNT": "Њуфаундленд стандардно време", "EDT": "Северноамеричко источно летње време", "CST": "Северноамеричко централно стандардно време", "GYT": "Гвајана време", "VET": "Венецуела време", "ART": "Аргентина стандардно време", "JST": "Јапанско стандардно време", "COT": "Колумбија стандардно време", "∅∅∅": "Азори летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "PDT": "Северноамеричко пацифичко летње време", "WIB": "Западно-индонезијско време", "SRT": "Суринам време", "WESZ": "Западноевропско летње рачунање времена", "CAT": "Централно-афричко време", "UYST": "Уругвај летње рачунање времена", "CDT": "Северноамеричко централно летње време", "AKST": "Аљаска, стандардно време", "AEST": "Аустралијско источно стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "WAT": "Западно-афричко стандардно време", "HNCU": "Куба стандардно време", "AST": "Атлантско стандардно време", "AWST": "Аустралијско западно стандардно време", "GFT": "Француска Гвајана време", "ACST": "Аустралијско централно стандардно време", "GMT": "Средње време по Гриничу", "BOT": "Боливија време", "HNNOMX": "Северозападни Мексико стандардно време", "HENOMX": "Северозападни Мексико летње рачунање времена", "IST": "Индијско стандардно време", "HNPMX": "Мексички Пацифик стандардно време", "BT": "Бутан време", "HKST": "Хонг Конг летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "ChST": "Чаморо време", "OEZ": "Источноевропско стандардно време", "MDT": "Макао летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена", "HNPM": "Сен Пјер и Микелон стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "CHADT": "Чатам летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "SGT": "Сингапур стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "LHST": "Лорд Хов стандардно време", "NZST": "Нови Зеланд стандардно време", "EAT": "Источно-афричко време", "WAST": "Западно-афричко летње рачунање времена", "UYT": "Уругвај стандардно време", "WIT": "Источно-индонезијско време", "ACWST": "Аустралијско централно западно стандардно време", "HKT": "Хонг Конг стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "COST": "Колумбија летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Latn_BA) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Latn_BA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Latn_BA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) diff --git a/sr_Latn_ME/sr_Latn_ME.go b/sr_Latn_ME/sr_Latn_ME.go index ccb7664ac..74cbe1c47 100644 --- a/sr_Latn_ME/sr_Latn_ME.go +++ b/sr_Latn_ME/sr_Latn_ME.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "jan.", "feb.", "mart", "apr.", "maj", "jun", "jul", "avg.", "sept.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"ned.", "pon.", "ut.", "sr.", "čet.", "pet.", "sub."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, - daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"пре подне", "по подне"}, - erasAbbreviated: []string{"п. н. е.", "н. е."}, - erasNarrow: []string{"п.н.е.", "н.е."}, - erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"WEZ": "Западноевропско стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "WART": "Западна Аргентина стандардно време", "BOT": "Боливија време", "CLT": "Чиле стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "UYST": "Уругвај летње рачунање времена", "COT": "Колумбија стандардно време", "PST": "Северноамерички Пацифичко стандардно време", "MST": "Макао стандардно време", "ChST": "Чаморо време", "CAT": "Централно-афричко време", "AWDT": "Аустралијско западно летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "HKT": "Хонг Конг стандардно време", "HNT": "Њуфаундленд стандардно време", "ECT": "Еквадор време", "ARST": "Аргентина летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "BT": "Бутан време", "LHST": "Лорд Хов стандардно време", "CHADT": "Чатам летње рачунање времена", "HAT": "Њуфаундленд летње рачунање времена", "GMT": "Средње време по Гриничу", "UYT": "Уругвај стандардно време", "∅∅∅": "Бразилија летње рачунање времена", "SRT": "Суринам време", "WESZ": "Западноевропско летње рачунање времена", "NZST": "Нови Зеланд стандардно време", "SGT": "Сингапур стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена", "PDT": "Северноамерички Пацифичко летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "ACST": "Аустралијско централно стандардно време", "ADT": "Атланско лтње рачунање времена", "EDT": "Северноамерички Источно летње рачунање времена", "MDT": "Макао летње рачунање времена", "OEZ": "Источноевропско стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "CDT": "Северноамерички Централно летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "CHAST": "Чатам стандардно време", "COST": "Колумбија летње рачунање времена", "AKST": "Аљаска, стандардно време", "TMT": "Туркменистан стандардно време", "AWST": "Аустралијско западно стандардно време", "AEST": "Аустралијско источно стандардно време", "EST": "Северноамерички Источно стандардно време", "GYT": "Гвајана време", "MEZ": "Средњеевропско стандардно време", "VET": "Венецуела време", "EAT": "Источно-афричко време", "WITA": "Централно-индонезијско време", "JST": "Јапанско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "ART": "Аргентина стандардно време", "AST": "Атланско стандардно време", "IST": "Индијско стандардно време", "AKDT": "Аљаска, летње рачунање времена", "MYT": "Малезија време", "GFT": "Француска Гвајана време", "WIB": "Западно-индонезијско време", "HADT": "Хавајско-алеутско летње рачунање времена", "SAST": "Јужно-афричко време", "WAST": "Западно-афричко летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "CLST": "Чиле летње рачунање времена", "WIT": "Источно-индонезијско време", "WAT": "Западно-афричко стандардно време"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, + daysWide: []string{"nedjelja", "ponedeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"}, + periodsAbbreviated: []string{"prije podne", "po podne"}, + periodsNarrow: []string{"", ""}, + periodsWide: []string{"prije podne", "po podne"}, + erasAbbreviated: []string{"", ""}, + erasNarrow: []string{"", ""}, + erasWide: []string{"", ""}, + timezones: map[string]string{"NZDT": "Нови Зеланд летње рачунање времена", "EST": "Северноамеричко источно стандардно време", "UYST": "Уругвај летње рачунање времена", "HAST": "Хавајско-алеутско стандардно време", "WITA": "Централно-индонезијско време", "HNT": "Њуфаундленд стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "CLST": "Чиле летње рачунање времена", "JST": "Јапанско стандардно време", "WAST": "Западно-афричко летње рачунање времена", "ECT": "Еквадор време", "AKST": "Аљаска, стандардно време", "CDT": "Северноамеричко централно летње време", "UYT": "Уругвај стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "BOT": "Боливија време", "EAT": "Источно-афричко време", "WARST": "Западна Аргентина летње рачунање времена", "HEPMX": "Мексички Пацифик летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "COT": "Колумбија стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "CHADT": "Чатам летње рачунање времена", "WEZ": "Западноевропско стандардно време", "ChST": "Чаморо време", "OESZ": "Источноевропско летње рачунање времена", "WART": "Западна Аргентина стандардно време", "ADT": "Атлантско летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "WIT": "Источно-индонезијско време", "AEDT": "Аустралијско источно летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "SGT": "Сингапур стандардно време", "HNPMX": "Мексички Пацифик стандардно време", "ARST": "Аргентина летње рачунање времена", "WAT": "Западно-афричко стандардно време", "GMT": "Средње време по Гриничу", "AEST": "Аустралијско источно стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "HEOG": "Западни Гренланд летње рачунање времена", "CHAST": "Чатам стандардно време", "OEZ": "Источноевропско стандардно време", "EDT": "Северноамеричко источно летње време", "MYT": "Малезија време", "HNOG": "Западни Гренланд стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "SRT": "Суринам време", "ACWST": "Аустралијско централно западно стандардно време", "IST": "Индијско стандардно време", "∅∅∅": "Амазон летње рачунање времена", "GFT": "Француска Гвајана време", "CAT": "Централно-афричко време", "HENOMX": "Северозападни Мексико летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "COST": "Колумбија летње рачунање времена", "CST": "Северноамеричко централно стандардно време", "WESZ": "Западноевропско летње рачунање времена", "HNPM": "Сен Пјер и Микелон стандардно време", "VET": "Венецуела време", "PDT": "Северноамеричко пацифичко летње време", "MESZ": "Средњеевропско летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "TMT": "Туркменистан стандардно време", "HNCU": "Куба стандардно време", "HECU": "Куба летње рачунање времена", "WIB": "Западно-индонезијско време", "BT": "Бутан време", "HKT": "Хонг Конг стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "TMST": "Туркменистан летње рачунање времена", "HNNOMX": "Северозападни Мексико стандардно време", "AST": "Атлантско стандардно време", "PST": "Северноамеричко пацифичко стандардно време", "LHST": "Лорд Хов стандардно време", "SAST": "Јужно-афричко време", "MST": "Макао стандардно време", "AKDT": "Аљаска, летње рачунање времена", "GYT": "Гвајана време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "HKST": "Хонг Конг летње рачунање времена", "NZST": "Нови Зеланд стандардно време", "CLT": "Чиле стандардно време", "MDT": "Макао летње рачунање времена", "ART": "Аргентина стандардно време", "AWST": "Аустралијско западно стандардно време"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Latn_ME) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Latn_ME) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Latn_ME) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Latn_ME) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Latn_ME) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Latn_ME) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Latn_ME) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Latn_RS/sr_Latn_RS.go b/sr_Latn_RS/sr_Latn_RS.go index aea44e8ef..abe98b65b 100644 --- a/sr_Latn_RS/sr_Latn_RS.go +++ b/sr_Latn_RS/sr_Latn_RS.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -65,7 +65,7 @@ func New() locales.Translator { monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, periodsAbbreviated: []string{"пре подне", "по подне"}, periodsNarrow: []string{"a", "p"}, @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"COST": "Колумбија летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "SAST": "Јужно-афричко време", "CLST": "Чиле летње рачунање времена", "JST": "Јапанско стандардно време", "SGT": "Сингапур стандардно време", "PDT": "Северноамерички Пацифичко летње рачунање времена", "MST": "Северноамерички Планинско стандардно време", "BOT": "Боливија време", "TMST": "Туркменистан летње рачунање времена", "MDT": "Северноамерички Планинско летње рачунање времена", "HKST": "Хонг Конг летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "AKDT": "Аљаска, летње рачунање времена", "BT": "Бутан време", "UYT": "Уругвај стандардно време", "ECT": "Еквадор време", "PST": "Северноамерички Пацифичко стандардно време", "MYT": "Малезија време", "CAT": "Централно-афричко време", "EAT": "Источно-афричко време", "GMT": "Средње време по Гриничу", "SRT": "Суринам време", "WEZ": "Западноевропско стандардно време", "WAT": "Западно-афричко стандардно време", "AST": "Атланско стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "TMT": "Туркменистан стандардно време", "CDT": "Северноамерички Централно летње рачунање времена", "GYT": "Гвајана време", "JDT": "Јапанско летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "AEST": "Аустралијско источно стандардно време", "WIT": "Источно-индонезијско време", "GFT": "Француска Гвајана време", "WESZ": "Западноевропско летње рачунање времена", "UYST": "Уругвај летње рачунање времена", "LHST": "Лорд Хов стандардно време", "COT": "Колумбија стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "ARST": "Аргентина летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "NZST": "Нови Зеланд стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "AWST": "Аустралијско западно стандардно време", "CHADT": "Чатам летње рачунање времена", "∅∅∅": "Акре летње рачунање времена", "ACDT": "Аустралијско централно летње рачунање времена", "WART": "Западна Аргентина стандардно време", "CHAST": "Чатам стандардно време", "EDT": "Северноамерички Источно летње рачунање времена", "CST": "Северноамерички Централно стандардно време", "WITA": "Централно-индонезијско време", "OEZ": "Источноевропско стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "CLT": "Чиле стандардно време", "ADT": "Атланско лтње рачунање времена", "ChST": "Чаморо време", "HAT": "Њуфаундленд летње рачунање времена", "HKT": "Хонг Конг стандардно време", "VET": "Венецуела време", "HAST": "Хавајско-алеутско стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "IST": "Индијско стандардно време", "EST": "Северноамерички Источно стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "HNT": "Њуфаундленд стандардно време", "WIB": "Западно-индонезијско време", "AEDT": "Аустралијско источно летње рачунање времена", "ART": "Аргентина стандардно време", "AKST": "Аљаска, стандардно време"}, + timezones: map[string]string{"CLT": "Чиле стандардно време", "CST": "Северноамеричко централно стандардно време", "SRT": "Суринам време", "AEST": "Аустралијско источно стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "MST": "Макао стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "ACWDT": "Аустралијско централно западно летње рачунање времена", "AEDT": "Аустралијско источно летње рачунање времена", "ADT": "Атлантско летње рачунање времена", "HEOG": "Западни Гренланд летње рачунање времена", "∅∅∅": "Амазон летње рачунање времена", "SAST": "Јужно-афричко време", "IST": "Индијско стандардно време", "BOT": "Боливија време", "HEEG": "Источни Гренланд летње рачунање времена", "GFT": "Француска Гвајана време", "HNPMX": "Мексички Пацифик стандардно време", "WESZ": "Западноевропско летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "LHST": "Лорд Хов стандардно време", "NZST": "Нови Зеланд стандардно време", "EAT": "Источно-афричко време", "WAT": "Западно-афричко стандардно време", "HNOG": "Западни Гренланд стандардно време", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "ECT": "Еквадор време", "ARST": "Аргентина летње рачунање времена", "CAT": "Централно-афричко време", "TMT": "Туркменистан стандардно време", "HNCU": "Куба стандардно време", "HEPMX": "Мексички Пацифик летње рачунање времена", "AST": "Атлантско стандардно време", "PST": "Северноамеричко пацифичко стандардно време", "HNT": "Њуфаундленд стандардно време", "CLST": "Чиле летње рачунање времена", "GMT": "Средње време по Гриничу", "CDT": "Северноамеричко централно летње време", "HAST": "Хавајско-алеутско стандардно време", "AWST": "Аустралијско западно стандардно време", "HKST": "Хонг Конг летње рачунање времена", "JDT": "Јапанско летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "SGT": "Сингапур стандардно време", "HNPM": "Сен Пјер и Микелон стандардно време", "MESZ": "Средњеевропско летње рачунање времена", "EDT": "Северноамеричко источно летње време", "ACDT": "Аустралијско централно летње рачунање времена", "HNNOMX": "Северозападни Мексико стандардно време", "HKT": "Хонг Конг стандардно време", "WITA": "Централно-индонезијско време", "CHADT": "Чатам летње рачунање времена", "MDT": "Макао летње рачунање времена", "MYT": "Малезија време", "UYT": "Уругвај стандардно време", "PDT": "Северноамеричко пацифичко летње време", "WEZ": "Западноевропско стандардно време", "AKST": "Аљаска, стандардно време", "VET": "Венецуела време", "HECU": "Куба летње рачунање времена", "EST": "Северноамеричко источно стандардно време", "WAST": "Западно-афричко летње рачунање времена", "OEZ": "Источноевропско стандардно време", "HNEG": "Источни Гренланд стандардно време", "WARST": "Западна Аргентина летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "MEZ": "Средњеевропско стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "OESZ": "Источноевропско летње рачунање времена", "GYT": "Гвајана време", "JST": "Јапанско стандардно време", "TMST": "Туркменистан летње рачунање времена", "CHAST": "Чатам стандардно време", "ChST": "Чаморо време", "UYST": "Уругвај летње рачунање времена", "WIB": "Западно-индонезијско време", "HAT": "Њуфаундленд летње рачунање времена", "ART": "Аргентина стандардно време", "WART": "Западна Аргентина стандардно време", "COT": "Колумбија стандардно време", "COST": "Колумбија летње рачунање времена", "WIT": "Источно-индонезијско време", "BT": "Бутан време", "NZDT": "Нови Зеланд летње рачунање времена"}, } } @@ -103,10 +103,10 @@ func (sr *sr_Latn_RS) CardinalPluralRule(num float64, v uint64) locales.PluralRu n := math.Abs(num) i := int64(n) f := locales.F(n, v) - iMod10 := i % 10 iMod100 := i % 100 - fMod10 := f % 10 + iMod10 := i % 10 fMod100 := f % 100 + fMod10 := f % 10 if (v == 0 && iMod10 == 1 && iMod100 != 11) || (fMod10 == 1 && fMod100 != 11) { return locales.PluralRuleOne @@ -454,7 +454,13 @@ func (sr *sr_Latn_RS) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Latn_RS) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Latn_RS) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Latn_RS) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Latn_RS) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Latn_RS) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Latn_RS) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sr_Latn_XK/sr_Latn_XK.go b/sr_Latn_XK/sr_Latn_XK.go index 11e8d5a72..d80d96f0b 100644 --- a/sr_Latn_XK/sr_Latn_XK.go +++ b/sr_Latn_XK/sr_Latn_XK.go @@ -56,24 +56,24 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ".", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", - monthsAbbreviated: []string{"", "јан", "феб", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "нов", "дец"}, + monthsAbbreviated: []string{"", "jan.", "feb.", "mart", "apr.", "maj", "jun", "jul", "avg.", "sept.", "okt.", "nov.", "dec."}, monthsNarrow: []string{"", "ј", "ф", "м", "а", "м", "ј", "ј", "а", "с", "о", "н", "д"}, monthsWide: []string{"", "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"}, - daysAbbreviated: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysAbbreviated: []string{"ned.", "pon.", "ut.", "sr.", "čet.", "pet.", "sub."}, daysNarrow: []string{"н", "п", "у", "с", "ч", "п", "с"}, - daysShort: []string{"нед", "пон", "уто", "сре", "чет", "пет", "суб"}, + daysShort: []string{"не", "по", "ут", "ср", "че", "пе", "су"}, daysWide: []string{"недеља", "понедељак", "уторак", "среда", "четвртак", "петак", "субота"}, - periodsAbbreviated: []string{"пре подне", "по подне"}, - periodsNarrow: []string{"a", "p"}, + periodsAbbreviated: []string{"", ""}, + periodsNarrow: []string{"", ""}, periodsWide: []string{"пре подне", "по подне"}, erasAbbreviated: []string{"п. н. е.", "н. е."}, erasNarrow: []string{"п.н.е.", "н.е."}, erasWide: []string{"пре нове ере", "нове ере"}, - timezones: map[string]string{"MESZ": "Средњеевропско летње рачунање времена", "WARST": "Западна Аргентина летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "TMST": "Туркменистан летње рачунање времена", "CLST": "Чиле летње рачунање времена", "∅∅∅": "Бразилија летње рачунање времена", "COST": "Колумбија летње рачунање времена", "GMT": "Средње време по Гриничу", "ARST": "Аргентина летње рачунање времена", "WAST": "Западно-афричко летње рачунање времена", "HADT": "Хавајско-алеутско летње рачунање времена", "WAT": "Западно-афричко стандардно време", "WITA": "Централно-индонезијско време", "HNT": "Њуфаундленд стандардно време", "GFT": "Француска Гвајана време", "SGT": "Сингапур стандардно време", "WIB": "Западно-индонезијско време", "ACST": "Аустралијско централно стандардно време", "JST": "Јапанско стандардно време", "UYST": "Уругвај летње рачунање времена", "HKT": "Хонг Конг стандардно време", "NZST": "Нови Зеланд стандардно време", "BT": "Бутан време", "AWDT": "Аустралијско западно летње рачунање времена", "ART": "Аргентина стандардно време", "VET": "Венецуела време", "AEST": "Аустралијско источно стандардно време", "JDT": "Јапанско летње рачунање времена", "OEZ": "Источноевропско стандардно време", "ECT": "Еквадор време", "WEZ": "Западноевропско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "MYT": "Малезија време", "ChST": "Чаморо време", "WIT": "Источно-индонезијско време", "LHDT": "Лорд Хов летње рачунање времена", "CHADT": "Чатам летње рачунање времена", "ADT": "Атланско лтње рачунање времена", "CST": "Северноамерички Централно стандардно време", "NZDT": "Нови Зеланд летње рачунање времена", "AWST": "Аустралијско западно стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "CLT": "Чиле стандардно време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "EST": "Северноамерички Источно стандардно време", "GYT": "Гвајана време", "BOT": "Боливија време", "HAST": "Хавајско-алеутско стандардно време", "AKST": "Аљаска, стандардно време", "EDT": "Северноамерички Источно летње рачунање времена", "AST": "Атланско стандардно време", "SAST": "Јужно-афричко време", "CDT": "Северноамерички Централно летње рачунање времена", "PDT": "Северноамерички Пацифичко летње рачунање времена", "EAT": "Источно-афричко време", "TMT": "Туркменистан стандардно време", "MST": "Северноамерички Планинско стандардно време", "CAT": "Централно-афричко време", "CHAST": "Чатам стандардно време", "MEZ": "Средњеевропско стандардно време", "PST": "Северноамерички Пацифичко стандардно време", "LHST": "Лорд Хов стандардно време", "OESZ": "Источноевропско летње рачунање времена", "COT": "Колумбија стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "UYT": "Уругвај стандардно време", "SRT": "Суринам време", "IST": "Индијско стандардно време", "MDT": "Северноамерички Планинско летње рачунање времена", "WESZ": "Западноевропско летње рачунање времена", "WART": "Западна Аргентина стандардно време", "AEDT": "Аустралијско источно летње рачунање времена"}, + timezones: map[string]string{"MYT": "Малезија време", "UYST": "Уругвај летње рачунање времена", "CDT": "Северноамеричко централно летње време", "HNT": "Њуфаундленд стандардно време", "WITA": "Централно-индонезијско време", "SAST": "Јужно-афричко време", "PST": "Северноамеричко пацифичко стандардно време", "AWST": "Аустралијско западно стандардно време", "TMT": "Туркменистан стандардно време", "∅∅∅": "Перу летње рачунање времена", "AST": "Атлантско стандардно време", "GYT": "Гвајана време", "VET": "Венецуела време", "ART": "Аргентина стандардно време", "CHAST": "Чатам стандардно време", "SGT": "Сингапур стандардно време", "HECU": "Куба летње рачунање времена", "EDT": "Северноамеричко источно летње време", "ADT": "Атлантско летње рачунање времена", "JST": "Јапанско стандардно време", "HKST": "Хонг Конг летње рачунање времена", "HNPM": "Сен Пјер и Микелон стандардно време", "BOT": "Боливија време", "WAT": "Западно-афричко стандардно време", "MDT": "Макао летње рачунање времена", "AKDT": "Аљаска, летње рачунање времена", "WIT": "Источно-индонезијско време", "AEDT": "Аустралијско источно летње рачунање времена", "HEPM": "Сен Пјер и Микелон летње рачунање времена", "HNEG": "Источни Гренланд стандардно време", "WAST": "Западно-афричко летње рачунање времена", "HNPMX": "Мексички Пацифик стандардно време", "HNOG": "Западни Гренланд стандардно време", "CHADT": "Чатам летње рачунање времена", "ECT": "Еквадор време", "HNNOMX": "Северозападни Мексико стандардно време", "EST": "Северноамеричко источно стандардно време", "HEPMX": "Мексички Пацифик летње рачунање времена", "ARST": "Аргентина летње рачунање времена", "AEST": "Аустралијско источно стандардно време", "JDT": "Јапанско летње рачунање времена", "WART": "Западна Аргентина стандардно време", "COT": "Колумбија стандардно време", "WESZ": "Западноевропско летње рачунање времена", "ACWST": "Аустралијско централно западно стандардно време", "NZST": "Нови Зеланд стандардно време", "IST": "Индијско стандардно време", "LHDT": "Лорд Хов летње рачунање времена", "ChST": "Чаморо време", "WARST": "Западна Аргентина летње рачунање времена", "PDT": "Северноамеричко пацифичко летње време", "WEZ": "Западноевропско стандардно време", "HAT": "Њуфаундленд летње рачунање времена", "MESZ": "Средњеевропско летње рачунање времена", "HNCU": "Куба стандардно време", "HADT": "Хавајско-алеутско летње рачунање времена", "SRT": "Суринам време", "TMST": "Туркменистан летње рачунање времена", "GMT": "Средње време по Гриничу", "MST": "Макао стандардно време", "MEZ": "Средњеевропско стандардно време", "CAT": "Централно-афричко време", "EAT": "Источно-афричко време", "COST": "Колумбија летње рачунање времена", "WIB": "Западно-индонезијско време", "HAST": "Хавајско-алеутско стандардно време", "AWDT": "Аустралијско западно летње рачунање времена", "AKST": "Аљаска, стандардно време", "CST": "Северноамеричко централно стандардно време", "BT": "Бутан време", "ACWDT": "Аустралијско централно западно летње рачунање времена", "CLT": "Чиле стандардно време", "ACDT": "Аустралијско централно летње рачунање времена", "HENOMX": "Северозападни Мексико летње рачунање времена", "LHST": "Лорд Хов стандардно време", "HEEG": "Источни Гренланд летње рачунање времена", "ACST": "Аустралијско централно стандардно време", "OEZ": "Источноевропско стандардно време", "OESZ": "Источноевропско летње рачунање времена", "UYT": "Уругвај стандардно време", "CLST": "Чиле летње рачунање времена", "GFT": "Француска Гвајана време", "HEOG": "Западни Гренланд летње рачунање времена", "HKT": "Хонг Конг стандардно време", "NZDT": "Нови Зеланд летње рачунање времена"}, } } @@ -454,7 +454,13 @@ func (sr *sr_Latn_XK) FmtDateMedium(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -473,7 +479,13 @@ func (sr *sr_Latn_XK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -495,7 +507,13 @@ func (sr *sr_Latn_XK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, sr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2e}...) return string(b) @@ -511,7 +529,7 @@ func (sr *sr_Latn_XK) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') @@ -532,14 +550,14 @@ func (sr *sr_Latn_XK) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -560,14 +578,14 @@ func (sr *sr_Latn_XK) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') @@ -592,14 +610,14 @@ func (sr *sr_Latn_XK) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Hour()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Minute() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x2e}...) + b = append(b, sr.timeSeparator...) if t.Second() < 10 { b = append(b, '0') diff --git a/sv/sv.go b/sv/sv.go index a4f7eedf2..3a92675ea 100644 --- a/sv/sv.go +++ b/sv/sv.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "Bds$", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BM$", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BR$", "BRN", "BRR", "BRZ", "BS$", "BTN", "BUK", "BWP", "BYB", "BYR", "BZ$", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "Dkr", "RD$", "DZD", "ECS", "ECV", "Ekr", "EG£", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "Ikr", "ITL", "JM$", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "Bds$", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BM$", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BR$", "BRN", "BRR", "BRZ", "BS$", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZ$", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "Dkr", "RD$", "DZD", "ECS", "ECV", "Ekr", "EG£", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IE£", "ILP", "ILR", "₪", "INR", "IQD", "IRR", "ISJ", "Ikr", "ITL", "JM$", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "Nkr", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "kr", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"före Kristus", "efter Kristus"}, - timezones: map[string]string{"CDT": "centralnordamerikansk sommartid", "GFT": "Franska Guyanatid", "MESZ": "centraleuropeisk sommartid", "ACWST": "västcentralaustralisk normaltid", "ARST": "östargentinsk sommartid", "AKST": "Alaska, normaltid", "CLST": "chilensk sommartid", "WIB": "västindonesisk tid", "ART": "östargentinsk normaltid", "CST": "centralnordamerikansk normaltid", "UYT": "uruguayansk normaltid", "HADT": "Honolulu, sommartid", "EST": "östnordamerikansk normaltid", "WAST": "västafrikansk sommartid", "PST": "västnordamerikansk normaltid", "LHDT": "Lord Howe, sommartid", "HAST": "Honolulu, normaltid", "WAT": "västafrikansk normaltid", "MST": "Klippiga bergen, normaltid", "MYT": "malaysisk tid", "CHADT": "Chatham, sommartid", "ACDT": "centralaustralisk sommartid", "COST": "colombiansk sommartid", "ACWDT": "västcentralaustralisk sommartid", "ADT": "nordamerikansk atlantsommartid", "NZDT": "nyzeeländsk sommartid", "AWDT": "västaustralisk sommartid", "HKST": "Hongkong, sommartid", "COT": "colombiansk normaltid", "AST": "nordamerikansk atlantnormaltid", "JST": "japansk normaltid", "WEZ": "västeuropeisk normaltid", "ECT": "ecuadoriansk tid", "VET": "venezuelansk tid", "WART": "västargentinsk normaltid", "GMT": "Greenwichtid", "NZST": "nyzeeländsk normaltid", "HAT": "Newfoundland, sommartid", "OEZ": "östeuropeisk normaltid", "HKT": "Hongkong, normaltid", "IST": "indisk tid", "TMST": "turkmensk sommartid", "∅∅∅": "peruansk sommartid", "BOT": "boliviansk tid", "CAT": "centralafrikansk tid", "JDT": "japansk sommartid", "SRT": "Surinamtid", "AEST": "östaustralisk normaltid", "WITA": "centralindonesisk tid", "LHST": "Lord Howe, normaltid", "CHAST": "Chatham, normaltid", "EDT": "östnordamerikansk sommartid", "ACST": "centralaustralisk normaltid", "SGT": "Singaporetid", "WIT": "östindonesisk tid", "BT": "bhutansk tid", "CLT": "chilensk normaltid", "OESZ": "östeuropeisk sommartid", "SAST": "sydafrikansk tid", "TMT": "turkmensk normaltid", "MDT": "Klippiga bergen, sommartid", "HNT": "Newfoundland, normaltid", "UYST": "uruguayansk sommartid", "AEDT": "östaustralisk sommartid", "WARST": "västargentinsk sommartid", "AKDT": "Alaska, sommartid", "AWST": "västaustralisk normaltid", "WESZ": "västeuropeisk sommartid", "PDT": "västnordamerikansk sommartid", "MEZ": "centraleuropeisk normaltid", "EAT": "östafrikansk tid", "ChST": "Chamorrotid", "GYT": "Guyanatid"}, + timezones: map[string]string{"MEZ": "centraleuropeisk normaltid", "OESZ": "östeuropeisk sommartid", "GMT": "Greenwichtid", "MYT": "malaysisk tid", "AEDT": "östaustralisk sommartid", "IST": "indisk tid", "∅∅∅": "Amazonas, sommartid", "TMST": "turkmensk sommartid", "ECT": "ecuadoriansk tid", "WART": "västargentinsk normaltid", "HNNOMX": "nordvästmexikansk normaltid", "WIB": "västindonesisk tid", "WIT": "östindonesisk tid", "WEZ": "västeuropeisk normaltid", "HNEG": "östgrönländsk normaltid", "WARST": "västargentinsk sommartid", "EDT": "östnordamerikansk sommartid", "AKST": "Alaska, normaltid", "SRT": "Surinamtid", "CHADT": "Chatham, sommartid", "OEZ": "östeuropeisk normaltid", "HENOMX": "nordvästmexikansk sommartid", "EST": "östnordamerikansk normaltid", "HKST": "Hongkong, sommartid", "CHAST": "Chatham, normaltid", "CLT": "chilensk normaltid", "EAT": "östafrikansk tid", "WAT": "västafrikansk normaltid", "HEPMX": "mexikansk stillahavstid, sommartid", "AWDT": "västaustralisk sommartid", "HNPM": "S:t Pierre och Miquelon, normaltid", "ACDT": "centralaustralisk sommartid", "HNOG": "västgrönländsk normaltid", "VET": "venezuelansk tid", "HAT": "Newfoundland, sommartid", "NZST": "nyzeeländsk normaltid", "ChST": "Chamorrotid", "ACST": "centralaustralisk normaltid", "WAST": "västafrikansk sommartid", "HAST": "Honolulu, normaltid", "HNT": "Newfoundland, normaltid", "JST": "japansk normaltid", "COST": "colombiansk sommartid", "ACWST": "västcentralaustralisk normaltid", "BT": "bhutansk tid", "PST": "västnordamerikansk normaltid", "LHST": "Lord Howe, normaltid", "TMT": "turkmensk normaltid", "HNPMX": "mexikansk stillahavstid, normaltid", "AKDT": "Alaska, sommartid", "ADT": "nordamerikansk atlantsommartid", "AEST": "östaustralisk normaltid", "CLST": "chilensk sommartid", "JDT": "japansk sommartid", "MDT": "Macausommartid", "GYT": "Guyanatid", "HADT": "Honolulu, sommartid", "WESZ": "västeuropeisk sommartid", "ARST": "östargentinsk sommartid", "HEOG": "västgrönländsk sommartid", "WITA": "centralindonesisk tid", "LHDT": "Lord Howe, sommartid", "CST": "centralnordamerikansk normaltid", "SGT": "Singaporetid", "UYT": "uruguayansk normaltid", "UYST": "uruguayansk sommartid", "AST": "nordamerikansk atlantnormaltid", "PDT": "västnordamerikansk sommartid", "MST": "Macaunormaltid", "HEPM": "S:t Pierre och Miquelon, sommartid", "GFT": "Franska Guyanatid", "HNCU": "kubansk normaltid", "ACWDT": "västcentralaustralisk sommartid", "COT": "colombiansk normaltid", "CDT": "centralnordamerikansk sommartid", "AWST": "västaustralisk normaltid", "HKT": "Hongkong, normaltid", "NZDT": "nyzeeländsk sommartid", "BOT": "boliviansk tid", "HECU": "kubansk sommartid", "ART": "östargentinsk normaltid", "SAST": "sydafrikansk tid", "HEEG": "östgrönländsk sommartid", "CAT": "centralafrikansk tid", "MESZ": "centraleuropeisk sommartid"}, } } @@ -114,8 +114,8 @@ func (sv *sv) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (sv *sv) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if (nMod10 == 1 || nMod10 == 2) && (nMod100 != 11 && nMod100 != 12) { return locales.PluralRuleOne @@ -414,7 +414,12 @@ func (sv *sv) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -443,7 +448,12 @@ func (sv *sv) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -457,7 +467,12 @@ func (sv *sv) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -473,7 +488,12 @@ func (sv *sv) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sv_AX/sv_AX.go b/sv_AX/sv_AX.go index c3fbaba62..06bd71761 100644 --- a/sv_AX/sv_AX.go +++ b/sv_AX/sv_AX.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"före Kristus", "efter Kristus"}, - timezones: map[string]string{"ACDT": "centralaustralisk sommartid", "MEZ": "centraleuropeisk normaltid", "NZST": "nyzeeländsk normaltid", "JDT": "japansk sommartid", "GMT": "Greenwichtid", "GYT": "Guyanatid", "HAT": "Newfoundland, sommartid", "HKST": "Hongkong, sommartid", "MST": "Klippiga bergen, normaltid", "NZDT": "nyzeeländsk sommartid", "HKT": "Hongkong, normaltid", "ACST": "centralaustralisk normaltid", "WART": "västargentinsk normaltid", "EAT": "östafrikansk tid", "WITA": "centralindonesisk tid", "MYT": "malaysisk tid", "AWDT": "västaustralisk sommartid", "HNT": "Newfoundland, normaltid", "CLST": "chilensk sommartid", "CHADT": "Chatham, sommartid", "OEZ": "östeuropeisk normaltid", "ECT": "ecuadoriansk tid", "ARST": "östargentinsk sommartid", "ADT": "nordamerikansk atlantsommartid", "CST": "centralnordamerikansk normaltid", "AWST": "västaustralisk normaltid", "EDT": "östnordamerikansk sommartid", "MDT": "Klippiga bergen, sommartid", "ACWST": "västcentralaustralisk normaltid", "ACWDT": "västcentralaustralisk sommartid", "AKST": "Alaska, normaltid", "ChST": "Chamorrotid", "UYT": "uruguayansk normaltid", "SGT": "Singaporetid", "COT": "colombiansk normaltid", "COST": "colombiansk sommartid", "HADT": "Honolulu, sommartid", "CAT": "centralafrikansk tid", "∅∅∅": "Brasilia, sommartid", "VET": "venezuelansk tid", "MESZ": "centraleuropeisk sommartid", "AEDT": "östaustralisk sommartid", "PDT": "västnordamerikansk sommartid", "UYST": "uruguayansk sommartid", "OESZ": "östeuropeisk sommartid", "SAST": "sydafrikansk tid", "TMT": "turkmensk normaltid", "WIT": "östindonesisk tid", "WESZ": "västeuropeisk sommartid", "CHAST": "Chatham, normaltid", "ART": "östargentinsk normaltid", "HAST": "Honolulu, normaltid", "AKDT": "Alaska, sommartid", "EST": "östnordamerikansk normaltid", "WAST": "västafrikansk sommartid", "CLT": "chilensk normaltid", "WEZ": "västeuropeisk normaltid", "SRT": "Surinamtid", "WIB": "västindonesisk tid", "AEST": "östaustralisk normaltid", "WARST": "västargentinsk sommartid", "WAT": "västafrikansk normaltid", "BT": "bhutansk tid", "LHST": "Lord Howe, normaltid", "IST": "indisk tid", "PST": "västnordamerikansk normaltid", "AST": "nordamerikansk atlantnormaltid", "BOT": "boliviansk tid", "LHDT": "Lord Howe, sommartid", "JST": "japansk normaltid", "GFT": "Franska Guyanatid", "TMST": "turkmensk sommartid", "CDT": "centralnordamerikansk sommartid"}, + timezones: map[string]string{"AWDT": "västaustralisk sommartid", "MESZ": "centraleuropeisk sommartid", "GYT": "Guyanatid", "UYST": "uruguayansk sommartid", "BT": "bhutansk tid", "MDT": "Macausommartid", "PDT": "västnordamerikansk sommartid", "WEZ": "västeuropeisk normaltid", "COT": "colombiansk normaltid", "HNCU": "kubansk normaltid", "WIT": "östindonesisk tid", "HEOG": "västgrönländsk sommartid", "NZDT": "nyzeeländsk sommartid", "∅∅∅": "Amazonas, sommartid", "HNEG": "östgrönländsk normaltid", "WAST": "västafrikansk sommartid", "HNPMX": "mexikansk stillahavstid, normaltid", "PST": "västnordamerikansk normaltid", "HEEG": "östgrönländsk sommartid", "ACDT": "centralaustralisk sommartid", "HNNOMX": "nordvästmexikansk normaltid", "HENOMX": "nordvästmexikansk sommartid", "CDT": "centralnordamerikansk sommartid", "MYT": "malaysisk tid", "VET": "venezuelansk tid", "AWST": "västaustralisk normaltid", "NZST": "nyzeeländsk normaltid", "JST": "japansk normaltid", "OESZ": "östeuropeisk sommartid", "EDT": "östnordamerikansk sommartid", "HNPM": "S:t Pierre och Miquelon, normaltid", "TMST": "turkmensk sommartid", "EAT": "östafrikansk tid", "ACWST": "västcentralaustralisk normaltid", "AEST": "östaustralisk normaltid", "COST": "colombiansk sommartid", "GMT": "Greenwichtid", "ACWDT": "västcentralaustralisk sommartid", "WITA": "centralindonesisk tid", "CLT": "chilensk normaltid", "GFT": "Franska Guyanatid", "HEPM": "S:t Pierre och Miquelon, sommartid", "CHADT": "Chatham, sommartid", "SGT": "Singaporetid", "EST": "östnordamerikansk normaltid", "ADT": "nordamerikansk atlantsommartid", "WIB": "västindonesisk tid", "HNOG": "västgrönländsk normaltid", "TMT": "turkmensk normaltid", "MST": "Macaunormaltid", "AKST": "Alaska, normaltid", "CST": "centralnordamerikansk normaltid", "HEPMX": "mexikansk stillahavstid, sommartid", "HKT": "Hongkong, normaltid", "CHAST": "Chatham, normaltid", "ECT": "ecuadoriansk tid", "CAT": "centralafrikansk tid", "WART": "västargentinsk normaltid", "HECU": "kubansk sommartid", "HAT": "Newfoundland, sommartid", "ART": "östargentinsk normaltid", "HKST": "Hongkong, sommartid", "LHST": "Lord Howe, normaltid", "CLST": "chilensk sommartid", "BOT": "boliviansk tid", "OEZ": "östeuropeisk normaltid", "AEDT": "östaustralisk sommartid", "MEZ": "centraleuropeisk normaltid", "WAT": "västafrikansk normaltid", "AST": "nordamerikansk atlantnormaltid", "JDT": "japansk sommartid", "AKDT": "Alaska, sommartid", "UYT": "uruguayansk normaltid", "WESZ": "västeuropeisk sommartid", "HAST": "Honolulu, normaltid", "HADT": "Honolulu, sommartid", "ARST": "östargentinsk sommartid", "ACST": "centralaustralisk normaltid", "WARST": "västargentinsk sommartid", "SRT": "Surinamtid", "HNT": "Newfoundland, normaltid", "LHDT": "Lord Howe, sommartid", "SAST": "sydafrikansk tid", "IST": "indisk tid", "ChST": "Chamorrotid"}, } } @@ -114,8 +114,8 @@ func (sv *sv_AX) CardinalPluralRule(num float64, v uint64) locales.PluralRule { func (sv *sv_AX) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) - nMod100 := math.Mod(n, 100) nMod10 := math.Mod(n, 10) + nMod100 := math.Mod(n, 100) if (nMod10 == 1 || nMod10 == 2) && (nMod100 != 11 && nMod100 != 12) { return locales.PluralRuleOne @@ -414,7 +414,12 @@ func (sv *sv_AX) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -443,7 +448,12 @@ func (sv *sv_AX) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -457,7 +467,12 @@ func (sv *sv_AX) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -473,7 +488,12 @@ func (sv *sv_AX) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sv_FI/sv_FI.go b/sv_FI/sv_FI.go index fc519e232..0bc272ffa 100644 --- a/sv_FI/sv_FI.go +++ b/sv_FI/sv_FI.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"före Kristus", "efter Kristus"}, - timezones: map[string]string{"MYT": "malaysisk tid", "LHST": "Lord Howe, normaltid", "LHDT": "Lord Howe, sommartid", "JST": "japansk normaltid", "IST": "indisk tid", "BT": "bhutansk tid", "WESZ": "västeuropeisk sommartid", "SGT": "Singaporetid", "WIB": "västindonesisk tid", "AEDT": "östaustralisk sommartid", "GMT": "Greenwichtid", "CHAST": "Chatham, normaltid", "ACWDT": "västcentralaustralisk sommartid", "AKST": "Alaska, normaltid", "EST": "östnordamerikansk normaltid", "CAT": "centralafrikansk tid", "AWST": "västaustralisk normaltid", "HNT": "Newfoundland, normaltid", "ACDT": "centralaustralisk sommartid", "ACWST": "västcentralaustralisk normaltid", "PDT": "västnordamerikansk sommartid", "CDT": "centralnordamerikansk sommartid", "∅∅∅": "peruansk sommartid", "NZST": "nyzeeländsk normaltid", "OESZ": "östeuropeisk sommartid", "VET": "venezuelansk tid", "SAST": "sydafrikansk tid", "AKDT": "Alaska, sommartid", "CLT": "chilensk normaltid", "HAST": "Honolulu, normaltid", "HKST": "Hongkong, sommartid", "WAT": "västafrikansk normaltid", "PST": "västnordamerikansk normaltid", "TMT": "turkmensk normaltid", "ChST": "Chamorrotid", "ARST": "östargentinsk sommartid", "AST": "nordamerikansk atlantnormaltid", "MDT": "Klippiga bergen, sommartid", "BOT": "boliviansk tid", "HAT": "Newfoundland, sommartid", "UYST": "uruguayansk sommartid", "HKT": "Hongkong, normaltid", "AEST": "östaustralisk normaltid", "CLST": "chilensk sommartid", "COST": "colombiansk sommartid", "ADT": "nordamerikansk atlantsommartid", "EAT": "östafrikansk tid", "AWDT": "västaustralisk sommartid", "UYT": "uruguayansk normaltid", "WARST": "västargentinsk sommartid", "MESZ": "centraleuropeisk sommartid", "ECT": "ecuadoriansk tid", "ACST": "centralaustralisk normaltid", "WAST": "västafrikansk sommartid", "EDT": "östnordamerikansk sommartid", "MST": "Klippiga bergen, normaltid", "NZDT": "nyzeeländsk sommartid", "JDT": "japansk sommartid", "WEZ": "västeuropeisk normaltid", "CHADT": "Chatham, sommartid", "WART": "västargentinsk normaltid", "WITA": "centralindonesisk tid", "WIT": "östindonesisk tid", "SRT": "Surinamtid", "MEZ": "centraleuropeisk normaltid", "HADT": "Honolulu, sommartid", "ART": "östargentinsk normaltid", "TMST": "turkmensk sommartid", "CST": "centralnordamerikansk normaltid", "GYT": "Guyanatid", "OEZ": "östeuropeisk normaltid", "GFT": "Franska Guyanatid", "COT": "colombiansk normaltid"}, + timezones: map[string]string{"TMT": "turkmensk normaltid", "COST": "colombiansk sommartid", "HEPMX": "mexikansk stillahavstid, sommartid", "CLST": "chilensk sommartid", "GFT": "Franska Guyanatid", "ACDT": "centralaustralisk sommartid", "HNNOMX": "nordvästmexikansk normaltid", "HECU": "kubansk sommartid", "EDT": "östnordamerikansk sommartid", "AKDT": "Alaska, sommartid", "HAT": "Newfoundland, sommartid", "ChST": "Chamorrotid", "SGT": "Singaporetid", "PDT": "västnordamerikansk sommartid", "ARST": "östargentinsk sommartid", "AEDT": "östaustralisk sommartid", "HKT": "Hongkong, normaltid", "TMST": "turkmensk sommartid", "WARST": "västargentinsk sommartid", "AKST": "Alaska, normaltid", "SRT": "Surinamtid", "HNPM": "S:t Pierre och Miquelon, normaltid", "GMT": "Greenwichtid", "PST": "västnordamerikansk normaltid", "IST": "indisk tid", "ACWST": "västcentralaustralisk normaltid", "NZST": "nyzeeländsk normaltid", "∅∅∅": "Amazonas, sommartid", "WART": "västargentinsk normaltid", "HNCU": "kubansk normaltid", "MST": "Macaunormaltid", "AEST": "östaustralisk normaltid", "AWST": "västaustralisk normaltid", "LHST": "Lord Howe, normaltid", "CLT": "chilensk normaltid", "JST": "japansk normaltid", "ECT": "ecuadoriansk tid", "ADT": "nordamerikansk atlantsommartid", "HADT": "Honolulu, sommartid", "WESZ": "västeuropeisk sommartid", "NZDT": "nyzeeländsk sommartid", "CHAST": "Chatham, normaltid", "HNEG": "östgrönländsk normaltid", "ACST": "centralaustralisk normaltid", "MDT": "Macausommartid", "MYT": "malaysisk tid", "EAT": "östafrikansk tid", "WAT": "västafrikansk normaltid", "HKST": "Hongkong, sommartid", "HNOG": "västgrönländsk normaltid", "HEPM": "S:t Pierre och Miquelon, sommartid", "LHDT": "Lord Howe, sommartid", "HNPMX": "mexikansk stillahavstid, normaltid", "UYT": "uruguayansk normaltid", "GYT": "Guyanatid", "HNT": "Newfoundland, normaltid", "JDT": "japansk sommartid", "OESZ": "östeuropeisk sommartid", "CDT": "centralnordamerikansk sommartid", "WIT": "östindonesisk tid", "BT": "bhutansk tid", "ACWDT": "västcentralaustralisk sommartid", "CHADT": "Chatham, sommartid", "HEEG": "östgrönländsk sommartid", "EST": "östnordamerikansk normaltid", "HAST": "Honolulu, normaltid", "VET": "venezuelansk tid", "SAST": "sydafrikansk tid", "WITA": "centralindonesisk tid", "COT": "colombiansk normaltid", "WIB": "västindonesisk tid", "WEZ": "västeuropeisk normaltid", "HEOG": "västgrönländsk sommartid", "AST": "nordamerikansk atlantnormaltid", "ART": "östargentinsk normaltid", "OEZ": "östeuropeisk normaltid", "HENOMX": "nordvästmexikansk sommartid", "UYST": "uruguayansk sommartid", "CST": "centralnordamerikansk normaltid", "MEZ": "centraleuropeisk normaltid", "MESZ": "centraleuropeisk sommartid", "BOT": "boliviansk tid", "CAT": "centralafrikansk tid", "WAST": "västafrikansk sommartid", "AWDT": "västaustralisk sommartid"}, } } @@ -428,7 +428,12 @@ func (sv *sv_FI) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -442,7 +447,12 @@ func (sv *sv_FI) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +466,12 @@ func (sv *sv_FI) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -472,7 +487,12 @@ func (sv *sv_FI) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sv_SE/sv_SE.go b/sv_SE/sv_SE.go index e8f9c3a48..4a957bf9c 100644 --- a/sv_SE/sv_SE.go +++ b/sv_SE/sv_SE.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"f.Kr.", "e.Kr."}, erasNarrow: []string{"f.Kr.", "e.Kr."}, erasWide: []string{"före Kristus", "efter Kristus"}, - timezones: map[string]string{"JDT": "japansk sommartid", "SRT": "Surinamtid", "HAT": "Newfoundland, sommartid", "BOT": "boliviansk tid", "LHDT": "Lord Howe, sommartid", "JST": "japansk normaltid", "CHAST": "Chatham, normaltid", "COST": "colombiansk sommartid", "SGT": "Singaporetid", "AEDT": "östaustralisk sommartid", "ADT": "nordamerikansk atlantsommartid", "TMT": "turkmensk normaltid", "WIB": "västindonesisk tid", "MESZ": "centraleuropeisk sommartid", "ACDT": "centralaustralisk sommartid", "ECT": "ecuadoriansk tid", "ART": "östargentinsk normaltid", "WAST": "västafrikansk sommartid", "UYST": "uruguayansk sommartid", "OEZ": "östeuropeisk normaltid", "HKST": "Hongkong, sommartid", "COT": "colombiansk normaltid", "WARST": "västargentinsk sommartid", "EDT": "östnordamerikansk sommartid", "MST": "Klippiga bergen, normaltid", "AWST": "västaustralisk normaltid", "AWDT": "västaustralisk sommartid", "HAST": "Honolulu, normaltid", "NZDT": "nyzeeländsk sommartid", "WIT": "östindonesisk tid", "CHADT": "Chatham, sommartid", "MEZ": "centraleuropeisk normaltid", "AEST": "östaustralisk normaltid", "PST": "västnordamerikansk normaltid", "PDT": "västnordamerikansk sommartid", "NZST": "nyzeeländsk normaltid", "WEZ": "västeuropeisk normaltid", "HKT": "Hongkong, normaltid", "ACST": "centralaustralisk normaltid", "WART": "västargentinsk normaltid", "SAST": "sydafrikansk tid", "WITA": "centralindonesisk tid", "TMST": "turkmensk sommartid", "GMT": "Greenwichtid", "UYT": "uruguayansk normaltid", "HADT": "Honolulu, sommartid", "ACWDT": "västcentralaustralisk sommartid", "AKDT": "Alaska, sommartid", "MYT": "malaysisk tid", "CLT": "chilensk normaltid", "OESZ": "östeuropeisk sommartid", "AST": "nordamerikansk atlantnormaltid", "IST": "indisk tid", "CDT": "centralnordamerikansk sommartid", "GYT": "Guyanatid", "LHST": "Lord Howe, normaltid", "GFT": "Franska Guyanatid", "WAT": "västafrikansk normaltid", "MDT": "Klippiga bergen, sommartid", "∅∅∅": "peruansk sommartid", "CAT": "centralafrikansk tid", "HNT": "Newfoundland, normaltid", "VET": "venezuelansk tid", "CLST": "chilensk sommartid", "WESZ": "västeuropeisk sommartid", "ARST": "östargentinsk sommartid", "EAT": "östafrikansk tid", "EST": "östnordamerikansk normaltid", "CST": "centralnordamerikansk normaltid", "ChST": "Chamorrotid", "BT": "bhutansk tid", "AKST": "Alaska, normaltid", "ACWST": "västcentralaustralisk normaltid"}, + timezones: map[string]string{"ACDT": "centralaustralisk sommartid", "HAT": "Newfoundland, sommartid", "PST": "västnordamerikansk normaltid", "SAST": "sydafrikansk tid", "CLT": "chilensk normaltid", "ACWST": "västcentralaustralisk normaltid", "ART": "östargentinsk normaltid", "ARST": "östargentinsk sommartid", "HKST": "Hongkong, sommartid", "AEDT": "östaustralisk sommartid", "BOT": "boliviansk tid", "WAT": "västafrikansk normaltid", "BT": "bhutansk tid", "WESZ": "västeuropeisk sommartid", "EST": "östnordamerikansk normaltid", "HKT": "Hongkong, normaltid", "LHDT": "Lord Howe, sommartid", "GFT": "Franska Guyanatid", "SGT": "Singaporetid", "GMT": "Greenwichtid", "MST": "Macaunormaltid", "HAST": "Honolulu, normaltid", "HNOG": "västgrönländsk normaltid", "WAST": "västafrikansk sommartid", "HNCU": "kubansk normaltid", "AWST": "västaustralisk normaltid", "EDT": "östnordamerikansk sommartid", "MYT": "malaysisk tid", "EAT": "östafrikansk tid", "HNNOMX": "nordvästmexikansk normaltid", "MDT": "Macausommartid", "WIB": "västindonesisk tid", "LHST": "Lord Howe, normaltid", "∅∅∅": "Amazonas, sommartid", "HEEG": "östgrönländsk sommartid", "OESZ": "östeuropeisk sommartid", "AKST": "Alaska, normaltid", "CLST": "chilensk sommartid", "ChST": "Chamorrotid", "ECT": "ecuadoriansk tid", "UYT": "uruguayansk normaltid", "AWDT": "västaustralisk sommartid", "CHAST": "Chatham, normaltid", "IST": "indisk tid", "ACST": "centralaustralisk normaltid", "WIT": "östindonesisk tid", "WEZ": "västeuropeisk normaltid", "ACWDT": "västcentralaustralisk sommartid", "HNPM": "S:t Pierre och Miquelon, normaltid", "COST": "colombiansk sommartid", "HECU": "kubansk sommartid", "CST": "centralnordamerikansk normaltid", "NZDT": "nyzeeländsk sommartid", "MESZ": "centraleuropeisk sommartid", "JDT": "japansk sommartid", "OEZ": "östeuropeisk normaltid", "AST": "nordamerikansk atlantnormaltid", "ADT": "nordamerikansk atlantsommartid", "WITA": "centralindonesisk tid", "NZST": "nyzeeländsk normaltid", "CAT": "centralafrikansk tid", "WARST": "västargentinsk sommartid", "UYST": "uruguayansk sommartid", "HNT": "Newfoundland, normaltid", "JST": "japansk normaltid", "HNEG": "östgrönländsk normaltid", "HADT": "Honolulu, sommartid", "AEST": "östaustralisk normaltid", "HEPM": "S:t Pierre och Miquelon, sommartid", "TMT": "turkmensk normaltid", "VET": "venezuelansk tid", "HNPMX": "mexikansk stillahavstid, normaltid", "AKDT": "Alaska, sommartid", "GYT": "Guyanatid", "PDT": "västnordamerikansk sommartid", "CHADT": "Chatham, sommartid", "MEZ": "centraleuropeisk normaltid", "TMST": "turkmensk sommartid", "COT": "colombiansk normaltid", "HEPMX": "mexikansk stillahavstid, sommartid", "CDT": "centralnordamerikansk sommartid", "SRT": "Surinamtid", "HEOG": "västgrönländsk sommartid", "HENOMX": "nordvästmexikansk sommartid", "WART": "västargentinsk normaltid"}, } } @@ -414,7 +414,12 @@ func (sv *sv_SE) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -443,7 +448,12 @@ func (sv *sv_SE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -457,7 +467,12 @@ func (sv *sv_SE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -473,7 +488,12 @@ func (sv *sv_SE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sv.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sw/sw.go b/sw/sw.go index 1c828b3cb..d487ee35a 100644 --- a/sw/sw.go +++ b/sw/sw.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TSh", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TSh", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"am", "pm"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"BC", "AD"}, + periodsWide: []string{"Asubuhi", "Mchana"}, + erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"CHADT": "Saa za Mchana za Chatham", "HNT": "Saa za Wastani za Newfoundland", "LHDT": "Saa za Mchana za Lord Howe", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "HADT": "Saa za Mchana za Hawaii-Aleutian", "AWST": "Saa Wastani za Australia Magharibi", "AKST": "Saa za Wastani za Alaska", "WITA": "Saa za Indonesia ya Kati", "NZDT": "Saa za Mchana za Nyuzilandi", "ChST": "Saa Wastani za Chamorro", "UYST": "Saa za Majira ya joto za Urugwai", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "HKST": "Saa za Majira ya joto za Hong Kong", "CAT": "Saa za Afrika ya Kati", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "BOT": "Saa za Bolivia", "CLST": "Saa za Majira ya joto za Chile", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "EST": "Saa za Wastani za Mashariki", "CDT": "Saa za Mchana za Kati", "NZST": "Saa Wastani za Nyuzilandi", "VET": "Saa za Venezuela", "AKDT": "Saa za Mchana za Alaska", "EDT": "Saa za Mchana za Mashariki", "MYT": "Saa za Malaysia", "AWDT": "Saa za Mchana za Australia Magharibi", "JDT": "Saa za Mchana za Japani", "ECT": "Saa za Ekwado", "ART": "Saa Wastani za Ajentina", "MDT": "Saa za Mchana za Mountain", "COST": "Saa za Majira ya joto za Kolombia", "WIB": "Saa za Magharibi mwa Indonesia", "ARST": "Saa za Majira ya joto za Ajentina", "JST": "Saa Wastani za Japani", "∅∅∅": "Saa za Majira ya joto za Brasilia", "GMT": "Saa za Greenwich", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "HKT": "Saa Wastani za Hong Kong", "WIT": "Saa za Mashariki mwa Indonesia", "UYT": "Saa Wastani za Urugwai", "GFT": "Saa za Guiana ya Ufaransa", "ACST": "Saa Wastani za Australia ya Kati", "ADT": "Saa za Mchana za Atlantiki", "LHST": "Saa Wastani za Lord Howe", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "AST": "Saa za Wastani za Atlantiki", "CHAST": "Saa Wastani za Chatham", "MEZ": "Saa Wastani za Ulaya ya kati", "HAST": "Saa za Wastani za Hawaii-Aleutian", "GYT": "Saa za Guyana", "MST": "Saa za Wastani za Mountain", "HAT": "Saa za Mchana za Newfoundland", "SRT": "Saa za Suriname", "WART": "Saa Wastani za Magharibi mwa Ajentina", "WARST": "Saa za Majira ya joto za Magharibi mwa Ajentina", "AEST": "Saa Wastani za Mashariki mwa Australia", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "SAST": "Saa Wastani za Afrika Kusini", "WAT": "Saa Wastani za Afrika Magharibi", "CST": "Saa za Wastani za Kati", "ACDT": "Saa za Mchana za Australia ya Kati", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "IST": "Saa Wastani za India", "PST": "Saa za Wastani za Pasifiki", "PDT": "Saa za Mchana za Pasifiki", "BT": "Saa za Bhutan", "CLT": "Saa Wastani za Chile", "COT": "Saa Wastani za Kolombia", "SGT": "Saa Wastani za Singapore", "EAT": "Saa za Afrika Mashariki", "TMT": "Saa Wastani za Turkmenistan", "TMST": "Saa za Majira ya joto za Turkmenistan"}, + timezones: map[string]string{"HECU": "Saa za Mchana za Cuba", "MDT": "MDT", "MEZ": "Saa Wastani za Ulaya ya kati", "LHDT": "Saa za Mchana za Lord Howe", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "HKT": "Saa Wastani za Hong Kong", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "HEPMX": "Saa za mchana za pasifiki za Mexico", "AKST": "Saa za Wastani za Alaska", "GYT": "Saa za Guyana", "MYT": "Saa za Malaysia", "PST": "Saa za Wastani za Pasifiki", "HNOG": "Saa za Wastani za Greenland Magharibi", "HEPM": "Saa za Mchana za Saint-Pierre na Miquelon", "∅∅∅": "Saa za Majira ya joto za Peru", "NZDT": "Saa za Mchana za New Zealand", "CLT": "Saa za Wastani za Chile", "TMST": "Saa za Majira ya joto za Turkmenistan", "ACST": "Saa Wastani za Australia ya Kati", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "HENOMX": "Saa za mchana za Mexico Kaskazini Magharibi", "MST": "MST", "VET": "Saa za Venezuela", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "HNT": "Saa za Wastani za Newfoundland", "AWDT": "Saa za Mchana za Australia Magharibi", "HNEG": "Saa za Wastani za Greenland Mashariki", "WARST": "Saa za Majira ya joto za Magharibi mwa Argentina", "EDT": "Saa za Mchana za Mashariki", "NZST": "Saa Wastani za New Zealand", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "COST": "Saa za Majira ya joto za Colombia", "GMT": "Saa za Greenwich", "HADT": "Saa za Mchana za Hawaii-Aleutian", "WITA": "Saa za Indonesia ya Kati", "CHAST": "Saa Wastani za Chatham", "JST": "Saa Wastani za Japan", "COT": "Saa za Wastani za Colombia", "UYT": "Saa za Wastani za Uruguay", "SRT": "Saa za Suriname", "SAST": "Saa Wastani za Afrika Kusini", "JDT": "Saa za Mchana za Japan", "ADT": "Saa za Mchana za Atlantiki", "ART": "Saa za Wastani za Argentina", "AEST": "Saa Wastani za Mashariki mwa Australia", "CHADT": "Saa za Mchana za Chatham", "CLST": "Saa za Majira ya joto za Chile", "UYST": "Saa za Majira ya joto za Uruguay", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "ARST": "Saa za Majira ya joto za Argentina", "HNPM": "Saa za Wastani ya Saint-Pierre na Miquelon", "HNPMX": "Saa za wastani za pasifiki za Mexico", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "ChST": "Saa Wastani za Chamorro", "ECT": "Saa za Ecuador", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "HEOG": "Saa za Majira ya joto za Greenland Magharibi", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "WAT": "Saa za Wastani za Afrika Magharibi", "SGT": "Saa Wastani za Singapore", "EST": "Saa za Wastani za Mashariki", "WIB": "Saa za Magharibi mwa Indonesia", "HAT": "Saa za Mchana za Newfoundland", "ACDT": "Saa za Mchana za Australia ya Kati", "CAT": "Saa za Afrika ya Kati", "AKDT": "Saa za Mchana za Alaska", "WART": "Saa Wastani za Magharibi mwa Argentina", "HNCU": "Saa za Wastani ya Cuba", "PDT": "Saa za Mchana za Pasifiki", "AWST": "Saa Wastani za Australia Magharibi", "LHST": "Saa Wastani za Lord Howe", "EAT": "Saa za Afrika Mashariki", "CST": "Saa za Wastani za Kati", "HAST": "Saa za Wastani za Hawaii-Aleutian", "WIT": "Saa za Mashariki mwa Indonesia", "BT": "Saa za Bhutan", "HKST": "Saa za Majira ya joto za Hong Kong", "IST": "Saa Wastani za India", "BOT": "Saa za Bolivia", "HNNOMX": "Saa Wastani za Mexico Kaskazini Magharibi", "HEEG": "Saa za Majira ya joto za Greenland Mashariki", "AST": "Saa za Wastani za Atlantiki", "GFT": "Saa za Guiana ya Ufaransa", "TMT": "Saa za Wastani za Turkmenistan", "CDT": "Saa za Mchana za Kati"}, } } @@ -417,7 +417,12 @@ func (sw *sw) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (sw *sw) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (sw *sw) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (sw *sw) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sw_CD/sw_CD.go b/sw_CD/sw_CD.go index af8c7d46c..b1383b4be 100644 --- a/sw_CD/sw_CD.go +++ b/sw_CD/sw_CD.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "FC", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "mkw", "mpi", "mtu", "min", "mtn", "mst", "msb", "mun", "mts", "mku", "mkm", "mkb"}, - monthsNarrow: []string{"", "k", "p", "t", "i", "t", "s", "s", "m", "t", "k", "m", "m"}, - monthsWide: []string{"", "mwezi ya kwanja", "mwezi ya pili", "mwezi ya tatu", "mwezi ya ine", "mwezi ya tanu", "mwezi ya sita", "mwezi ya saba", "mwezi ya munane", "mwezi ya tisa", "mwezi ya kumi", "mwezi ya kumi na moya", "mwezi ya kumi ya mbili"}, - daysAbbreviated: []string{"yen", "kwa", "pil", "tat", "ine", "tan", "sit"}, - daysNarrow: []string{"y", "k", "p", "t", "i", "t", "s"}, + monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}, + daysAbbreviated: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, daysShort: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, - daysWide: []string{"siku ya yenga", "siku ya kwanza", "siku ya pili", "siku ya tatu", "siku ya ine", "siku ya tanu", "siku ya sita"}, + daysWide: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"am", "pm"}, - periodsWide: []string{"ya asubuyi", "ya muchana"}, - erasAbbreviated: []string{"BC", "AD"}, + periodsWide: []string{"Asubuhi", "Mchana"}, + erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"AWDT": "Saa za Mchana za Australia Magharibi", "CHAST": "Saa Wastani za Chatham", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "AKST": "Saa za Wastani za Alaska", "GYT": "Saa za Guyana", "BOT": "Saa za Bolivia", "WIT": "Saa za Mashariki mwa Indonesia", "HNT": "Saa za Wastani za Newfoundland", "JST": "Saa Wastani za Japani", "JDT": "Saa za Mchana za Japani", "CAT": "Saa za Afrika ya Kati", "HAT": "Saa za Mchana za Newfoundland", "ECT": "Saa za Ekwado", "TMT": "Saa Wastani za Turkmenistan", "CST": "Saa za Wastani za Kati", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "IST": "Saa Wastani za India", "TMST": "Saa za Majira ya joto za Turkmenistan", "CDT": "Saa za Mchana za Kati", "NZST": "Saa Wastani za Nyuzilandi", "WIB": "Saa za Magharibi mwa Indonesia", "HAST": "Saa za Wastani za Hawaii-Aleutian", "AST": "Saa za Wastani za Atlantiki", "NZDT": "Saa za Mchana za Nyuzilandi", "ChST": "Saa Wastani za Chamorro", "CLST": "Saa za Majira ya joto za Chile", "VET": "Saa za Venezuela", "∅∅∅": "Saa za Majira ya joto za Amazon", "HKT": "Saa Wastani za Hong Kong", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "AKDT": "Saa za Mchana za Alaska", "PDT": "Saa za Mchana za Pasifiki", "MYT": "Saa za Malaysia", "MST": "MST", "BT": "Saa za Bhutan", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "CHADT": "Saa za Mchana za Chatham", "HADT": "Saa za Mchana za Hawaii-Aleutian", "PST": "Saa za Wastani za Pasifiki", "SAST": "Saa Wastani za Afrika Kusini", "MDT": "MDT", "CLT": "Saa Wastani za Chile", "LHST": "Saa Wastani za Lord Howe", "GFT": "Saa za Guiana ya Ufaransa", "ACDT": "Saa za Mchana za Australia ya Kati", "WART": "Saa Wastani za Magharibi mwa Ajentina", "WITA": "Saa za Indonesia ya Kati", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "COT": "Saa Wastani za Kolombia", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "ART": "Saa Wastani za Ajentina", "ARST": "Saa za Majira ya joto za Ajentina", "LHDT": "Saa za Mchana za Lord Howe", "UYST": "Saa za Majira ya joto za Urugwai", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "SRT": "Saa za Suriname", "COST": "Saa za Majira ya joto za Kolombia", "EAT": "Saa za Afrika Mashariki", "WAT": "Saa Wastani za Afrika Magharibi", "UYT": "Saa Wastani za Urugwai", "WARST": "Saa za Majira ya joto za Magharibi mwa Ajentina", "ADT": "Saa za Mchana za Atlantiki", "GMT": "Saa za Greenwich", "MEZ": "Saa Wastani za Ulaya ya kati", "SGT": "Saa Wastani za Singapore", "AEST": "Saa Wastani za Mashariki mwa Australia", "EST": "Saa za Wastani za Mashariki", "AWST": "Saa Wastani za Australia Magharibi", "HKST": "Saa za Majira ya joto za Hong Kong", "ACST": "Saa Wastani za Australia ya Kati", "EDT": "Saa za Mchana za Mashariki"}, + timezones: map[string]string{"HKST": "Saa za Majira ya joto za Hong Kong", "ChST": "Saa Wastani za Chamorro", "ACST": "Saa Wastani za Australia ya Kati", "EAT": "Saa za Afrika Mashariki", "HNCU": "Saa za Wastani ya Cuba", "EST": "Saa za Wastani za Mashariki", "UYT": "Saa za Wastani za Uruguay", "SAST": "Saa Wastani za Afrika Kusini", "IST": "Saa Wastani za India", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "HNNOMX": "Saa Wastani za Mexico Kaskazini Magharibi", "HEPMX": "Saa za mchana za pasifiki za Mexico", "HAT": "Saa za Mchana za Newfoundland", "LHDT": "Saa za Mchana za Lord Howe", "GFT": "Saa za Guiana ya Ufaransa", "ECT": "Saa za Ecuador", "GMT": "Saa za Greenwich", "SGT": "Saa Wastani za Singapore", "MDT": "MDT", "HNEG": "Saa za Wastani za Greenland Mashariki", "MST": "MST", "CST": "Saa za Wastani za Kati", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "TMST": "Saa za Majira ya joto za Turkmenistan", "AKST": "Saa za Wastani za Alaska", "WIB": "Saa za Magharibi mwa Indonesia", "HAST": "Saa za Wastani za Hawaii-Aleutian", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "MEZ": "Saa Wastani za Ulaya ya kati", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "PST": "Saa za Wastani za Pasifiki", "HEPM": "Saa za Mchana za Saint-Pierre na Miquelon", "ACDT": "Saa za Mchana za Australia ya Kati", "WARST": "Saa za Majira ya joto za Magharibi mwa Argentina", "HNPMX": "Saa za wastani za pasifiki za Mexico", "CLT": "Saa za Wastani za Chile", "HKT": "Saa Wastani za Hong Kong", "AWST": "Saa Wastani za Australia Magharibi", "AWDT": "Saa za Mchana za Australia Magharibi", "CAT": "Saa za Afrika ya Kati", "HENOMX": "Saa za mchana za Mexico Kaskazini Magharibi", "CDT": "Saa za Mchana za Kati", "ADT": "Saa za Mchana za Atlantiki", "ART": "Saa za Wastani za Argentina", "HNPM": "Saa za Wastani ya Saint-Pierre na Miquelon", "PDT": "Saa za Mchana za Pasifiki", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "LHST": "Saa Wastani za Lord Howe", "AST": "Saa za Wastani za Atlantiki", "UYST": "Saa za Majira ya joto za Uruguay", "VET": "Saa za Venezuela", "BT": "Saa za Bhutan", "HNT": "Saa za Wastani za Newfoundland", "HECU": "Saa za Mchana za Cuba", "JDT": "Saa za Mchana za Japan", "TMT": "Saa za Wastani za Turkmenistan", "BOT": "Saa za Bolivia", "AKDT": "Saa za Mchana za Alaska", "HADT": "Saa za Mchana za Hawaii-Aleutian", "CLST": "Saa za Majira ya joto za Chile", "HEEG": "Saa za Majira ya joto za Greenland Mashariki", "WAT": "Saa za Wastani za Afrika Magharibi", "COT": "Saa za Wastani za Colombia", "ARST": "Saa za Majira ya joto za Argentina", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "CHAST": "Saa Wastani za Chatham", "WART": "Saa Wastani za Magharibi mwa Argentina", "EDT": "Saa za Mchana za Mashariki", "GYT": "Saa za Guyana", "AEST": "Saa Wastani za Mashariki mwa Australia", "NZDT": "Saa za Mchana za New Zealand", "SRT": "Saa za Suriname", "HNOG": "Saa za Wastani za Greenland Magharibi", "WITA": "Saa za Indonesia ya Kati", "NZST": "Saa Wastani za New Zealand", "CHADT": "Saa za Mchana za Chatham", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "∅∅∅": "Saa za Majira ya joto za Peru", "HEOG": "Saa za Majira ya joto za Greenland Magharibi", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "COST": "Saa za Majira ya joto za Colombia", "MYT": "Saa za Malaysia", "WIT": "Saa za Mashariki mwa Indonesia", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "JST": "Saa Wastani za Japan"}, } } @@ -403,11 +403,26 @@ func (sw *sw_CD) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Day() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2f}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) + b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -421,7 +436,12 @@ func (sw *sw_CD) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,7 +455,12 @@ func (sw *sw_CD) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -446,12 +471,17 @@ func (sw *sw_CD) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, sw.daysWide[t.Weekday()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sw_KE/sw_KE.go b/sw_KE/sw_KE.go index bf275014d..3cbebd49c 100644 --- a/sw_KE/sw_KE.go +++ b/sw_KE/sw_KE.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -66,12 +66,12 @@ func New() locales.Translator { daysShort: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, daysWide: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"am", "pm"}, + periodsNarrow: []string{"AM", "PM"}, periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"BC", "AD"}, + erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"PST": "Saa za Wastani za Pasifiki", "BOT": "Saa za Bolivia", "ECT": "Saa za Ekwado", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "WIT": "Saa za Mashariki mwa Indonesia", "HKST": "Saa za Majira ya joto za Hong Kong", "ACST": "Saa Wastani za Australia ya Kati", "WARST": "Saa za Majira ya joto za Magharibi mwa Ajentina", "IST": "Saa Wastani za India", "EST": "Saa za Wastani za Mashariki", "BT": "Saa za Bhutan", "HNT": "Saa za Wastani za Newfoundland", "VET": "Saa za Venezuela", "ARST": "Saa za Majira ya joto za Ajentina", "SAST": "Saa Wastani za Afrika Kusini", "AKDT": "Saa za Mchana za Alaska", "TMT": "Saa Wastani za Turkmenistan", "NZDT": "Saa za Mchana za Nyuzilandi", "ChST": "Saa Wastani za Chamorro", "ACDT": "Saa za Mchana za Australia ya Kati", "PDT": "Saa za Mchana za Pasifiki", "GYT": "Saa za Guyana", "MST": "Saa za Wastani za Mountain", "GMT": "Saa za Greenwich", "JDT": "Saa za Mchana za Japani", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "EAT": "Saa za Afrika Mashariki", "CHAST": "Saa Wastani za Chatham", "HAST": "Saa za Wastani za Hawaii-Aleutian", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "ADT": "Saa za Mchana za Atlantiki", "MDT": "Saa za Mchana za Mountain", "∅∅∅": "Saa za Majira ya joto za Azores", "NZST": "Saa Wastani za Nyuzilandi", "UYT": "Saa Wastani za Urugwai", "UYST": "Saa za Majira ya joto za Urugwai", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "AKST": "Saa za Wastani za Alaska", "TMST": "Saa za Majira ya joto za Turkmenistan", "CHADT": "Saa za Mchana za Chatham", "COT": "Saa Wastani za Kolombia", "SGT": "Saa Wastani za Singapore", "WIB": "Saa za Magharibi mwa Indonesia", "ART": "Saa Wastani za Ajentina", "HAT": "Saa za Mchana za Newfoundland", "GFT": "Saa za Guiana ya Ufaransa", "SRT": "Saa za Suriname", "WAT": "Saa Wastani za Afrika Magharibi", "WITA": "Saa za Indonesia ya Kati", "COST": "Saa za Majira ya joto za Kolombia", "AST": "Saa za Wastani za Atlantiki", "CDT": "Saa za Mchana za Kati", "AWDT": "Saa za Mchana za Australia Magharibi", "CLT": "Saa Wastani za Chile", "LHST": "Saa Wastani za Lord Howe", "LHDT": "Saa za Mchana za Lord Howe", "JST": "Saa Wastani za Japani", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "WART": "Saa Wastani za Magharibi mwa Ajentina", "MYT": "Saa za Malaysia", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "MEZ": "Saa Wastani za Ulaya ya kati", "HADT": "Saa za Mchana za Hawaii-Aleutian", "AEST": "Saa Wastani za Mashariki mwa Australia", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "EDT": "Saa za Mchana za Mashariki", "CST": "Saa za Wastani za Kati", "CAT": "Saa za Afrika ya Kati", "HKT": "Saa Wastani za Hong Kong", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "AWST": "Saa Wastani za Australia Magharibi", "CLST": "Saa za Majira ya joto za Chile"}, + timezones: map[string]string{"WIB": "Saa za Magharibi mwa Indonesia", "WITA": "Saa za Indonesia ya Kati", "CHADT": "Saa za Mchana za Chatham", "NZST": "Saa Wastani za New Zealand", "WARST": "Saa za Majira ya joto za Magharibi mwa Argentina", "HNNOMX": "Saa Wastani za Mexico Kaskazini Magharibi", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "AWST": "Saa Wastani za Australia Magharibi", "HKST": "Saa za Majira ya joto za Hong Kong", "HNEG": "Saa za Wastani za Greenland Mashariki", "WART": "Saa Wastani za Magharibi mwa Argentina", "SGT": "Saa Wastani za Singapore", "CHAST": "Saa Wastani za Chatham", "CLT": "Saa za Wastani za Chile", "HNCU": "Saa za Wastani ya Cuba", "BT": "Saa za Bhutan", "HNT": "Saa za Wastani za Newfoundland", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "NZDT": "Saa za Mchana za New Zealand", "BOT": "Saa za Bolivia", "HEPMX": "Saa za mchana za pasifiki za Mexico", "EST": "Saa za Wastani za Mashariki", "WIT": "Saa za Mashariki mwa Indonesia", "ART": "Saa za Wastani za Argentina", "ARST": "Saa za Majira ya joto za Argentina", "CLST": "Saa za Majira ya joto za Chile", "CAT": "Saa za Afrika ya Kati", "EAT": "Saa za Afrika Mashariki", "COST": "Saa za Majira ya joto za Colombia", "UYT": "Saa za Wastani za Uruguay", "HAST": "Saa za Wastani za Hawaii-Aleutian", "MEZ": "Saa Wastani za Ulaya ya kati", "IST": "Saa Wastani za India", "UYST": "Saa za Majira ya joto za Uruguay", "AKDT": "Saa za Mchana za Alaska", "HEPM": "Saa za Mchana za Saint-Pierre na Miquelon", "LHST": "Saa Wastani za Lord Howe", "LHDT": "Saa za Mchana za Lord Howe", "CST": "Saa za Wastani za Kati", "HADT": "Saa za Mchana za Hawaii-Aleutian", "PDT": "Saa za Mchana za Pasifiki", "AWDT": "Saa za Mchana za Australia Magharibi", "HNPM": "Saa za Wastani ya Saint-Pierre na Miquelon", "ACDT": "Saa za Mchana za Australia ya Kati", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "EDT": "Saa za Mchana za Mashariki", "MST": "Saa za Wastani za Mountain", "COT": "Saa za Wastani za Colombia", "GMT": "Saa za Greenwich", "SRT": "Saa za Suriname", "SAST": "Saa Wastani za Afrika Kusini", "TMT": "Saa za Wastani za Turkmenistan", "TMST": "Saa za Majira ya joto za Turkmenistan", "VET": "Saa za Venezuela", "HAT": "Saa za Mchana za Newfoundland", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "HEOG": "Saa za Majira ya joto za Greenland Magharibi", "HKT": "Saa Wastani za Hong Kong", "HENOMX": "Saa za mchana za Mexico Kaskazini Magharibi", "HECU": "Saa za Mchana za Cuba", "ADT": "Saa za Mchana za Atlantiki", "PST": "Saa za Wastani za Pasifiki", "∅∅∅": "Saa za Majira ya joto za Amazon", "GFT": "Saa za Guiana ya Ufaransa", "HEEG": "Saa za Majira ya joto za Greenland Mashariki", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "HNPMX": "Saa za wastani za pasifiki za Mexico", "ACST": "Saa Wastani za Australia ya Kati", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "CDT": "Saa za Mchana za Kati", "AST": "Saa za Wastani za Atlantiki", "GYT": "Saa za Guyana", "AKST": "Saa za Wastani za Alaska", "MDT": "Saa za Mchana za Mountain", "HNOG": "Saa za Wastani za Greenland Magharibi", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "JST": "Saa Wastani za Japan", "ChST": "Saa Wastani za Chamorro", "WAT": "Saa za Wastani za Afrika Magharibi", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "AEST": "Saa Wastani za Mashariki mwa Australia", "JDT": "Saa za Mchana za Japan", "ECT": "Saa za Ecuador", "MYT": "Saa za Malaysia"}, } } @@ -417,7 +417,12 @@ func (sw *sw_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (sw *sw_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (sw *sw_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (sw *sw_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sw_TZ/sw_TZ.go b/sw_TZ/sw_TZ.go index c8b591af7..79425056b 100644 --- a/sw_TZ/sw_TZ.go +++ b/sw_TZ/sw_TZ.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"am", "pm"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"BC", "AD"}, + periodsWide: []string{"Asubuhi", "Mchana"}, + erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"AWST": "Saa Wastani za Australia Magharibi", "LHDT": "Saa za Mchana za Lord Howe", "AEST": "Saa Wastani za Mashariki mwa Australia", "CAT": "Saa za Afrika ya Kati", "ECT": "Saa za Ekwado", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "NZDT": "Saa za Mchana za Nyuzilandi", "HNT": "Saa za Wastani za Newfoundland", "BT": "Saa za Bhutan", "HAST": "Saa za Wastani za Hawaii-Aleutian", "ChST": "Saa Wastani za Chamorro", "BOT": "Saa za Bolivia", "CHAST": "Saa Wastani za Chatham", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "AST": "Saa za Wastani za Atlantiki", "ADT": "Saa za Mchana za Atlantiki", "UYT": "Saa Wastani za Urugwai", "MST": "Saa za Wastani za Mountain", "WIT": "Saa za Mashariki mwa Indonesia", "WIB": "Saa za Magharibi mwa Indonesia", "EST": "Saa za Wastani za Mashariki", "EAT": "Saa za Afrika Mashariki", "TMST": "Saa za Majira ya joto za Turkmenistan", "CDT": "Saa za Mchana za Kati", "GMT": "Saa za Greenwich", "HKST": "Saa za Majira ya joto za Hong Kong", "WAT": "Saa Wastani za Afrika Magharibi", "EDT": "Saa za Mchana za Mashariki", "SRT": "Saa za Suriname", "HADT": "Saa za Mchana za Hawaii-Aleutian", "WITA": "Saa za Indonesia ya Kati", "AKST": "Saa za Wastani za Alaska", "HAT": "Saa za Mchana za Newfoundland", "CLST": "Saa za Majira ya joto za Chile", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "SGT": "Saa Wastani za Singapore", "ACST": "Saa Wastani za Australia ya Kati", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "TMT": "Saa Wastani za Turkmenistan", "MDT": "Saa za Mchana za Mountain", "AWDT": "Saa za Mchana za Australia Magharibi", "CLT": "Saa Wastani za Chile", "JST": "Saa Wastani za Japani", "GFT": "Saa za Guiana ya Ufaransa", "GYT": "Saa za Guyana", "COST": "Saa za Majira ya joto za Kolombia", "MEZ": "Saa Wastani za Ulaya ya kati", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "JDT": "Saa za Mchana za Japani", "CHADT": "Saa za Mchana za Chatham", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "COT": "Saa Wastani za Kolombia", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "PST": "Saa za Wastani za Pasifiki", "NZST": "Saa Wastani za Nyuzilandi", "SAST": "Saa Wastani za Afrika Kusini", "ARST": "Saa za Majira ya joto za Ajentina", "WART": "Saa Wastani za Magharibi mwa Ajentina", "IST": "Saa Wastani za India", "PDT": "Saa za Mchana za Pasifiki", "AKDT": "Saa za Mchana za Alaska", "∅∅∅": "Saa za Majira ya joto za Brasilia", "LHST": "Saa Wastani za Lord Howe", "VET": "Saa za Venezuela", "ACDT": "Saa za Mchana za Australia ya Kati", "CST": "Saa za Wastani za Kati", "UYST": "Saa za Majira ya joto za Urugwai", "HKT": "Saa Wastani za Hong Kong", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "WARST": "Saa za Majira ya joto za Magharibi mwa Ajentina", "ART": "Saa Wastani za Ajentina", "MYT": "Saa za Malaysia"}, + timezones: map[string]string{"GYT": "Saa za Guyana", "UYT": "Saa za Wastani za Uruguay", "∅∅∅": "Saa za Majira ya joto za Amazon", "HEEG": "Saa za Majira ya joto za Greenland Mashariki", "EAT": "Saa za Afrika Mashariki", "AST": "Saa za Wastani za Atlantiki", "MYT": "Saa za Malaysia", "PST": "Saa za Wastani za Pasifiki", "AWST": "Saa Wastani za Australia Magharibi", "ChST": "Saa Wastani za Chamorro", "HECU": "Saa za Mchana za Cuba", "HEPMX": "Saa za mchana za pasifiki za Mexico", "WIT": "Saa za Mashariki mwa Indonesia", "HAST": "Saa za Wastani za Hawaii-Aleutian", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "GFT": "Saa za Guiana ya Ufaransa", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "ADT": "Saa za Mchana za Atlantiki", "HAT": "Saa za Mchana za Newfoundland", "HNOG": "Saa za Wastani za Greenland Magharibi", "CHADT": "Saa za Mchana za Chatham", "HNNOMX": "Saa Wastani za Mexico Kaskazini Magharibi", "HENOMX": "Saa za mchana za Mexico Kaskazini Magharibi", "ACST": "Saa Wastani za Australia ya Kati", "WART": "Saa Wastani za Magharibi mwa Argentina", "CST": "Saa za Wastani za Kati", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "ARST": "Saa za Majira ya joto za Argentina", "AEST": "Saa Wastani za Mashariki mwa Australia", "JDT": "Saa za Mchana za Japan", "UYST": "Saa za Majira ya joto za Uruguay", "WIB": "Saa za Magharibi mwa Indonesia", "PDT": "Saa za Mchana za Pasifiki", "LHST": "Saa Wastani za Lord Howe", "COST": "Saa za Majira ya joto za Colombia", "ACDT": "Saa za Mchana za Australia ya Kati", "HNT": "Saa za Wastani za Newfoundland", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "JST": "Saa Wastani za Japan", "HNEG": "Saa za Wastani za Greenland Mashariki", "CAT": "Saa za Afrika ya Kati", "HKST": "Saa za Majira ya joto za Hong Kong", "LHDT": "Saa za Mchana za Lord Howe", "BOT": "Saa za Bolivia", "ECT": "Saa za Ecuador", "EST": "Saa za Wastani za Mashariki", "AKST": "Saa za Wastani za Alaska", "HNPM": "Saa za Wastani ya Saint-Pierre na Miquelon", "CLT": "Saa za Wastani za Chile", "WAT": "Saa za Wastani za Afrika Magharibi", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "WITA": "Saa za Indonesia ya Kati", "MEZ": "Saa Wastani za Ulaya ya kati", "SAST": "Saa Wastani za Afrika Kusini", "CLST": "Saa za Majira ya joto za Chile", "TMST": "Saa za Majira ya joto za Turkmenistan", "MST": "MST", "EDT": "Saa za Mchana za Mashariki", "AWDT": "Saa za Mchana za Australia Magharibi", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "HNCU": "Saa za Wastani ya Cuba", "GMT": "Saa za Greenwich", "HADT": "Saa za Mchana za Hawaii-Aleutian", "SRT": "Saa za Suriname", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "TMT": "Saa za Wastani za Turkmenistan", "SGT": "Saa Wastani za Singapore", "HNPMX": "Saa za wastani za pasifiki za Mexico", "VET": "Saa za Venezuela", "ART": "Saa za Wastani za Argentina", "HEOG": "Saa za Majira ya joto za Greenland Magharibi", "HKT": "Saa Wastani za Hong Kong", "IST": "Saa Wastani za India", "WARST": "Saa za Majira ya joto za Magharibi mwa Argentina", "HEPM": "Saa za Mchana za Saint-Pierre na Miquelon", "CHAST": "Saa Wastani za Chatham", "COT": "Saa za Wastani za Colombia", "MDT": "MDT", "AKDT": "Saa za Mchana za Alaska", "CDT": "Saa za Mchana za Kati", "BT": "Saa za Bhutan", "NZST": "Saa Wastani za New Zealand", "NZDT": "Saa za Mchana za New Zealand"}, } } @@ -417,7 +417,12 @@ func (sw *sw_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (sw *sw_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (sw *sw_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (sw *sw_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/sw_UG/sw_UG.go b/sw_UG/sw_UG.go index 62de67f5a..8ee188d99 100644 --- a/sw_UG/sw_UG.go +++ b/sw_UG/sw_UG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"am", "pm"}, - periodsWide: []string{"AM", "PM"}, - erasAbbreviated: []string{"BC", "AD"}, + periodsWide: []string{"Asubuhi", "Mchana"}, + erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristo", "Baada ya Kristo"}, - timezones: map[string]string{"BOT": "Saa za Bolivia", "VET": "Saa za Venezuela", "WARST": "Saa za Majira ya joto za Magharibi mwa Ajentina", "JST": "Saa Wastani za Japani", "JDT": "Saa za Mchana za Japani", "∅∅∅": "Saa za Majira ya joto za Brasilia", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "WAT": "Saa Wastani za Afrika Magharibi", "CLST": "Saa za Majira ya joto za Chile", "UYST": "Saa za Majira ya joto za Urugwai", "WITA": "Saa za Indonesia ya Kati", "CAT": "Saa za Afrika ya Kati", "LHDT": "Saa za Mchana za Lord Howe", "WART": "Saa Wastani za Magharibi mwa Ajentina", "CLT": "Saa Wastani za Chile", "TMST": "Saa za Majira ya joto za Turkmenistan", "AWST": "Saa Wastani za Australia Magharibi", "HAST": "Saa za Wastani za Hawaii-Aleutian", "IST": "Saa Wastani za India", "EST": "Saa za Wastani za Mashariki", "AST": "Saa za Wastani za Atlantiki", "NZDT": "Saa za Mchana za Nyuzilandi", "ChST": "Saa Wastani za Chamorro", "CHAST": "Saa Wastani za Chatham", "MEZ": "Saa Wastani za Ulaya ya kati", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "SAST": "Saa Wastani za Afrika Kusini", "WIT": "Saa za Mashariki mwa Indonesia", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "CHADT": "Saa za Mchana za Chatham", "SRT": "Saa za Suriname", "WIB": "Saa za Magharibi mwa Indonesia", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "AKDT": "Saa za Mchana za Alaska", "AWDT": "Saa za Mchana za Australia Magharibi", "LHST": "Saa Wastani za Lord Howe", "COST": "Saa za Majira ya joto za Kolombia", "EAT": "Saa za Afrika Mashariki", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "MYT": "Saa za Malaysia", "MST": "MST", "MDT": "MDT", "HKT": "Saa Wastani za Hong Kong", "ACST": "Saa Wastani za Australia ya Kati", "NZST": "Saa Wastani za Nyuzilandi", "BT": "Saa za Bhutan", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "HADT": "Saa za Mchana za Hawaii-Aleutian", "ARST": "Saa za Majira ya joto za Ajentina", "TMT": "Saa Wastani za Turkmenistan", "CST": "Saa za Wastani za Kati", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "GFT": "Saa za Guiana ya Ufaransa", "SGT": "Saa Wastani za Singapore", "COT": "Saa Wastani za Kolombia", "AKST": "Saa za Wastani za Alaska", "PDT": "Saa za Mchana za Pasifiki", "ADT": "Saa za Mchana za Atlantiki", "GYT": "Saa za Guyana", "HKST": "Saa za Majira ya joto za Hong Kong", "ACDT": "Saa za Mchana za Australia ya Kati", "CDT": "Saa za Mchana za Kati", "GMT": "Saa za Greenwich", "UYT": "Saa Wastani za Urugwai", "AEST": "Saa Wastani za Mashariki mwa Australia", "EDT": "Saa za Mchana za Mashariki", "PST": "Saa za Wastani za Pasifiki", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "HNT": "Saa za Wastani za Newfoundland", "HAT": "Saa za Mchana za Newfoundland", "ECT": "Saa za Ekwado", "ART": "Saa Wastani za Ajentina"}, + timezones: map[string]string{"CDT": "Saa za Mchana za Kati", "CHAST": "Saa Wastani za Chatham", "HNEG": "Saa za Wastani za Greenland Mashariki", "WARST": "Saa za Majira ya joto za Magharibi mwa Argentina", "COST": "Saa za Majira ya joto za Colombia", "HEPMX": "Saa za mchana za pasifiki za Mexico", "AEDT": "Saa za Mchana za Mashariki mwa Australia", "MEZ": "Saa Wastani za Ulaya ya kati", "EAT": "Saa za Afrika Mashariki", "HENOMX": "Saa za mchana za Mexico Kaskazini Magharibi", "GYT": "Saa za Guyana", "ACWST": "Saa Wastani za Magharibi ya Kati ya Australia", "UYT": "Saa za Wastani za Uruguay", "HKST": "Saa za Majira ya joto za Hong Kong", "HEEG": "Saa za Majira ya joto za Greenland Mashariki", "TMST": "Saa za Majira ya joto za Turkmenistan", "WART": "Saa Wastani za Magharibi mwa Argentina", "HECU": "Saa za Mchana za Cuba", "HAT": "Saa za Mchana za Newfoundland", "HNNOMX": "Saa Wastani za Mexico Kaskazini Magharibi", "AKDT": "Saa za Mchana za Alaska", "WEZ": "Saa Wastani za Magharibi mwa Ulaya", "ACWDT": "Saa za Mchana za Magharibi ya Kati ya Australia", "JST": "Saa Wastani za Japan", "VET": "Saa za Venezuela", "WIT": "Saa za Mashariki mwa Indonesia", "SRT": "Saa za Suriname", "WIB": "Saa za Magharibi mwa Indonesia", "MESZ": "Saa za Majira ya joto za Ulaya ya Kati", "OEZ": "Saa Wastani za Mashariki mwa Ulaya", "∅∅∅": "∅∅∅", "HNPMX": "Saa za wastani za pasifiki za Mexico", "CST": "Saa za Wastani za Kati", "PST": "Saa za Wastani za Pasifiki", "ChST": "Saa Wastani za Chamorro", "WAST": "Saa za Majira ya joto za Afrika Magharibi", "HNCU": "Saa za Wastani ya Cuba", "AST": "Saa za Wastani za Atlantiki", "HAST": "Saa za Wastani za Hawaii-Aleutian", "AWDT": "Saa za Mchana za Australia Magharibi", "HEPM": "Saa za Mchana za Saint-Pierre na Miquelon", "LHDT": "Saa za Mchana za Lord Howe", "TMT": "Saa za Wastani za Turkmenistan", "CAT": "Saa za Afrika ya Kati", "EDT": "Saa za Mchana za Mashariki", "HADT": "Saa za Mchana za Hawaii-Aleutian", "ARST": "Saa za Majira ya joto za Argentina", "WAT": "Saa za Wastani za Afrika Magharibi", "NZDT": "Saa za Mchana za New Zealand", "CHADT": "Saa za Mchana za Chatham", "SAST": "Saa Wastani za Afrika Kusini", "BOT": "Saa za Bolivia", "ACST": "Saa Wastani za Australia ya Kati", "ADT": "Saa za Mchana za Atlantiki", "PDT": "Saa za Mchana za Pasifiki", "WITA": "Saa za Indonesia ya Kati", "AKST": "Saa za Wastani za Alaska", "WESZ": "Saa za Majira ya joto za Magharibi mwa Ulaya", "ART": "Saa za Wastani za Argentina", "HEOG": "Saa za Majira ya joto za Greenland Magharibi", "ECT": "Saa za Ecuador", "EST": "Saa za Wastani za Mashariki", "MST": "MST", "MDT": "MDT", "GFT": "Saa za Guiana ya Ufaransa", "GMT": "Saa za Greenwich", "AEST": "Saa Wastani za Mashariki mwa Australia", "JDT": "Saa za Mchana za Japan", "NZST": "Saa Wastani za New Zealand", "CLT": "Saa za Wastani za Chile", "ACDT": "Saa za Mchana za Australia ya Kati", "MYT": "Saa za Malaysia", "HNT": "Saa za Wastani za Newfoundland", "HNPM": "Saa za Wastani ya Saint-Pierre na Miquelon", "OESZ": "Saa za Majira ya joto za Mashariki mwa Ulaya", "COT": "Saa za Wastani za Colombia", "HNOG": "Saa za Wastani za Greenland Magharibi", "AWST": "Saa Wastani za Australia Magharibi", "CLST": "Saa za Majira ya joto za Chile", "BT": "Saa za Bhutan", "HKT": "Saa Wastani za Hong Kong", "LHST": "Saa Wastani za Lord Howe", "SGT": "Saa Wastani za Singapore", "UYST": "Saa za Majira ya joto za Uruguay", "IST": "Saa Wastani za India"}, } } @@ -417,7 +417,12 @@ func (sw *sw_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +436,12 @@ func (sw *sw_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (sw *sw_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -461,7 +476,12 @@ func (sw *sw_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, sw.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ta/ta.go b/ta/ta.go index 27f1d7fc1..5c4a8e166 100644 --- a/ta/ta.go +++ b/ta/ta.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ஜன.", "பிப்.", "மார்.", "ஏப்.", "மே", "ஜூன்", "ஜூலை", "ஆக.", "செப்.", "அக்.", "நவ.", "டிச."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"கி.மு.", "கி.பி."}, erasNarrow: []string{"", ""}, erasWide: []string{"கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"}, - timezones: map[string]string{"WAST": "மேற்கு ஆப்பிரிக்கா கோடை நேரம்", "UYST": "உருகுவே கோடை நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "ECT": "ஈக்வடார் நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "SRT": "சுரினாம் நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசியா நேரம்", "∅∅∅": "பெரு கோடை நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "CST": "மத்திய நிலையான நேரம்", "BOT": "பொலிவியா நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "BT": "பூடான் நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "GYT": "கயானா நேரம்", "MST": "மவுன்டைன் நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "WITA": "மத்திய இந்தோனேசியா நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "VET": "வெனிசுலா நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "MYT": "மலேஷிய நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "MDT": "மவுன்டைன் பகலொளி நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "CLST": "சிலி கோடை நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "WIB": "மேற்கத்திய இந்தோனேசியா நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்"}, + timezones: map[string]string{"HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "HENOMX": "வடமேற்கு மெக்ஸிகோ பகலொளி நேரம்", "BT": "பூடான் நேரம்", "SRT": "சுரினாம் நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "HNCU": "கியூபா நிலையான நேரம்", "HECU": "கியூபா பகலொளி நேரம்", "HNPMX": "மெக்ஸிகன் பசிபிக் நிலையான நேரம்", "HEPM": "செயின்ட் பியரி & மிக்குயிலான் பகலொளி நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "WIB": "மேற்கத்திய இந்தோனேசிய நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசிய நேரம்", "GYT": "கயானா நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "HEEG": "கிழக்கு கிரீன்லாந்து கோடை நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "CST": "மத்திய நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "BOT": "பொலிவியா நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "HNNOMX": "வடமேற்கு மெக்ஸிகோ நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "WAST": "மேற்கு ஆப்பிரிக்க கோடை நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "∅∅∅": "அமேசான் கோடை நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "ECT": "ஈக்வடார் நேரம்", "HEPMX": "மெக்ஸிகன் பசிபிக் பகலொளி நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "CLST": "சிலி கோடை நேரம்", "HNEG": "கிழக்கு கிரீன்லாந்து நிலையான நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "HNOG": "மேற்கு கிரீன்லாந்து நிலையான நேரம்", "HEOG": "மேற்கு கிரீன்லாந்து கோடை நேரம்", "WITA": "மத்திய இந்தோனேசிய நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "UYST": "உருகுவே கோடை நேரம்", "VET": "வெனிசுலா நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "HNPM": "செயின்ட் பியரி & மிக்குயிலான் நிலையான நேரம்", "MST": "மக்காவ் தர நேரம்"}, } } @@ -434,7 +434,12 @@ func (ta *ta) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +453,12 @@ func (ta *ta) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ta *ta) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ta_IN/ta_IN.go b/ta_IN/ta_IN.go index 3ccdf58e3..3a1c437b0 100644 --- a/ta_IN/ta_IN.go +++ b/ta_IN/ta_IN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ஜன.", "பிப்.", "மார்.", "ஏப்.", "மே", "ஜூன்", "ஜூலை", "ஆக.", "செப்.", "அக்.", "நவ.", "டிச."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"கி.மு.", "கி.பி."}, erasNarrow: []string{"", ""}, erasWide: []string{"கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"}, - timezones: map[string]string{"SRT": "சுரினாம் நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "VET": "வெனிசுலா நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "GYT": "கயானா நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசியா நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "WITA": "மத்திய இந்தோனேசியா நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "ECT": "ஈக்வடார் நேரம்", "WIB": "மேற்கத்திய இந்தோனேசியா நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "CST": "மத்திய நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "∅∅∅": "அசோர்ஸ் கோடை நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "BOT": "பொலிவியா நேரம்", "UYST": "உருகுவே கோடை நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "BT": "பூடான் நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "WAST": "மேற்கு ஆப்பிரிக்கா கோடை நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "MDT": "மவுன்டைன் பகலொளி நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "MYT": "மலேஷிய நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "CLST": "சிலி கோடை நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "MST": "மவுன்டைன் நிலையான நேரம்"}, + timezones: map[string]string{"EST": "கிழக்கத்திய நிலையான நேரம்", "HEPMX": "மெக்ஸிகன் பசிபிக் பகலொளி நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "∅∅∅": "அமேசான் கோடை நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "ECT": "ஈக்வடார் நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "HENOMX": "வடமேற்கு மெக்ஸிகோ பகலொளி நேரம்", "HNCU": "கியூபா நிலையான நேரம்", "HNOG": "மேற்கு கிரீன்லாந்து நிலையான நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "UYST": "உருகுவே கோடை நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "CST": "மத்திய நிலையான நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "HNPMX": "மெக்ஸிகன் பசிபிக் நிலையான நேரம்", "VET": "வெனிசுலா நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "HNPM": "செயின்ட் பியரி & மிக்குயிலான் நிலையான நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "HNEG": "கிழக்கு கிரீன்லாந்து நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "WITA": "மத்திய இந்தோனேசிய நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "WAST": "மேற்கு ஆப்பிரிக்க கோடை நேரம்", "HNNOMX": "வடமேற்கு மெக்ஸிகோ நிலையான நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "HEOG": "மேற்கு கிரீன்லாந்து கோடை நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "HEEG": "கிழக்கு கிரீன்லாந்து கோடை நேரம்", "GYT": "கயானா நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "HECU": "கியூபா பகலொளி நேரம்", "MST": "மக்காவ் தர நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "IST": "இந்திய நிலையான நேரம்", "CLST": "சிலி கோடை நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசிய நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "HEPM": "செயின்ட் பியரி & மிக்குயிலான் பகலொளி நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "SRT": "சுரினாம் நேரம்", "BOT": "பொலிவியா நேரம்", "MYT": "மலேஷிய நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "WIB": "மேற்கத்திய இந்தோனேசிய நேரம்", "BT": "பூடான் நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்"}, } } @@ -434,7 +434,12 @@ func (ta *ta_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +453,12 @@ func (ta *ta_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ta *ta_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ta_LK/ta_LK.go b/ta_LK/ta_LK.go index ecf1fc40f..431037a2d 100644 --- a/ta_LK/ta_LK.go +++ b/ta_LK/ta_LK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "Rs.", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "Rs.", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ஜன.", "பிப்.", "மார்.", "ஏப்.", "மே", "ஜூன்", "ஜூலை", "ஆக.", "செப்.", "அக்.", "நவ.", "டிச."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"கி.மு.", "கி.பி."}, erasNarrow: []string{"", ""}, erasWide: []string{"கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"}, - timezones: map[string]string{"HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "WAST": "மேற்கு ஆப்பிரிக்கா கோடை நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "UYST": "உருகுவே கோடை நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "GYT": "கயானா நேரம்", "CLST": "சிலி கோடை நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "SRT": "சுரினாம் நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "∅∅∅": "அமேசான் கோடை நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "MST": "மக்காவ் தர நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "VET": "வெனிசுலா நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "BT": "பூடான் நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "CST": "மத்திய நிலையான நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "BOT": "பொலிவியா நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசியா நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "IST": "இந்திய நிலையான நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "WIB": "மேற்கத்திய இந்தோனேசியா நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "ECT": "ஈக்வடார் நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "WITA": "மத்திய இந்தோனேசியா நேரம்"}, + timezones: map[string]string{"NZST": "நியூசிலாந்து நிலையான நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "HEEG": "கிழக்கு கிரீன்லாந்து கோடை நேரம்", "SRT": "சுரினாம் நேரம்", "WIB": "மேற்கத்திய இந்தோனேசிய நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "CLST": "சிலி கோடை நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "HNOG": "மேற்கு கிரீன்லாந்து நிலையான நேரம்", "HEOG": "மேற்கு கிரீன்லாந்து கோடை நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "UYST": "உருகுவே கோடை நேரம்", "MST": "மக்காவ் தர நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "HEPM": "செயின்ட் பியரி & மிக்குயிலான் பகலொளி நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "ECT": "ஈக்வடார் நேரம்", "HNPMX": "மெக்ஸிகன் பசிபிக் நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "BT": "பூடான் நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "HNEG": "கிழக்கு கிரீன்லாந்து நிலையான நேரம்", "WAST": "மேற்கு ஆப்பிரிக்க கோடை நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "HENOMX": "வடமேற்கு மெக்ஸிகோ பகலொளி நேரம்", "VET": "வெனிசுலா நேரம்", "HEPMX": "மெக்ஸிகன் பசிபிக் பகலொளி நேரம்", "CST": "மத்திய நிலையான நேரம்", "∅∅∅": "அமேசான் கோடை நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "HNNOMX": "வடமேற்கு மெக்ஸிகோ நிலையான நேரம்", "HNCU": "கியூபா நிலையான நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "HNPM": "செயின்ட் பியரி & மிக்குயிலான் நிலையான நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "BOT": "பொலிவியா நேரம்", "HECU": "கியூபா பகலொளி நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "GYT": "கயானா நேரம்", "WITA": "மத்திய இந்தோனேசிய நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசிய நேரம்"}, } } @@ -434,7 +434,12 @@ func (ta *ta_LK) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -448,7 +453,12 @@ func (ta *ta_LK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +474,12 @@ func (ta *ta_LK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ta_MY/ta_MY.go b/ta_MY/ta_MY.go index 4382c40ba..6d99f5c08 100644 --- a/ta_MY/ta_MY.go +++ b/ta_MY/ta_MY.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "S$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "S$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ஜன.", "பிப்.", "மார்.", "ஏப்.", "மே", "ஜூன்", "ஜூலை", "ஆக.", "செப்.", "அக்.", "நவ.", "டிச."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"கி.மு.", "கி.பி."}, erasNarrow: []string{"", ""}, erasWide: []string{"கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"}, - timezones: map[string]string{"ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "ECT": "ஈக்வடார் நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "CST": "மத்திய நிலையான நேரம்", "GYT": "கயானா நேரம்", "BOT": "பொலிவியா நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "UYST": "உருகுவே கோடை நேரம்", "WIB": "மேற்கத்திய இந்தோனேசியா நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "SRT": "சுரினாம் நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசியா நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "MST": "மவுன்டைன் நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "CLT": "சிலி நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "∅∅∅": "பிரேசிலியா கோடை நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "BT": "பூடான் நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "MDT": "மவுன்டைன் பகலொளி நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "VET": "வெனிசுலா நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "CLST": "சிலி கோடை நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "WAST": "மேற்கு ஆப்பிரிக்கா கோடை நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "WITA": "மத்திய இந்தோனேசியா நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "COT": "கொலம்பியா நிலையான நேரம்"}, + timezones: map[string]string{"TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "SRT": "சுரினாம் நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "IST": "இந்திய நிலையான நேரம்", "HNEG": "கிழக்கு கிரீன்லாந்து நிலையான நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "HEOG": "மேற்கு கிரீன்லாந்து கோடை நேரம்", "HEPM": "செயின்ட் பியரி & மிக்குயிலான் பகலொளி நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "WIB": "மேற்கத்திய இந்தோனேசிய நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசிய நேரம்", "MST": "மக்காவ் தர நேரம்", "UYST": "உருகுவே கோடை நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "BOT": "பொலிவியா நேரம்", "HNNOMX": "வடமேற்கு மெக்ஸிகோ நிலையான நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "∅∅∅": "அமேசான் கோடை நேரம்", "HEEG": "கிழக்கு கிரீன்லாந்து கோடை நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "HENOMX": "வடமேற்கு மெக்ஸிகோ பகலொளி நேரம்", "HNPMX": "மெக்ஸிகன் பசிபிக் நிலையான நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "MYT": "மலேஷிய நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "HNPM": "செயின்ட் பியரி & மிக்குயிலான் நிலையான நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "CLST": "சிலி கோடை நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "BT": "பூடான் நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "CLT": "சிலி நிலையான நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "HEPMX": "மெக்ஸிகன் பசிபிக் பகலொளி நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "WITA": "மத்திய இந்தோனேசிய நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "HNCU": "கியூபா நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "HECU": "கியூபா பகலொளி நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "WAST": "மேற்கு ஆப்பிரிக்க கோடை நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "CST": "மத்திய நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "GYT": "கயானா நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "HNOG": "மேற்கு கிரீன்லாந்து நிலையான நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "ECT": "ஈக்வடார் நேரம்", "VET": "வெனிசுலா நேரம்"}, } } @@ -433,7 +433,12 @@ func (ta *ta_MY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +452,12 @@ func (ta *ta_MY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +473,12 @@ func (ta *ta_MY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ta_SG/ta_SG.go b/ta_SG/ta_SG.go index 65f365461..bcd5640ab 100644 --- a/ta_SG/ta_SG.go +++ b/ta_SG/ta_SG.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "RM", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "ஜன.", "பிப்.", "மார்.", "ஏப்.", "மே", "ஜூன்", "ஜூலை", "ஆக.", "செப்.", "அக்.", "நவ.", "டிச."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"கி.மு.", "கி.பி."}, erasNarrow: []string{"", ""}, erasWide: []string{"கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"}, - timezones: map[string]string{"ARST": "அர்ஜென்டினா கோடை நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசியா நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "WAST": "மேற்கு ஆப்பிரிக்கா கோடை நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "∅∅∅": "பெரு கோடை நேரம்", "CLST": "சிலி கோடை நேரம்", "WIB": "மேற்கத்திய இந்தோனேசியா நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "CST": "மத்திய நிலையான நேரம்", "MST": "மவுன்டைன் நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "BT": "பூடான் நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "CLT": "சிலி நிலையான நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "BOT": "பொலிவியா நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "MDT": "மவுன்டைன் பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "ECT": "ஈக்வடார் நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "UYST": "உருகுவே கோடை நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "SRT": "சுரினாம் நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "VET": "வெனிசுலா நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "WITA": "மத்திய இந்தோனேசியா நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "IST": "இந்திய நிலையான நேரம்", "GYT": "கயானா நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்"}, + timezones: map[string]string{"∅∅∅": "அமேசான் கோடை நேரம்", "GMT": "கிரீன்விச் சராசரி நேரம்", "SGT": "சிங்கப்பூர் நிலையான நேரம்", "HEPM": "செயின்ட் பியரி & மிக்குயிலான் பகலொளி நேரம்", "MEZ": "மத்திய ஐரோப்பிய நிலையான நேரம்", "BOT": "பொலிவியா நேரம்", "TMST": "துர்க்மெனிஸ்தான் கோடை நேரம்", "WAST": "மேற்கு ஆப்பிரிக்க கோடை நேரம்", "ECT": "ஈக்வடார் நேரம்", "UYST": "உருகுவே கோடை நேரம்", "AST": "அட்லாண்டிக் நிலையான நேரம்", "HAST": "ஹவாய்-அலேஷியன் நிலையான நேரம்", "WIT": "கிழக்கத்திய இந்தோனேசிய நேரம்", "SRT": "சுரினாம் நேரம்", "AWDT": "ஆஸ்திரேலியன் மேற்கத்திய பகலொளி நேரம்", "NZST": "நியூசிலாந்து நிலையான நேரம்", "JST": "ஜப்பான் நிலையான நேரம்", "OESZ": "கிழக்கத்திய ஐரோப்பிய கோடை நேரம்", "WARST": "மேற்கத்திய அர்ஜென்டினா கோடை நேரம்", "HADT": "ஹவாய்-அலேஷியன் பகலொளி நேரம்", "WAT": "மேற்கு ஆப்பிரிக்க நிலையான நேரம்", "MDT": "மக்காவ் கோடை நேரம்", "AKST": "அலாஸ்கா நிலையான நேரம்", "ADT": "அட்லாண்டிக் பகலொளி நேரம்", "NZDT": "நியூசிலாந்து பகலொளி நேரம்", "CLST": "சிலி கோடை நேரம்", "CHADT": "சத்தாம் பகலொளி நேரம்", "HNEG": "கிழக்கு கிரீன்லாந்து நிலையான நேரம்", "EAT": "கிழக்கு ஆப்பிரிக்க நேரம்", "HNCU": "கியூபா நிலையான நேரம்", "ART": "அர்ஜென்டினா நிலையான நேரம்", "WITA": "மத்திய இந்தோனேசிய நேரம்", "LHDT": "லார்ட் ஹோவ் பகலொளி நேரம்", "IST": "இந்திய நிலையான நேரம்", "JDT": "ஜப்பான் பகலொளி நேரம்", "WART": "மேற்கத்திய அர்ஜென்டினா நிலையான நேரம்", "HNPMX": "மெக்ஸிகன் பசிபிக் நிலையான நேரம்", "UYT": "உருகுவே நிலையான நேரம்", "AKDT": "அலாஸ்கா பகலொளி நேரம்", "MYT": "மலேஷிய நேரம்", "ARST": "அர்ஜென்டினா கோடை நேரம்", "AWST": "ஆஸ்திரேலியன் மேற்கத்திய நிலையான நேரம்", "MESZ": "மத்திய ஐரோப்பிய கோடை நேரம்", "CHAST": "சத்தாம் நிலையான நேரம்", "COT": "கொலம்பியா நிலையான நேரம்", "EDT": "கிழக்கத்திய பகலொளி நேரம்", "CDT": "மத்திய பகலொளி நேரம்", "ACWST": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய நிலையான நேரம்", "ACWDT": "ஆஸ்திரேலியன் மத்திய மேற்கத்திய பகலொளி நேரம்", "HNPM": "செயின்ட் பியரி & மிக்குயிலான் நிலையான நேரம்", "LHST": "லார்ட் ஹோவ் நிலையான நேரம்", "HEEG": "கிழக்கு கிரீன்லாந்து கோடை நேரம்", "ACDT": "ஆஸ்திரேலியன் மத்திய பகலொளி நேரம்", "EST": "கிழக்கத்திய நிலையான நேரம்", "CAT": "மத்திய ஆப்பிரிக்க நேரம்", "HNNOMX": "வடமேற்கு மெக்ஸிகோ நிலையான நேரம்", "HEPMX": "மெக்ஸிகன் பசிபிக் பகலொளி நேரம்", "CST": "மத்திய நிலையான நேரம்", "WIB": "மேற்கத்திய இந்தோனேசிய நேரம்", "PST": "பசிபிக் நிலையான நேரம்", "HNOG": "மேற்கு கிரீன்லாந்து நிலையான நேரம்", "AEDT": "ஆஸ்திரேலியன் கிழக்கத்திய பகலொளி நேரம்", "ChST": "சாமோரோ நிலையான நேரம்", "GFT": "ஃபிரஞ்சு கயானா நேரம்", "COST": "கொலம்பியா கோடை நேரம்", "HECU": "கியூபா பகலொளி நேரம்", "HKT": "ஹாங்காங் நிலையான நேரம்", "GYT": "கயானா நேரம்", "WEZ": "மேற்கத்திய ஐரோப்பிய நிலையான நேரம்", "HNT": "நியூஃபவுண்ட்லாந்து நிலையான நேரம்", "HAT": "நியூஃபவுண்ட்லாந்து பகலொளி நேரம்", "HEOG": "மேற்கு கிரீன்லாந்து கோடை நேரம்", "HKST": "ஹாங்காங் கோடை நேரம்", "ACST": "ஆஸ்திரேலியன் மத்திய நிலையான நேரம்", "OEZ": "கிழக்கத்திய ஐரோப்பிய நிலையான நேரம்", "HENOMX": "வடமேற்கு மெக்ஸிகோ பகலொளி நேரம்", "MST": "மக்காவ் தர நேரம்", "VET": "வெனிசுலா நேரம்", "WESZ": "மேற்கத்திய ஐரோப்பிய கோடை நேரம்", "AEST": "ஆஸ்திரேலியன் கிழக்கத்திய நிலையான நேரம்", "CLT": "சிலி நிலையான நேரம்", "TMT": "துர்க்மெனிஸ்தான் நிலையான நேரம்", "BT": "பூடான் நேரம்", "PDT": "பசிபிக் பகலொளி நேரம்", "SAST": "தென் ஆப்பிரிக்க நிலையான நேரம்"}, } } @@ -433,7 +433,12 @@ func (ta *ta_SG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -447,7 +452,12 @@ func (ta *ta_SG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +473,12 @@ func (ta *ta_SG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ta.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/te/te.go b/te/te.go index f1b6bb41d..f60459d19 100644 --- a/te/te.go +++ b/te/te.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "జన", "ఫిబ్ర", "మార్చి", "ఏప్రి", "మే", "జూన్", "జులై", "ఆగ", "సెప్టెం", "అక్టో", "నవం", "డిసెం"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"ఆదివారం", "సోమవారం", "మంగళవారం", "బుధవారం", "గురువారం", "శుక్రవారం", "శనివారం"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"ఉ", "సా"}, - periodsWide: []string{"[AM]", "[PM]"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"క్రీపూ", "క్రీశ"}, erasNarrow: []string{"", ""}, erasWide: []string{"క్రీస్తు పూర్వం", "క్రీస్తు శకం"}, - timezones: map[string]string{"GYT": "గయానా సమయం", "HAST": "హవాయ్-అల్యూషియన్ ప్రామాణిక సమయం", "AEDT": "తూర్పు ఆస్ట్రేలియా పగటి సమయం", "CLST": "చిలీ వేసవి సమయం", "CAT": "సెంట్రల్ ఆఫ్రికా సమయం", "ADT": "అట్లాంటిక్ పగటి సమయం", "WESZ": "పశ్చిమ యూరోపియన్ వేసవి సమయం", "AEST": "తూర్పు ఆస్ట్రేలియా ప్రామాణిక సమయం", "ACST": "ఆస్ట్రేలియా మధ్యమ ప్రామాణిక సమయం", "COT": "కొలంబియా ప్రామాణిక సమయం", "MST": "మౌంటేన్ ప్రామాణిక సమయం", "NZDT": "న్యూజిల్యాండ్ పగటి వెలుతురు సమయం", "CHADT": "చాథమ్ పగటి వెలుతురు సమయం", "ART": "అర్జెంటీనా ప్రామాణిక సమయం", "PST": "పసిఫిక్ ప్రామాణిక సమయం", "WIT": "తూర్పు ఇండోనేషియా సమయం", "HNT": "న్యూఫౌండ్ ల్యాండ్ ప్రామాణిక సమయం", "LHDT": "లార్డ్ హోవ్ పగటి సమయం", "ACWST": "మధ్యమ ఆస్ట్రేలియా పశ్చిమ ప్రామాణిక సమయం", "ARST": "ఆర్జెంటీనా వేసవి సమయం", "EDT": "తూర్పు పగటి సమయం", "MYT": "మలేషియా సమయం", "BOT": "బొలీవియా సమయం", "AST": "అట్లాంటిక్ ప్రామాణిక సమయం", "MEZ": "సెంట్రల్ యూరోపియన్ ప్రామాణిక సమయం", "PDT": "పసిఫిక్ పగటి సమయం", "HKST": "హాంకాంగ్ వేసవి సమయం", "HADT": "హవాయ్-అల్యూషియన్ పగటి వెలుతురు సమయం", "AKDT": "అలాస్కా పగటి సమయం", "WAT": "పశ్చిమ ఆఫ్రికా ప్రామాణిక సమయం", "AWST": "పశ్చిమ ఆస్ట్రేలియన్ ప్రామాణిక సమయం", "SRT": "సూరినామ్ సమయం", "CLT": "చిలీ ప్రామాణిక సమయం", "TMST": "తుర్క్మెనిస్థాన్ వేసవి సమయం", "UYT": "ఉరుగ్వే ప్రామాణిక సమయం", "UYST": "ఉరుగ్వే వేసవి సమయం", "MESZ": "సెంట్రల్ యూరోపియన్ వేసవి సమయం", "EST": "తూర్పు ప్రామాణిక సమయం", "TMT": "తుర్క్మెనిస్థాన్ ప్రామాణిక సమయం", "MDT": "మౌంటేన్ పగటి సమయం", "GMT": "గ్రీన్\u200cవిచ్ సగటు సమయం", "ECT": "ఈక్వడార్ సమయం", "VET": "వెనిజులా సమయం", "WIB": "పశ్చిమ ఇండోనేషియా సమయం", "ACDT": "ఆస్ట్రేలియా మధ్యమ పగటి సమయం", "CST": "మధ్యమ ప్రామాణిక సమయం", "JDT": "జపాన్ పగటి వెలుతురు సమయం", "WART": "పశ్చిమ అర్జెంటీనా ప్రామాణిక సమయం", "ACWDT": "మధ్యమ ఆస్ట్రేలియన్ పశ్చిమ పగటి సమయం", "HAT": "న్యూఫౌండ్ ల్యాండ్ పగటి సమయం", "LHST": "లార్డ్ హోవ్ ప్రామాణిక సమయం", "JST": "జపాన్ ప్రామాణిక సమయం", "OEZ": "తూర్పు యూరోపియన్ ప్రామాణిక సమయం", "CHAST": "చాథమ్ ప్రామాణిక సమయం", "SAST": "దక్షిణ ఆఫ్రికా ప్రామాణిక సమయం", "IST": "భారతదేశ సమయం", "NZST": "న్యూజిల్యాండ్ ప్రామాణిక సమయం", "BT": "భూటాన్ సమయం", "OESZ": "తూర్పు యూరోపియన్ వేసవి సమయం", "WEZ": "పశ్చిమ యూరోపియన్ ప్రామాణిక సమయం", "SGT": "సింగపూర్ ప్రామాణిక సమయం", "∅∅∅": "అజోర్స్ వేసవి సమయం", "CDT": "మధ్యమ పగటి సమయం", "GFT": "ఫ్రెంచ్ గయానా సమయం", "COST": "కొలంబియా వేసవి సమయం", "AKST": "అలాస్కా ప్రామాణిక సమయం", "WITA": "సెంట్రల్ ఇండోనేషియా సమయం", "ChST": "చామర్రో ప్రామాణిక సమయం", "AWDT": "పశ్చిమ ఆస్ట్రేలియన్ పగటి సమయం", "EAT": "తూర్పు ఆఫ్రికా సమయం", "WAST": "పశ్చిమ ఆఫ్రికా వేసవి సమయం", "HKT": "హాంకాంగ్ ప్రామాణిక సమయం", "WARST": "పశ్చిమ అర్జెంటీనా వేసవి సమయం"}, + timezones: map[string]string{"ADT": "అట్లాంటిక్ పగటి సమయం", "WIT": "తూర్పు ఇండోనేషియా సమయం", "HEPM": "సెయింట్ పియర్ మరియు మిక్వెలాన్ పగటి సమయం", "MEZ": "సెంట్రల్ యూరోపియన్ ప్రామాణిక సమయం", "MESZ": "సెంట్రల్ యూరోపియన్ వేసవి సమయం", "CHADT": "చాథమ్ పగటి వెలుతురు సమయం", "SAST": "దక్షిణ ఆఫ్రికా ప్రామాణిక సమయం", "CLT": "చిలీ ప్రామాణిక సమయం", "CAT": "సెంట్రల్ ఆఫ్రికా సమయం", "HNT": "న్యూఫౌండ్ ల్యాండ్ ప్రామాణిక సమయం", "ARST": "ఆర్జెంటీనా వేసవి సమయం", "LHST": "లార్డ్ హోవ్ ప్రామాణిక సమయం", "HENOMX": "వాయవ్య మెక్సికో పగటి సమయం", "MST": "మకావ్ ప్రామాణిక సమయం", "UYT": "ఉరుగ్వే ప్రామాణిక సమయం", "AKST": "అలాస్కా ప్రామాణిక సమయం", "HAST": "హవాయ్-అల్యూషియన్ ప్రామాణిక సమయం", "CHAST": "చాథమ్ ప్రామాణిక సమయం", "ACST": "ఆస్ట్రేలియా మధ్యమ ప్రామాణిక సమయం", "ACDT": "ఆస్ట్రేలియా మధ్యమ పగటి సమయం", "OESZ": "తూర్పు యూరోపియన్ వేసవి సమయం", "AKDT": "అలాస్కా పగటి సమయం", "WIB": "పశ్చిమ ఇండోనేషియా సమయం", "SRT": "సూరినామ్ సమయం", "AEDT": "తూర్పు ఆస్ట్రేలియా పగటి సమయం", "AWDT": "పశ్చిమ ఆస్ట్రేలియన్ పగటి సమయం", "IST": "భారతదేశ సమయం", "GFT": "ఫ్రెంచ్ గయానా సమయం", "HNOG": "పశ్చిమ గ్రీన్\u200cల్యాండ్ ప్రామాణిక సమయం", "PDT": "పసిఫిక్ పగటి సమయం", "∅∅∅": "అమెజాన్ వేసవి సమయం", "BOT": "బొలీవియా సమయం", "WART": "పశ్చిమ అర్జెంటీనా ప్రామాణిక సమయం", "WARST": "పశ్చిమ అర్జెంటీనా వేసవి సమయం", "SGT": "సింగపూర్ ప్రామాణిక సమయం", "VET": "వెనిజులా సమయం", "HKT": "హాంకాంగ్ ప్రామాణిక సమయం", "HKST": "హాంకాంగ్ వేసవి సమయం", "WAT": "పశ్చిమ ఆఫ్రికా ప్రామాణిక సమయం", "HNNOMX": "వాయవ్య మెక్సికో ప్రామాణిక సమయం", "EDT": "తూర్పు పగటి సమయం", "HEPMX": "మెక్సికన్ పసిఫిక్ పగటి సమయం", "WEZ": "పశ్చిమ యూరోపియన్ ప్రామాణిక సమయం", "NZDT": "న్యూజిల్యాండ్ పగటి వెలుతురు సమయం", "WAST": "పశ్చిమ ఆఫ్రికా వేసవి సమయం", "AEST": "తూర్పు ఆస్ట్రేలియా ప్రామాణిక సమయం", "HEEG": "తూర్పు గ్రీన్\u200cల్యాండ్ వేసవి సమయం", "OEZ": "తూర్పు యూరోపియన్ ప్రామాణిక సమయం", "EST": "తూర్పు ప్రామాణిక సమయం", "MDT": "మకావ్ వేసవి సమయం", "HAT": "న్యూఫౌండ్ ల్యాండ్ పగటి సమయం", "NZST": "న్యూజిల్యాండ్ ప్రామాణిక సమయం", "TMST": "తుర్క్మెనిస్థాన్ వేసవి సమయం", "EAT": "తూర్పు ఆఫ్రికా సమయం", "CST": "మధ్యమ ప్రామాణిక సమయం", "WITA": "సెంట్రల్ ఇండోనేషియా సమయం", "HNPMX": "మెక్సికన్ పసిఫిక్ ప్రామాణిక సమయం", "BT": "భూటాన్ సమయం", "PST": "పసిఫిక్ ప్రామాణిక సమయం", "JST": "జపాన్ ప్రామాణిక సమయం", "HNEG": "తూర్పు గ్రీన్\u200cల్యాండ్ ప్రామాణిక సమయం", "HECU": "క్యూబా పగటి సమయం", "ACWST": "మధ్యమ ఆస్ట్రేలియా పశ్చిమ ప్రామాణిక సమయం", "LHDT": "లార్డ్ హోవ్ పగటి సమయం", "CLST": "చిలీ వేసవి సమయం", "ECT": "ఈక్వడార్ సమయం", "COT": "కొలంబియా ప్రామాణిక సమయం", "GYT": "గయానా సమయం", "CDT": "మధ్యమ పగటి సమయం", "HEOG": "పశ్చిమ గ్రీన్\u200cల్యాండ్ వేసవి సమయం", "ChST": "చామర్రో ప్రామాణిక సమయం", "COST": "కొలంబియా వేసవి సమయం", "HNCU": "క్యూబా ప్రామాణిక సమయం", "HNPM": "సెయింట్ పియెర్ మరియు మిక్వెలాన్ ప్రామాణిక సమయం", "JDT": "జపాన్ పగటి వెలుతురు సమయం", "TMT": "తుర్క్మెనిస్థాన్ ప్రామాణిక సమయం", "UYST": "ఉరుగ్వే వేసవి సమయం", "AST": "అట్లాంటిక్ ప్రామాణిక సమయం", "ACWDT": "మధ్యమ ఆస్ట్రేలియన్ పశ్చిమ పగటి సమయం", "AWST": "పశ్చిమ ఆస్ట్రేలియన్ ప్రామాణిక సమయం", "GMT": "గ్రీన్\u200cవిచ్ సగటు సమయం", "MYT": "మలేషియా సమయం", "HADT": "హవాయ్-అల్యూషియన్ పగటి వెలుతురు సమయం", "WESZ": "పశ్చిమ యూరోపియన్ వేసవి సమయం", "ART": "అర్జెంటీనా ప్రామాణిక సమయం"}, } } @@ -462,7 +462,12 @@ func (te *te) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, te.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +481,12 @@ func (te *te) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, te.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -490,7 +500,13 @@ func (te *te) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2c, 0x20}...) b = append(b, te.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, te.daysWide[t.Weekday()]...) diff --git a/te_IN/te_IN.go b/te_IN/te_IN.go index 5a4ff596c..7c7243550 100644 --- a/te_IN/te_IN.go +++ b/te_IN/te_IN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "జన", "ఫిబ్ర", "మార్చి", "ఏప్రి", "మే", "జూన్", "జులై", "ఆగ", "సెప్టెం", "అక్టో", "నవం", "డిసెం"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"ఆదివారం", "సోమవారం", "మంగళవారం", "బుధవారం", "గురువారం", "శుక్రవారం", "శనివారం"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"ఉ", "సా"}, - periodsWide: []string{"[AM]", "[PM]"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"క్రీపూ", "క్రీశ"}, erasNarrow: []string{"", ""}, erasWide: []string{"క్రీస్తు పూర్వం", "క్రీస్తు శకం"}, - timezones: map[string]string{"MESZ": "సెంట్రల్ యూరోపియన్ వేసవి సమయం", "EST": "తూర్పు ప్రామాణిక సమయం", "GYT": "గయానా సమయం", "ChST": "చామర్రో ప్రామాణిక సమయం", "HAT": "న్యూఫౌండ్ ల్యాండ్ పగటి సమయం", "SRT": "సూరినామ్ సమయం", "ACDT": "ఆస్ట్రేలియా మధ్యమ పగటి సమయం", "ECT": "ఈక్వడార్ సమయం", "MYT": "మలేషియా సమయం", "AWST": "పశ్చిమ ఆస్ట్రేలియన్ ప్రామాణిక సమయం", "CHADT": "చాథమ్ పగటి వెలుతురు సమయం", "ART": "అర్జెంటీనా ప్రామాణిక సమయం", "ARST": "ఆర్జెంటీనా వేసవి సమయం", "PDT": "పసిఫిక్ పగటి సమయం", "WESZ": "పశ్చిమ యూరోపియన్ వేసవి సమయం", "HADT": "హవాయ్-అల్యూషియన్ పగటి వెలుతురు సమయం", "LHDT": "లార్డ్ హోవ్ పగటి సమయం", "UYST": "ఉరుగ్వే వేసవి సమయం", "SGT": "సింగపూర్ ప్రామాణిక సమయం", "AKDT": "అలాస్కా పగటి సమయం", "PST": "పసిఫిక్ ప్రామాణిక సమయం", "TMT": "తుర్క్మెనిస్థాన్ ప్రామాణిక సమయం", "HKT": "హాంకాంగ్ ప్రామాణిక సమయం", "ACWDT": "మధ్యమ ఆస్ట్రేలియన్ పశ్చిమ పగటి సమయం", "EAT": "తూర్పు ఆఫ్రికా సమయం", "CST": "మధ్యమ ప్రామాణిక సమయం", "AWDT": "పశ్చిమ ఆస్ట్రేలియన్ పగటి సమయం", "JDT": "జపాన్ పగటి వెలుతురు సమయం", "WIB": "పశ్చిమ ఇండోనేషియా సమయం", "IST": "భారతదేశ సమయం", "AKST": "అలాస్కా ప్రామాణిక సమయం", "NZDT": "న్యూజిల్యాండ్ పగటి వెలుతురు సమయం", "JST": "జపాన్ ప్రామాణిక సమయం", "COST": "కొలంబియా వేసవి సమయం", "WAT": "పశ్చిమ ఆఫ్రికా ప్రామాణిక సమయం", "HNT": "న్యూఫౌండ్ ల్యాండ్ ప్రామాణిక సమయం", "CLST": "చిలీ వేసవి సమయం", "∅∅∅": "బ్రెజిలియా వేసవి సమయం", "AEDT": "తూర్పు ఆస్ట్రేలియా పగటి సమయం", "AST": "అట్లాంటిక్ ప్రామాణిక సమయం", "MEZ": "సెంట్రల్ యూరోపియన్ ప్రామాణిక సమయం", "ACWST": "మధ్యమ ఆస్ట్రేలియా పశ్చిమ ప్రామాణిక సమయం", "ADT": "అట్లాంటిక్ పగటి సమయం", "SAST": "దక్షిణ ఆఫ్రికా ప్రామాణిక సమయం", "TMST": "తుర్క్మెనిస్థాన్ వేసవి సమయం", "LHST": "లార్డ్ హోవ్ ప్రామాణిక సమయం", "WEZ": "పశ్చిమ యూరోపియన్ ప్రామాణిక సమయం", "GFT": "ఫ్రెంచ్ గయానా సమయం", "EDT": "తూర్పు పగటి సమయం", "CAT": "సెంట్రల్ ఆఫ్రికా సమయం", "WIT": "తూర్పు ఇండోనేషియా సమయం", "GMT": "గ్రీన్\u200cవిచ్ సగటు సమయం", "UYT": "ఉరుగ్వే ప్రామాణిక సమయం", "OEZ": "తూర్పు యూరోపియన్ ప్రామాణిక సమయం", "HKST": "హాంకాంగ్ వేసవి సమయం", "WART": "పశ్చిమ అర్జెంటీనా ప్రామాణిక సమయం", "BOT": "బొలీవియా సమయం", "CHAST": "చాథమ్ ప్రామాణిక సమయం", "AEST": "తూర్పు ఆస్ట్రేలియా ప్రామాణిక సమయం", "WAST": "పశ్చిమ ఆఫ్రికా వేసవి సమయం", "MDT": "మౌంటేన్ పగటి సమయం", "NZST": "న్యూజిల్యాండ్ ప్రామాణిక సమయం", "BT": "భూటాన్ సమయం", "ACST": "ఆస్ట్రేలియా మధ్యమ ప్రామాణిక సమయం", "COT": "కొలంబియా ప్రామాణిక సమయం", "HAST": "హవాయ్-అల్యూషియన్ ప్రామాణిక సమయం", "WARST": "పశ్చిమ అర్జెంటీనా వేసవి సమయం", "MST": "మౌంటేన్ ప్రామాణిక సమయం", "OESZ": "తూర్పు యూరోపియన్ వేసవి సమయం", "VET": "వెనిజులా సమయం", "WITA": "సెంట్రల్ ఇండోనేషియా సమయం", "CDT": "మధ్యమ పగటి సమయం", "CLT": "చిలీ ప్రామాణిక సమయం"}, + timezones: map[string]string{"GFT": "ఫ్రెంచ్ గయానా సమయం", "WARST": "పశ్చిమ అర్జెంటీనా వేసవి సమయం", "PST": "పసిఫిక్ ప్రామాణిక సమయం", "PDT": "పసిఫిక్ పగటి సమయం", "ACWST": "మధ్యమ ఆస్ట్రేలియా పశ్చిమ ప్రామాణిక సమయం", "AEST": "తూర్పు ఆస్ట్రేలియా ప్రామాణిక సమయం", "AWDT": "పశ్చిమ ఆస్ట్రేలియన్ పగటి సమయం", "NZST": "న్యూజిల్యాండ్ ప్రామాణిక సమయం", "MESZ": "సెంట్రల్ యూరోపియన్ వేసవి సమయం", "CAT": "సెంట్రల్ ఆఫ్రికా సమయం", "COST": "కొలంబియా వేసవి సమయం", "GMT": "గ్రీన్\u200cవిచ్ సగటు సమయం", "HEPMX": "మెక్సికన్ పసిఫిక్ పగటి సమయం", "MYT": "మలేషియా సమయం", "HAST": "హవాయ్-అల్యూషియన్ ప్రామాణిక సమయం", "WITA": "సెంట్రల్ ఇండోనేషియా సమయం", "CHADT": "చాథమ్ పగటి వెలుతురు సమయం", "WAT": "పశ్చిమ ఆఫ్రికా ప్రామాణిక సమయం", "MST": "మకావ్ ప్రామాణిక సమయం", "WIB": "పశ్చిమ ఇండోనేషియా సమయం", "HEPM": "సెయింట్ పియర్ మరియు మిక్వెలాన్ పగటి సమయం", "CDT": "మధ్యమ పగటి సమయం", "HADT": "హవాయ్-అల్యూషియన్ పగటి వెలుతురు సమయం", "NZDT": "న్యూజిల్యాండ్ పగటి వెలుతురు సమయం", "CLST": "చిలీ వేసవి సమయం", "TMST": "తుర్క్మెనిస్థాన్ వేసవి సమయం", "WAST": "పశ్చిమ ఆఫ్రికా వేసవి సమయం", "VET": "వెనిజులా సమయం", "HNPMX": "మెక్సికన్ పసిఫిక్ ప్రామాణిక సమయం", "BOT": "బొలీవియా సమయం", "OEZ": "తూర్పు యూరోపియన్ ప్రామాణిక సమయం", "OESZ": "తూర్పు యూరోపియన్ వేసవి సమయం", "∅∅∅": "పెరూ వేసవి సమయం", "JST": "జపాన్ ప్రామాణిక సమయం", "ChST": "చామర్రో ప్రామాణిక సమయం", "TMT": "తుర్క్మెనిస్థాన్ ప్రామాణిక సమయం", "EST": "తూర్పు ప్రామాణిక సమయం", "MDT": "మకావ్ వేసవి సమయం", "AKDT": "అలాస్కా పగటి సమయం", "WEZ": "పశ్చిమ యూరోపియన్ ప్రామాణిక సమయం", "HAT": "న్యూఫౌండ్ ల్యాండ్ పగటి సమయం", "HNEG": "తూర్పు గ్రీన్\u200cల్యాండ్ ప్రామాణిక సమయం", "IST": "భారతదేశ సమయం", "HNCU": "క్యూబా ప్రామాణిక సమయం", "HECU": "క్యూబా పగటి సమయం", "AKST": "అలాస్కా ప్రామాణిక సమయం", "WESZ": "పశ్చిమ యూరోపియన్ వేసవి సమయం", "AWST": "పశ్చిమ ఆస్ట్రేలియన్ ప్రామాణిక సమయం", "HKT": "హాంకాంగ్ ప్రామాణిక సమయం", "CHAST": "చాథమ్ ప్రామాణిక సమయం", "CLT": "చిలీ ప్రామాణిక సమయం", "HNOG": "పశ్చిమ గ్రీన్\u200cల్యాండ్ ప్రామాణిక సమయం", "HNPM": "సెయింట్ పియెర్ మరియు మిక్వెలాన్ ప్రామాణిక సమయం", "LHST": "లార్డ్ హోవ్ ప్రామాణిక సమయం", "LHDT": "లార్డ్ హోవ్ పగటి సమయం", "JDT": "జపాన్ పగటి వెలుతురు సమయం", "GYT": "గయానా సమయం", "WIT": "తూర్పు ఇండోనేషియా సమయం", "ART": "అర్జెంటీనా ప్రామాణిక సమయం", "HEOG": "పశ్చిమ గ్రీన్\u200cల్యాండ్ వేసవి సమయం", "HNNOMX": "వాయవ్య మెక్సికో ప్రామాణిక సమయం", "UYT": "ఉరుగ్వే ప్రామాణిక సమయం", "ACST": "ఆస్ట్రేలియా మధ్యమ ప్రామాణిక సమయం", "EAT": "తూర్పు ఆఫ్రికా సమయం", "ACWDT": "మధ్యమ ఆస్ట్రేలియన్ పశ్చిమ పగటి సమయం", "HNT": "న్యూఫౌండ్ ల్యాండ్ ప్రామాణిక సమయం", "AEDT": "తూర్పు ఆస్ట్రేలియా పగటి సమయం", "SAST": "దక్షిణ ఆఫ్రికా ప్రామాణిక సమయం", "SRT": "సూరినామ్ సమయం", "ACDT": "ఆస్ట్రేలియా మధ్యమ పగటి సమయం", "ECT": "ఈక్వడార్ సమయం", "HENOMX": "వాయవ్య మెక్సికో పగటి సమయం", "SGT": "సింగపూర్ ప్రామాణిక సమయం", "CST": "మధ్యమ ప్రామాణిక సమయం", "AST": "అట్లాంటిక్ ప్రామాణిక సమయం", "BT": "భూటాన్ సమయం", "HKST": "హాంకాంగ్ వేసవి సమయం", "MEZ": "సెంట్రల్ యూరోపియన్ ప్రామాణిక సమయం", "COT": "కొలంబియా ప్రామాణిక సమయం", "EDT": "తూర్పు పగటి సమయం", "ARST": "ఆర్జెంటీనా వేసవి సమయం", "WART": "పశ్చిమ అర్జెంటీనా ప్రామాణిక సమయం", "ADT": "అట్లాంటిక్ పగటి సమయం", "UYST": "ఉరుగ్వే వేసవి సమయం", "HEEG": "తూర్పు గ్రీన్\u200cల్యాండ్ వేసవి సమయం"}, } } @@ -462,7 +462,12 @@ func (te *te_IN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, te.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -476,7 +481,12 @@ func (te *te_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, te.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -490,7 +500,13 @@ func (te *te_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2c, 0x20}...) b = append(b, te.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2c, 0x20}...) b = append(b, te.daysWide[t.Weekday()]...) diff --git a/teo/teo.go b/teo/teo.go index bfbcca3fa..1e00e05bb 100644 --- a/teo/teo.go +++ b/teo/teo.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Rar", "Muk", "Kwa", "Dun", "Mar", "Mod", "Jol", "Ped", "Sok", "Tib", "Lab", "Poo"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Christo", "Baada ya Christo"}, - timezones: map[string]string{"ECT": "ECT", "WIB": "WIB", "CLT": "CLT", "WEZ": "WEZ", "WART": "WART", "SAST": "SAST", "GYT": "GYT", "ChST": "ChST", "COT": "COT", "EDT": "EDT", "ACWST": "ACWST", "AWST": "AWST", "GMT": "GMT", "MEZ": "MEZ", "ACST": "ACST", "ACDT": "ACDT", "HAST": "HAST", "LHDT": "LHDT", "EAT": "EAT", "WITA": "WITA", "WESZ": "WESZ", "EST": "EST", "PDT": "PDT", "LHST": "LHST", "WARST": "WARST", "CDT": "CDT", "MDT": "MDT", "∅∅∅": "∅∅∅", "BOT": "BOT", "AWDT": "AWDT", "CLST": "CLST", "WAST": "WAST", "MST": "MST", "HNT": "HNT", "JST": "JST", "GFT": "GFT", "MESZ": "MESZ", "VET": "VET", "OESZ": "OESZ", "ADT": "ADT", "CAT": "CAT", "HKST": "HKST", "CHADT": "CHADT", "AEDT": "AEDT", "WAT": "WAT", "AKST": "AKST", "BT": "BT", "HAT": "HAT", "OEZ": "OEZ", "HADT": "HADT", "ACWDT": "ACWDT", "AEST": "AEST", "AST": "AST", "NZDT": "NZDT", "WIT": "WIT", "UYT": "UYT", "SGT": "SGT", "PST": "PST", "ARST": "ARST", "IST": "IST", "MYT": "MYT", "SRT": "SRT", "AKDT": "AKDT", "TMT": "TMT", "TMST": "TMST", "CHAST": "CHAST", "ART": "ART", "CST": "CST", "NZST": "NZST", "UYST": "UYST", "JDT": "JDT", "HKT": "HKT", "COST": "COST"}, + timezones: map[string]string{"HKST": "HKST", "OEZ": "OEZ", "COST": "COST", "EST": "EST", "ART": "ART", "HNOG": "HNOG", "∅∅∅": "∅∅∅", "WART": "WART", "SGT": "SGT", "EDT": "EDT", "HADT": "HADT", "VET": "VET", "PST": "PST", "ChST": "ChST", "ACST": "ACST", "EAT": "EAT", "HNCU": "HNCU", "HNPMX": "HNPMX", "WIT": "WIT", "PDT": "PDT", "ACWST": "ACWST", "WITA": "WITA", "COT": "COT", "AKST": "AKST", "ARST": "ARST", "HKT": "HKT", "CAT": "CAT", "WAT": "WAT", "MST": "MST", "WIB": "WIB", "NZDT": "NZDT", "WAST": "WAST", "SRT": "SRT", "AEST": "AEST", "CHAST": "CHAST", "AST": "AST", "HEEG": "HEEG", "ACDT": "ACDT", "WESZ": "WESZ", "HEPM": "HEPM", "CHADT": "CHADT", "LHST": "LHST", "LHDT": "LHDT", "CLT": "CLT", "AKDT": "AKDT", "HNT": "HNT", "ACWDT": "ACWDT", "AWDT": "AWDT", "MESZ": "MESZ", "NZST": "NZST", "IST": "IST", "WEZ": "WEZ", "AEDT": "AEDT", "TMST": "TMST", "GYT": "GYT", "CST": "CST", "CDT": "CDT", "HAT": "HAT", "JST": "JST", "HNEG": "HNEG", "WARST": "WARST", "GMT": "GMT", "MDT": "MDT", "HEPMX": "HEPMX", "BT": "BT", "AWST": "AWST", "HNPM": "HNPM", "SAST": "SAST", "CLST": "CLST", "TMT": "TMT", "ECT": "ECT", "JDT": "JDT", "OESZ": "OESZ", "HENOMX": "HENOMX", "HECU": "HECU", "UYT": "UYT", "UYST": "UYST", "GFT": "GFT", "MYT": "MYT", "HAST": "HAST", "HEOG": "HEOG", "MEZ": "MEZ", "BOT": "BOT", "HNNOMX": "HNNOMX", "ADT": "ADT"}, } } @@ -337,7 +337,12 @@ func (teo *teo) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -351,7 +356,12 @@ func (teo *teo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +375,12 @@ func (teo *teo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +396,12 @@ func (teo *teo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/teo_KE/teo_KE.go b/teo_KE/teo_KE.go index c497f2f05..e27d25c93 100644 --- a/teo_KE/teo_KE.go +++ b/teo_KE/teo_KE.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "Ksh", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Rar", "Muk", "Kwa", "Dun", "Mar", "Mod", "Jol", "Ped", "Sok", "Tib", "Lab", "Poo"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Christo", "Baada ya Christo"}, - timezones: map[string]string{"JDT": "JDT", "OESZ": "OESZ", "VET": "VET", "ARST": "ARST", "SAST": "SAST", "GMT": "GMT", "JST": "JST", "WEZ": "WEZ", "HKST": "HKST", "ADT": "ADT", "EAT": "EAT", "AKST": "AKST", "CST": "CST", "CAT": "CAT", "SRT": "SRT", "MEZ": "MEZ", "WART": "WART", "WARST": "WARST", "CDT": "CDT", "CLST": "CLST", "LHDT": "LHDT", "WESZ": "WESZ", "GFT": "GFT", "ART": "ART", "CLT": "CLT", "TMT": "TMT", "UYT": "UYT", "WIT": "WIT", "ACST": "ACST", "NZDT": "NZDT", "CHADT": "CHADT", "COST": "COST", "ACWST": "ACWST", "TMST": "TMST", "CHAST": "CHAST", "HKT": "HKT", "COT": "COT", "WAT": "WAT", "IST": "IST", "EST": "EST", "ChST": "ChST", "OEZ": "OEZ", "HAST": "HAST", "AST": "AST", "WITA": "WITA", "GYT": "GYT", "BT": "BT", "HNT": "HNT", "MESZ": "MESZ", "ACDT": "ACDT", "ACWDT": "ACWDT", "AKDT": "AKDT", "PST": "PST", "MYT": "MYT", "MDT": "MDT", "∅∅∅": "∅∅∅", "ECT": "ECT", "HAT": "HAT", "WAST": "WAST", "EDT": "EDT", "UYST": "UYST", "AWDT": "AWDT", "AEST": "AEST", "PDT": "PDT", "MST": "MST", "AWST": "AWST", "LHST": "LHST", "SGT": "SGT", "WIB": "WIB", "HADT": "HADT", "AEDT": "AEDT", "BOT": "BOT", "NZST": "NZST"}, + timezones: map[string]string{"AWDT": "AWDT", "HKST": "HKST", "UYT": "UYT", "WIT": "WIT", "SRT": "SRT", "WITA": "WITA", "ChST": "ChST", "WAST": "WAST", "OEZ": "OEZ", "MST": "MST", "WIB": "WIB", "PST": "PST", "MESZ": "MESZ", "WAT": "WAT", "TMT": "TMT", "HNNOMX": "HNNOMX", "NZST": "NZST", "JDT": "JDT", "HNEG": "HNEG", "CAT": "CAT", "GMT": "GMT", "CST": "CST", "HEOG": "HEOG", "HAT": "HAT", "CHAST": "CHAST", "JST": "JST", "WART": "WART", "EST": "EST", "GYT": "GYT", "HAST": "HAST", "WEZ": "WEZ", "ACWST": "ACWST", "SAST": "SAST", "ECT": "ECT", "SGT": "SGT", "WESZ": "WESZ", "MEZ": "MEZ", "ACST": "ACST", "PDT": "PDT", "EAT": "EAT", "HENOMX": "HENOMX", "ADT": "ADT", "BT": "BT", "ACWDT": "ACWDT", "AEST": "AEST", "CLT": "CLT", "EDT": "EDT", "HNCU": "HNCU", "AKDT": "AKDT", "HADT": "HADT", "HNOG": "HNOG", "ARST": "ARST", "CLST": "CLST", "OESZ": "OESZ", "COT": "COT", "AKST": "AKST", "CDT": "CDT", "LHDT": "LHDT", "TMST": "TMST", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "IST": "IST", "GFT": "GFT", "HECU": "HECU", "AEDT": "AEDT", "AWST": "AWST", "HEEG": "HEEG", "ACDT": "ACDT", "ART": "ART", "LHST": "LHST", "∅∅∅": "∅∅∅", "HKT": "HKT", "HNPM": "HNPM", "HEPM": "HEPM", "CHADT": "CHADT", "HNT": "HNT", "WARST": "WARST", "COST": "COST", "MDT": "MDT", "MYT": "MYT", "UYST": "UYST", "AST": "AST", "NZDT": "NZDT", "BOT": "BOT", "VET": "VET"}, } } @@ -337,7 +337,12 @@ func (teo *teo_KE) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -351,7 +356,12 @@ func (teo *teo_KE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +375,12 @@ func (teo *teo_KE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +396,12 @@ func (teo *teo_KE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/teo_UG/teo_UG.go b/teo_UG/teo_UG.go index 1864d6551..3196e39c5 100644 --- a/teo_UG/teo_UG.go +++ b/teo_UG/teo_UG.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Rar", "Muk", "Kwa", "Dun", "Mar", "Mod", "Jol", "Ped", "Sok", "Tib", "Lab", "Poo"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Christo", "Baada ya Christo"}, - timezones: map[string]string{"WITA": "WITA", "MDT": "MDT", "CHADT": "CHADT", "COST": "COST", "WIB": "WIB", "WART": "WART", "SGT": "SGT", "TMT": "TMT", "TMST": "TMST", "MYT": "MYT", "ARST": "ARST", "ACWST": "ACWST", "EDT": "EDT", "PST": "PST", "PDT": "PDT", "BT": "BT", "OEZ": "OEZ", "WESZ": "WESZ", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "CDT": "CDT", "CLST": "CLST", "OESZ": "OESZ", "IST": "IST", "AST": "AST", "EAT": "EAT", "WAST": "WAST", "CAT": "CAT", "HADT": "HADT", "ChST": "ChST", "LHST": "LHST", "HKT": "HKT", "WAT": "WAT", "GMT": "GMT", "ART": "ART", "NZST": "NZST", "SRT": "SRT", "ACST": "ACST", "BOT": "BOT", "WIT": "WIT", "AWST": "AWST", "ECT": "ECT", "GFT": "GFT", "HKST": "HKST", "ADT": "ADT", "SAST": "SAST", "MST": "MST", "HNT": "HNT", "JST": "JST", "AEST": "AEST", "AWDT": "AWDT", "COT": "COT", "MEZ": "MEZ", "GYT": "GYT", "NZDT": "NZDT", "UYST": "UYST", "CHAST": "CHAST", "WEZ": "WEZ", "JDT": "JDT", "LHDT": "LHDT", "UYT": "UYT", "AEDT": "AEDT", "AKST": "AKST", "EST": "EST", "CST": "CST", "CLT": "CLT", "MESZ": "MESZ", "HAST": "HAST", "VET": "VET", "WARST": "WARST", "ACWDT": "ACWDT", "HAT": "HAT", "ACDT": "ACDT"}, + timezones: map[string]string{"MDT": "MDT", "COST": "COST", "UYT": "UYT", "AST": "AST", "BT": "BT", "WITA": "WITA", "SAST": "SAST", "JST": "JST", "VET": "VET", "PST": "PST", "ACWDT": "ACWDT", "CHAST": "CHAST", "WAST": "WAST", "WEZ": "WEZ", "HNT": "HNT", "CLST": "CLST", "WAT": "WAT", "UYST": "UYST", "MYT": "MYT", "MST": "MST", "ADT": "ADT", "HAST": "HAST", "WIT": "WIT", "HKT": "HKT", "NZDT": "NZDT", "ACST": "ACST", "ACDT": "ACDT", "OEZ": "OEZ", "SRT": "SRT", "ARST": "ARST", "HEEG": "HEEG", "HAT": "HAT", "AWDT": "AWDT", "CHADT": "CHADT", "TMT": "TMT", "EAT": "EAT", "HNCU": "HNCU", "CDT": "CDT", "HNPM": "HNPM", "LHST": "LHST", "LHDT": "LHDT", "IST": "IST", "OESZ": "OESZ", "HADT": "HADT", "PDT": "PDT", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "BOT": "BOT", "TMST": "TMST", "CAT": "CAT", "SGT": "SGT", "HECU": "HECU", "HEPMX": "HEPMX", "ART": "ART", "AWST": "AWST", "HNPMX": "HNPMX", "CST": "CST", "GYT": "GYT", "WIB": "WIB", "HNOG": "HNOG", "HKST": "HKST", "HEPM": "HEPM", "WARST": "WARST", "ACWST": "ACWST", "MEZ": "MEZ", "COT": "COT", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "AKST": "AKST", "WESZ": "WESZ", "CLT": "CLT", "GFT": "GFT", "ECT": "ECT", "WART": "WART", "AKDT": "AKDT", "HNEG": "HNEG", "GMT": "GMT", "EST": "EST", "EDT": "EDT", "HEOG": "HEOG", "AEST": "AEST", "AEDT": "AEDT", "NZST": "NZST", "JDT": "JDT", "ChST": "ChST"}, } } @@ -337,7 +337,12 @@ func (teo *teo_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -351,7 +356,12 @@ func (teo *teo_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -365,7 +375,12 @@ func (teo *teo_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -381,7 +396,12 @@ func (teo *teo_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, teo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/th/th.go b/th/th.go index 5ae0877eb..097c7d62e 100644 --- a/th/th.go +++ b/th/th.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ปีก่อน ค.ศ.", "ค.ศ."}, erasNarrow: []string{"ก่อน ค.ศ.", "ค.ศ."}, erasWide: []string{"ปีก่อนคริสต์ศักราช", "คริสต์ศักราช"}, - timezones: map[string]string{"VET": "เวลาเวเนซุเอลา", "COST": "เวลาฤดูร้อนโคลอมเบีย", "TMT": "เวลามาตรฐานเติร์กเมนิสถาน", "MYT": "เวลามาเลเซีย", "CHADT": "เวลาออมแสงแชทัม", "TMST": "เวลาฤดูร้อนเติร์กเมนิสถาน", "MDT": "เวลาออมแสงแถบภูเขาในอเมริกาเหนือ", "AWDT": "เวลาออมแสงทางตะวันตกของออสเตรเลีย", "HAST": "เวลามาตรฐานฮาวาย-อะลูเชียน", "EDT": "เวลาออมแสงทางตะวันออกในอเมริกาเหนือ", "PDT": "เวลาออมแสงแปซิฟิกในอเมริกาเหนือ", "AKDT": "เวลาออมแสงของอะแลสกา", "WITA": "เวลาอินโดนีเซียตอนกลาง", "HAT": "เวลาออมแสงนิวฟันด์แลนด์", "WESZ": "เวลาฤดูร้อนยุโรปตะวันตก", "SGT": "เวลาสิงคโปร์", "AST": "เวลามาตรฐานแอตแลนติก", "WAST": "เวลาฤดูร้อนแอฟริกาตะวันตก", "LHDT": "เวลาออมแสงของลอร์ดโฮว์", "UYT": "เวลามาตรฐานอุรุกวัย", "NZDT": "เวลาออมแสงนิวซีแลนด์", "HNT": "เวลามาตรฐานนิวฟันด์แลนด์", "ACST": "เวลามาตรฐานทางตอนกลางของออสเตรเลีย", "ADT": "เวลาออมแสงของแอตแลนติก", "AKST": "เวลามาตรฐานอะแลสกา", "MST": "เวลามาตรฐานแถบภูเขาในอเมริกาเหนือ", "WIB": "เวลาอินโดนีเซียฝั่งตะวันตก", "CLT": "เวลามาตรฐานชิลี", "LHST": "เวลามาตรฐานลอร์ดโฮว์", "JST": "เวลามาตรฐานญี่ปุ่น", "ECT": "เวลาเอกวาดอร์", "SAST": "เวลาแอฟริกาใต้", "JDT": "เวลาออมแสงญี่ปุ่น", "ACWST": "เวลามาตรฐานทางตะวันตกตอนกลางของออสเตรเลีย", "ACWDT": "เวลาออมแสงทางตะวันตกตอนกลางของออสเตรเลีย", "CST": "เวลามาตรฐานตอนกลางในอเมริกาเหนือ", "BT": "เวลาภูฏาน", "OESZ": "เวลาฤดูร้อนยุโรปตะวันออก", "HKST": "เวลาฤดูร้อนฮ่องกง", "AEDT": "เวลาออมแสงทางตะวันออกของออสเตรเลีย", "ART": "เวลามาตรฐานอาร์เจนตินา", "EAT": "เวลาแอฟริกาตะวันออก", "GYT": "เวลากายอานา", "BOT": "เวลาโบลิเวีย", "IST": "เวลาอินเดีย", "NZST": "เวลามาตรฐานนิวซีแลนด์", "ChST": "เวลาชามอร์โร", "UYST": "เวลาฤดูร้อนอุรุกวัย", "WEZ": "เวลามาตรฐานยุโรปตะวันตก", "AEST": "เวลามาตรฐานทางตะวันออกของออสเตรเลีย", "WAT": "เวลามาตรฐานแอฟริกาตะวันตก", "WART": "เวลามาตรฐานทางตะวันตกของอาร์เจนตินา", "∅∅∅": "เวลาฤดูร้อนเปรู", "CLST": "เวลาฤดูร้อนชิลี", "GFT": "เวลาเฟรนช์เกียนา", "CAT": "เวลาแอฟริกากลาง", "AWST": "เวลามาตรฐานทางตะวันตกของออสเตรเลีย", "GMT": "เวลามาตรฐานกรีนิช", "MESZ": "เวลาฤดูร้อนยุโรปกลาง", "HADT": "เวลาออมแสงฮาวาย-อะลูเชียน", "EST": "เวลามาตรฐานทางตะวันออกในอเมริกาเหนือ", "PST": "เวลามาตรฐานแปซิฟิกในอเมริกาเหนือ", "CDT": "เวลาออมแสงตอนกลางในอเมริกาเหนือ", "OEZ": "เวลามาตรฐานยุโรปตะวันออก", "MEZ": "เวลามาตรฐานยุโรปกลาง", "CHAST": "เวลามาตรฐานแชทัม", "SRT": "เวลาซูรินาเม", "HKT": "เวลามาตรฐานฮ่องกง", "ACDT": "เวลาออมแสงทางตอนกลางของออสเตรเลีย", "COT": "เวลามาตรฐานโคลอมเบีย", "ARST": "เวลาฤดูร้อนอาร์เจนตินา", "WARST": "เวลาฤดูร้อนทางตะวันตกของอาร์เจนตินา", "WIT": "เวลาอินโดนีเซียฝั่งตะวันออก"}, + timezones: map[string]string{"IST": "เวลาอินเดีย", "SGT": "เวลาสิงคโปร์", "CDT": "เวลาออมแสงตอนกลางในอเมริกาเหนือ", "BT": "เวลาภูฏาน", "AEDT": "เวลาออมแสงทางตะวันออกของออสเตรเลีย", "AWST": "เวลามาตรฐานทางตะวันตกของออสเตรเลีย", "CHADT": "เวลาออมแสงแชทัม", "BOT": "เวลาโบลิเวีย", "LHDT": "เวลาออมแสงลอร์ดโฮว์", "CLST": "เวลาฤดูร้อนชิลี", "ChST": "เวลาชามอร์โร", "WARST": "เวลาฤดูร้อนทางตะวันตกของอาร์เจนตินา", "MDT": "เวลาฤดูร้อนมาเก๊า", "CST": "เวลามาตรฐานตอนกลางในอเมริกาเหนือ", "UYT": "เวลามาตรฐานอุรุกวัย", "SRT": "เวลาซูรินาเม", "ARST": "เวลาฤดูร้อนอาร์เจนตินา", "HKT": "เวลามาตรฐานฮ่องกง", "GFT": "เวลาเฟรนช์เกียนา", "HEPMX": "เวลาออมแสงแปซิฟิกเม็กซิโก", "ECT": "เวลาเอกวาดอร์", "WART": "เวลามาตรฐานทางตะวันตกของอาร์เจนตินา", "HADT": "เวลาออมแสงฮาวาย-อะลูเชียน", "HEOG": "เวลาฤดูร้อนกรีนแลนด์ตะวันตก", "WITA": "เวลาอินโดนีเซียตอนกลาง", "MESZ": "เวลาฤดูร้อนยุโรปกลาง", "HNEG": "เวลามาตรฐานกรีนแลนด์ตะวันออก", "HKST": "เวลาฤดูร้อนฮ่องกง", "∅∅∅": "เวลาฤดูร้อนแอมะซอน", "COT": "เวลามาตรฐานโคลอมเบีย", "LHST": "เวลามาตรฐานลอร์ดโฮว์", "JDT": "เวลาออมแสงญี่ปุ่น", "GMT": "เวลามาตรฐานกรีนิช", "HAST": "เวลามาตรฐานฮาวาย-อะลูเชียน", "ACWDT": "เวลาออมแสงทางตะวันตกตอนกลางของออสเตรเลีย", "ART": "เวลามาตรฐานอาร์เจนตินา", "WEZ": "เวลามาตรฐานยุโรปตะวันตก", "AEST": "เวลามาตรฐานทางตะวันออกของออสเตรเลีย", "ADT": "เวลาออมแสงของแอตแลนติก", "MST": "เวลามาตรฐานมาเก๊า", "MYT": "เวลามาเลเซีย", "EDT": "เวลาออมแสงทางตะวันออกในอเมริกาเหนือ", "AKST": "เวลามาตรฐานอะแลสกา", "VET": "เวลาเวเนซุเอลา", "TMST": "เวลาฤดูร้อนเติร์กเมนิสถาน", "WAST": "เวลาฤดูร้อนแอฟริกาตะวันตก", "OESZ": "เวลาฤดูร้อนยุโรปตะวันออก", "EAT": "เวลาแอฟริกาตะวันออก", "HNT": "เวลามาตรฐานนิวฟันด์แลนด์", "PST": "เวลามาตรฐานแปซิฟิกในอเมริกาเหนือ", "WESZ": "เวลาฤดูร้อนยุโรปตะวันตก", "AST": "เวลามาตรฐานแอตแลนติก", "UYST": "เวลาฤดูร้อนอุรุกวัย", "HNPM": "เวลามาตรฐานแซงปีแยร์และมีเกอลง", "ACST": "เวลามาตรฐานทางตอนกลางของออสเตรเลีย", "WAT": "เวลามาตรฐานแอฟริกาตะวันตก", "HNNOMX": "เวลามาตรฐานเม็กซิโกตะวันตกเฉียงเหนือ", "AKDT": "เวลาออมแสงของอะแลสกา", "WIT": "เวลาอินโดนีเซียฝั่งตะวันออก", "ACWST": "เวลามาตรฐานทางตะวันตกตอนกลางของออสเตรเลีย", "PDT": "เวลาออมแสงแปซิฟิกในอเมริกาเหนือ", "ACDT": "เวลาออมแสงทางตอนกลางของออสเตรเลีย", "COST": "เวลาฤดูร้อนโคลอมเบีย", "HAT": "เวลาออมแสงนิวฟันด์แลนด์", "AWDT": "เวลาออมแสงทางตะวันตกของออสเตรเลีย", "CHAST": "เวลามาตรฐานแชทัม", "HECU": "เวลาออมแสงของคิวบา", "GYT": "เวลากายอานา", "HNOG": "เวลามาตรฐานกรีนแลนด์ตะวันตก", "MEZ": "เวลามาตรฐานยุโรปกลาง", "SAST": "เวลาแอฟริกาใต้", "HEEG": "เวลาฤดูร้อนกรีนแลนด์ตะวันออก", "HNPMX": "เวลามาตรฐานแปซิฟิกเม็กซิโก", "WIB": "เวลาอินโดนีเซียฝั่งตะวันตก", "NZST": "เวลามาตรฐานนิวซีแลนด์", "OEZ": "เวลามาตรฐานยุโรปตะวันออก", "CAT": "เวลาแอฟริกากลาง", "HENOMX": "เวลาออมแสงเม็กซิโกตะวันตกเฉียงเหนือ", "HNCU": "เวลามาตรฐานคิวบา", "EST": "เวลามาตรฐานทางตะวันออกในอเมริกาเหนือ", "HEPM": "เวลาออมแสงของแซงปีแยร์และมีเกอลง", "NZDT": "เวลาออมแสงนิวซีแลนด์", "JST": "เวลามาตรฐานญี่ปุ่น", "CLT": "เวลามาตรฐานชิลี", "TMT": "เวลามาตรฐานเติร์กเมนิสถาน"}, } } @@ -407,7 +407,12 @@ func (th *th) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, th.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (th *th) FmtDateLong(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (th *th) FmtDateFull(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/th_TH/th_TH.go b/th_TH/th_TH.go index f8dcc21ee..c751f6198 100644 --- a/th_TH/th_TH.go +++ b/th_TH/th_TH.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ปีก่อน ค.ศ.", "ค.ศ."}, erasNarrow: []string{"ก่อน ค.ศ.", "ค.ศ."}, erasWide: []string{"ปีก่อนคริสต์ศักราช", "คริสต์ศักราช"}, - timezones: map[string]string{"MDT": "เวลาออมแสงแถบภูเขาในอเมริกาเหนือ", "UYT": "เวลามาตรฐานอุรุกวัย", "COST": "เวลาฤดูร้อนโคลอมเบีย", "EDT": "เวลาออมแสงทางตะวันออกในอเมริกาเหนือ", "PST": "เวลามาตรฐานแปซิฟิกในอเมริกาเหนือ", "IST": "เวลาอินเดีย", "TMST": "เวลาฤดูร้อนเติร์กเมนิสถาน", "GYT": "เวลากายอานา", "WITA": "เวลาอินโดนีเซียตอนกลาง", "GMT": "เวลามาตรฐานกรีนิช", "PDT": "เวลาออมแสงแปซิฟิกในอเมริกาเหนือ", "MEZ": "เวลามาตรฐานยุโรปกลาง", "EAT": "เวลาแอฟริกาตะวันออก", "CLST": "เวลาฤดูร้อนชิลี", "JST": "เวลามาตรฐานญี่ปุ่น", "OEZ": "เวลามาตรฐานยุโรปตะวันออก", "HADT": "เวลาออมแสงฮาวาย-อะลูเชียน", "ACST": "เวลามาตรฐานทางตอนกลางของออสเตรเลีย", "BOT": "เวลาโบลิเวีย", "CAT": "เวลาแอฟริกากลาง", "WESZ": "เวลาฤดูร้อนยุโรปตะวันตก", "HKST": "เวลาฤดูร้อนฮ่องกง", "WIB": "เวลาอินโดนีเซียฝั่งตะวันตก", "CST": "เวลามาตรฐานตอนกลางในอเมริกาเหนือ", "WIT": "เวลาอินโดนีเซียฝั่งตะวันออก", "HAST": "เวลามาตรฐานฮาวาย-อะลูเชียน", "ART": "เวลามาตรฐานอาร์เจนตินา", "MESZ": "เวลาฤดูร้อนยุโรปกลาง", "ECT": "เวลาเอกวาดอร์", "WART": "เวลามาตรฐานทางตะวันตกของอาร์เจนตินา", "WAT": "เวลามาตรฐานแอฟริกาตะวันตก", "WAST": "เวลาฤดูร้อนแอฟริกาตะวันตก", "TMT": "เวลามาตรฐานเติร์กเมนิสถาน", "SRT": "เวลาซูรินาเม", "HKT": "เวลามาตรฐานฮ่องกง", "EST": "เวลามาตรฐานทางตะวันออกในอเมริกาเหนือ", "OESZ": "เวลาฤดูร้อนยุโรปตะวันออก", "SGT": "เวลาสิงคโปร์", "ACWST": "เวลามาตรฐานทางตะวันตกตอนกลางของออสเตรเลีย", "AEST": "เวลามาตรฐานทางตะวันออกของออสเตรเลีย", "ADT": "เวลาออมแสงของแอตแลนติก", "SAST": "เวลาแอฟริกาใต้", "AWST": "เวลามาตรฐานทางตะวันตกของออสเตรเลีย", "HAT": "เวลาออมแสงนิวฟันด์แลนด์", "CHAST": "เวลามาตรฐานแชทัม", "AWDT": "เวลาออมแสงทางตะวันตกของออสเตรเลีย", "ACDT": "เวลาออมแสงทางตอนกลางของออสเตรเลีย", "CHADT": "เวลาออมแสงแชทัม", "ACWDT": "เวลาออมแสงทางตะวันตกตอนกลางของออสเตรเลีย", "AKST": "เวลามาตรฐานอะแลสกา", "AKDT": "เวลาออมแสงของอะแลสกา", "ChST": "เวลาชามอร์โร", "BT": "เวลาภูฏาน", "UYST": "เวลาฤดูร้อนอุรุกวัย", "MYT": "เวลามาเลเซีย", "ARST": "เวลาฤดูร้อนอาร์เจนตินา", "WARST": "เวลาฤดูร้อนทางตะวันตกของอาร์เจนตินา", "AST": "เวลามาตรฐานแอตแลนติก", "∅∅∅": "เวลาฤดูร้อนเปรู", "MST": "เวลามาตรฐานแถบภูเขาในอเมริกาเหนือ", "JDT": "เวลาออมแสงญี่ปุ่น", "GFT": "เวลาเฟรนช์เกียนา", "CDT": "เวลาออมแสงตอนกลางในอเมริกาเหนือ", "NZDT": "เวลาออมแสงนิวซีแลนด์", "HNT": "เวลามาตรฐานนิวฟันด์แลนด์", "LHDT": "เวลาออมแสงของลอร์ดโฮว์", "WEZ": "เวลามาตรฐานยุโรปตะวันตก", "VET": "เวลาเวเนซุเอลา", "COT": "เวลามาตรฐานโคลอมเบีย", "NZST": "เวลามาตรฐานนิวซีแลนด์", "CLT": "เวลามาตรฐานชิลี", "LHST": "เวลามาตรฐานลอร์ดโฮว์", "AEDT": "เวลาออมแสงทางตะวันออกของออสเตรเลีย"}, + timezones: map[string]string{"AST": "เวลามาตรฐานแอตแลนติก", "AEDT": "เวลาออมแสงทางตะวันออกของออสเตรเลีย", "WITA": "เวลาอินโดนีเซียตอนกลาง", "MESZ": "เวลาฤดูร้อนยุโรปกลาง", "GFT": "เวลาเฟรนช์เกียนา", "WARST": "เวลาฤดูร้อนทางตะวันตกของอาร์เจนตินา", "GMT": "เวลามาตรฐานกรีนิช", "OESZ": "เวลาฤดูร้อนยุโรปตะวันออก", "WESZ": "เวลาฤดูร้อนยุโรปตะวันตก", "HNT": "เวลามาตรฐานนิวฟันด์แลนด์", "PDT": "เวลาออมแสงแปซิฟิกในอเมริกาเหนือ", "ACDT": "เวลาออมแสงทางตอนกลางของออสเตรเลีย", "COT": "เวลามาตรฐานโคลอมเบีย", "EST": "เวลามาตรฐานทางตะวันออกในอเมริกาเหนือ", "HEPMX": "เวลาออมแสงแปซิฟิกเม็กซิโก", "WART": "เวลามาตรฐานทางตะวันตกของอาร์เจนตินา", "BT": "เวลาภูฏาน", "SRT": "เวลาซูรินาเม", "WEZ": "เวลามาตรฐานยุโรปตะวันตก", "ACWST": "เวลามาตรฐานทางตะวันตกตอนกลางของออสเตรเลีย", "NZDT": "เวลาออมแสงนิวซีแลนด์", "CHAST": "เวลามาตรฐานแชทัม", "ChST": "เวลาชามอร์โร", "CST": "เวลามาตรฐานตอนกลางในอเมริกาเหนือ", "TMT": "เวลามาตรฐานเติร์กเมนิสถาน", "WAT": "เวลามาตรฐานแอฟริกาตะวันตก", "MYT": "เวลามาเลเซีย", "UYST": "เวลาฤดูร้อนอุรุกวัย", "WAST": "เวลาฤดูร้อนแอฟริกาตะวันตก", "HKT": "เวลามาตรฐานฮ่องกง", "HNPMX": "เวลามาตรฐานแปซิฟิกเม็กซิโก", "LHDT": "เวลาออมแสงลอร์ดโฮว์", "CLT": "เวลามาตรฐานชิลี", "ECT": "เวลาเอกวาดอร์", "MDT": "เวลาฤดูร้อนมาเก๊า", "ARST": "เวลาฤดูร้อนอาร์เจนตินา", "HEOG": "เวลาฤดูร้อนกรีนแลนด์ตะวันตก", "AWDT": "เวลาออมแสงทางตะวันตกของออสเตรเลีย", "HNCU": "เวลามาตรฐานคิวบา", "EDT": "เวลาออมแสงทางตะวันออกในอเมริกาเหนือ", "MST": "เวลามาตรฐานมาเก๊า", "ART": "เวลามาตรฐานอาร์เจนตินา", "JDT": "เวลาออมแสงญี่ปุ่น", "TMST": "เวลาฤดูร้อนเติร์กเมนิสถาน", "AKDT": "เวลาออมแสงของอะแลสกา", "HAT": "เวลาออมแสงนิวฟันด์แลนด์", "AKST": "เวลามาตรฐานอะแลสกา", "HNOG": "เวลามาตรฐานกรีนแลนด์ตะวันตก", "HKST": "เวลาฤดูร้อนฮ่องกง", "LHST": "เวลามาตรฐานลอร์ดโฮว์", "SAST": "เวลาแอฟริกาใต้", "EAT": "เวลาแอฟริกาตะวันออก", "OEZ": "เวลามาตรฐานยุโรปตะวันออก", "CAT": "เวลาแอฟริกากลาง", "HNNOMX": "เวลามาตรฐานเม็กซิโกตะวันตกเฉียงเหนือ", "HENOMX": "เวลาออมแสงเม็กซิโกตะวันตกเฉียงเหนือ", "GYT": "เวลากายอานา", "NZST": "เวลามาตรฐานนิวซีแลนด์", "CHADT": "เวลาออมแสงแชทัม", "∅∅∅": "เวลาฤดูร้อนแอมะซอน", "ACST": "เวลามาตรฐานทางตอนกลางของออสเตรเลีย", "WIB": "เวลาอินโดนีเซียฝั่งตะวันตก", "HADT": "เวลาออมแสงฮาวาย-อะลูเชียน", "VET": "เวลาเวเนซุเอลา", "HEPM": "เวลาออมแสงของแซงปีแยร์และมีเกอลง", "HNEG": "เวลามาตรฐานกรีนแลนด์ตะวันออก", "UYT": "เวลามาตรฐานอุรุกวัย", "PST": "เวลามาตรฐานแปซิฟิกในอเมริกาเหนือ", "ACWDT": "เวลาออมแสงทางตะวันตกตอนกลางของออสเตรเลีย", "AEST": "เวลามาตรฐานทางตะวันออกของออสเตรเลีย", "HEEG": "เวลาฤดูร้อนกรีนแลนด์ตะวันออก", "SGT": "เวลาสิงคโปร์", "CDT": "เวลาออมแสงตอนกลางในอเมริกาเหนือ", "ADT": "เวลาออมแสงของแอตแลนติก", "AWST": "เวลามาตรฐานทางตะวันตกของออสเตรเลีย", "HNPM": "เวลามาตรฐานแซงปีแยร์และมีเกอลง", "CLST": "เวลาฤดูร้อนชิลี", "JST": "เวลามาตรฐานญี่ปุ่น", "COST": "เวลาฤดูร้อนโคลอมเบีย", "WIT": "เวลาอินโดนีเซียฝั่งตะวันออก", "HAST": "เวลามาตรฐานฮาวาย-อะลูเชียน", "MEZ": "เวลามาตรฐานยุโรปกลาง", "IST": "เวลาอินเดีย", "BOT": "เวลาโบลิเวีย", "HECU": "เวลาออมแสงของคิวบา"}, } } @@ -407,7 +407,12 @@ func (th *th_TH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, th.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (th *th_TH) FmtDateLong(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +463,12 @@ func (th *th_TH) FmtDateFull(t time.Time) string { } b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ti/ti.go b/ti/ti.go index 3c09e885d..8d100e140 100644 --- a/ti/ti.go +++ b/ti/ti.go @@ -46,19 +46,27 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "ጃንዩ", "ፌብሩ", "ማርች", "ኤፕረ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክተ", "ኖቬም", "ዲሴም"}, - monthsNarrow: []string{"", "ጃ", "ፌ", "ማ", "ኤ", "ሜ", "ጁ", "ጁ", "ኦ", "ሴ", "ኦ", "ኖ", "ዲ"}, - monthsWide: []string{"", "ጃንዩወሪ", "ፌብሩወሪ", "ማርች", "ኤፕረል", "ሜይ", "ጁን", "ጁላይ", "ኦገስት", "ሴፕቴምበር", "ኦክተውበር", "ኖቬምበር", "ዲሴምበር"}, - daysNarrow: []string{"ሰ", "ሰ", "ሠ", "ረ", "ኃ", "ዓ", "ቀ"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "Br", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "ጥሪ", "ለካ", "መጋ", "ሚያ", "ግን", "ሰነ", "ሓም", "ነሓ", "መስ", "ጥቅ", "ሕዳ", "ታሕ"}, + monthsNarrow: []string{"", "ጥ", "ለ", "መ", "ሚ", "ግ", "ሰ", "ሓ", "ነ", "መ", "ጥ", "ሕ", "ታ"}, + monthsWide: []string{"", "ጥሪ", "ለካቲት", "መጋቢት", "ሚያዝያ", "ግንቦት", "ሰነ", "ሓምለ", "ነሓሰ", "መስከረም", "ጥቅምቲ", "ሕዳር", "ታሕሳስ"}, + daysAbbreviated: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, + daysNarrow: []string{"ሰ", "ሰ", "ሰ", "ረ", "ሓ", "ዓ", "ቀ"}, + daysShort: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, daysWide: []string{"ሰንበት", "ሰኑይ", "ሠሉስ", "ረቡዕ", "ኃሙስ", "ዓርቢ", "ቀዳም"}, periodsAbbreviated: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, periodsWide: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, erasAbbreviated: []string{"ዓ/ዓ", "ዓ/ም"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"JST": "JST", "WART": "WART", "ACWDT": "ACWDT", "EDT": "EDT", "AST": "AST", "MST": "MST", "ACWST": "ACWST", "ChST": "ChST", "CLST": "CLST", "AWST": "AWST", "ACST": "ACST", "WARST": "WARST", "ARST": "ARST", "SAST": "SAST", "MDT": "MDT", "CHADT": "CHADT", "AEDT": "AEDT", "PST": "PST", "UYST": "UYST", "AKDT": "AKDT", "MESZ": "MESZ", "WIT": "WIT", "OESZ": "OESZ", "WESZ": "WESZ", "HAST": "HAST", "ADT": "ADT", "TMST": "TMST", "UYT": "UYT", "OEZ": "OEZ", "ECT": "ECT", "TMT": "TMT", "GYT": "GYT", "BOT": "BOT", "WEZ": "WEZ", "PDT": "PDT", "IST": "IST", "∅∅∅": "∅∅∅", "NZST": "NZST", "SRT": "SRT", "AEST": "AEST", "EAT": "EAT", "WAST": "WAST", "HNT": "HNT", "CHAST": "CHAST", "MEZ": "MEZ", "COT": "COT", "ART": "ART", "NZDT": "NZDT", "CLT": "CLT", "LHDT": "LHDT", "JDT": "JDT", "CAT": "CAT", "AWDT": "AWDT", "COST": "COST", "WITA": "WITA", "LHST": "LHST", "GMT": "GMT", "GFT": "GFT", "WIB": "WIB", "HADT": "HADT", "CDT": "CDT", "BT": "BT", "HKST": "HKST", "VET": "VET", "ACDT": "ACDT", "SGT": "SGT", "WAT": "WAT", "CST": "CST", "HAT": "HAT", "HKT": "HKT", "EST": "EST", "MYT": "MYT", "AKST": "AKST"}, + erasWide: []string{"ዓ/ዓ", "ዓመተ ምህረት"}, + timezones: map[string]string{"ACST": "ACST", "ART": "ART", "HNOG": "HNOG", "NZST": "NZST", "EST": "EST", "WEZ": "WEZ", "HEPM": "HEPM", "CHADT": "CHADT", "AKDT": "AKDT", "OEZ": "OEZ", "WARST": "WARST", "ECT": "ECT", "WIT": "WIT", "AWST": "AWST", "AWDT": "AWDT", "AEDT": "AEDT", "ACWDT": "ACWDT", "ARST": "ARST", "HEOG": "HEOG", "JST": "JST", "TMT": "TMT", "COT": "COT", "BT": "BT", "CHAST": "CHAST", "LHDT": "LHDT", "HECU": "HECU", "SGT": "SGT", "WITA": "WITA", "CLT": "CLT", "HEEG": "HEEG", "HADT": "HADT", "VET": "VET", "PDT": "PDT", "HAST": "HAST", "HKST": "HKST", "HNPM": "HNPM", "ACDT": "ACDT", "HEPMX": "HEPMX", "AKST": "AKST", "ADT": "ADT", "MST": "MST", "GMT": "GMT", "WIB": "WIB", "HNEG": "HNEG", "BOT": "BOT", "CDT": "CDT", "GYT": "GYT", "ACWST": "ACWST", "COST": "COST", "MESZ": "MESZ", "IST": "IST", "ChST": "ChST", "SAST": "SAST", "TMST": "TMST", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "WART": "WART", "CST": "CST", "UYT": "UYT", "HAT": "HAT", "HNPMX": "HNPMX", "NZDT": "NZDT", "MEZ": "MEZ", "∅∅∅": "∅∅∅", "CLST": "CLST", "WAST": "WAST", "UYST": "UYST", "PST": "PST", "HKT": "HKT", "EDT": "EDT", "GFT": "GFT", "MDT": "MDT", "SRT": "SRT", "LHST": "LHST", "WESZ": "WESZ", "AEST": "AEST", "JDT": "JDT", "WAT": "WAT", "CAT": "CAT", "AST": "AST", "MYT": "MYT", "HNT": "HNT", "EAT": "EAT", "HENOMX": "HENOMX", "HNCU": "HNCU"}, } } @@ -177,13 +185,73 @@ func (ti *ti) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ti' and handles both Whole and Real numbers based on 'v' func (ti *ti) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, ti.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ti' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ti *ti) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ti.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ti' @@ -191,7 +259,7 @@ func (ti *ti) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -249,7 +317,7 @@ func (ti *ti) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -351,7 +419,12 @@ func (ti *ti) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, ti.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +442,12 @@ func (ti *ti) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -390,7 +468,13 @@ func (ti *ti) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe1, 0x88, 0x98, 0xe1, 0x8b, 0x93, 0xe1, 0x88, 0x8d, 0xe1, 0x89, 0xb2, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) if t.Year() < 0 { diff --git a/ti_ER/ti_ER.go b/ti_ER/ti_ER.go index a0de6f29d..e51268172 100644 --- a/ti_ER/ti_ER.go +++ b/ti_ER/ti_ER.go @@ -46,19 +46,27 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "ጥሪ", "ለካቲ", "መጋቢ", "ሚያዝ", "ግንቦ", "ሰነ", "ሓምለ", "ነሓሰ", "መስከ", "ጥቅም", "ሕዳር", "ታሕሳ"}, - monthsNarrow: []string{"", "ጃ", "ፌ", "ማ", "ኤ", "ሜ", "ጁ", "ጁ", "ኦ", "ሴ", "ኦ", "ኖ", "ዲ"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "Nfk", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "ጥሪ", "ለካ", "መጋ", "ሚያ", "ግን", "ሰነ", "ሓም", "ነሓ", "መስ", "ጥቅ", "ሕዳ", "ታሕ"}, + monthsNarrow: []string{"", "ጥ", "ለ", "መ", "ሚ", "ግ", "ሰ", "ሓ", "ነ", "መ", "ጥ", "ሕ", "ታ"}, monthsWide: []string{"", "ጥሪ", "ለካቲት", "መጋቢት", "ሚያዝያ", "ግንቦት", "ሰነ", "ሓምለ", "ነሓሰ", "መስከረም", "ጥቅምቲ", "ሕዳር", "ታሕሳስ"}, - daysNarrow: []string{"ሰ", "ሰ", "ሠ", "ረ", "ኃ", "ዓ", "ቀ"}, - daysWide: []string{"ሰንበት", "ሰኑይ", "ሰሉስ", "ረቡዕ", "ሓሙስ", "ዓርቢ", "ቀዳም"}, + daysAbbreviated: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, + daysNarrow: []string{"ሰ", "ሰ", "ሰ", "ረ", "ሓ", "ዓ", "ቀ"}, + daysShort: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, + daysWide: []string{"ሰንበት", "ሰኑይ", "ሠሉስ", "ረቡዕ", "ኃሙስ", "ዓርቢ", "ቀዳም"}, periodsAbbreviated: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, periodsWide: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, - erasAbbreviated: []string{"ዓ/ዓ", "ዓ/ም"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"OESZ": "OESZ", "HADT": "HADT", "UYST": "UYST", "WEZ": "WEZ", "WESZ": "WESZ", "WIB": "WIB", "AKDT": "AKDT", "EDT": "EDT", "TMST": "TMST", "UYT": "UYT", "CHAST": "CHAST", "PST": "PST", "EST": "EST", "BT": "BT", "CLT": "CLT", "ACWDT": "ACWDT", "AEST": "AEST", "ADT": "ADT", "NZDT": "NZDT", "WIT": "WIT", "HKST": "HKST", "MESZ": "MESZ", "HAST": "HAST", "WART": "WART", "WAT": "WAT", "CDT": "CDT", "MST": "MST", "CAT": "CAT", "HNT": "HNT", "OEZ": "OEZ", "COT": "COT", "WARST": "WARST", "∅∅∅": "∅∅∅", "HKT": "HKT", "PDT": "PDT", "AWST": "AWST", "VET": "VET", "ACWST": "ACWST", "TMT": "TMT", "AWDT": "AWDT", "LHST": "LHST", "IST": "IST", "MDT": "MDT", "LHDT": "LHDT", "GFT": "GFT", "SGT": "SGT", "AEDT": "AEDT", "AST": "AST", "AKST": "AKST", "GYT": "GYT", "HAT": "HAT", "GMT": "GMT", "JDT": "JDT", "MYT": "MYT", "NZST": "NZST", "EAT": "EAT", "WAST": "WAST", "CHADT": "CHADT", "ECT": "ECT", "WITA": "WITA", "BOT": "BOT", "SRT": "SRT", "ACDT": "ACDT", "CST": "CST", "ChST": "ChST", "MEZ": "MEZ", "ACST": "ACST", "COST": "COST", "ART": "ART", "ARST": "ARST", "SAST": "SAST", "CLST": "CLST", "JST": "JST"}, + timezones: map[string]string{"WEZ": "WEZ", "JST": "JST", "COST": "COST", "BOT": "BOT", "GMT": "GMT", "MDT": "MDT", "NZDT": "NZDT", "SAST": "SAST", "JDT": "JDT", "GFT": "GFT", "WART": "WART", "UYST": "UYST", "MST": "MST", "NZST": "NZST", "WAT": "WAT", "OESZ": "OESZ", "CDT": "CDT", "BT": "BT", "HNOG": "HNOG", "IST": "IST", "COT": "COT", "WIT": "WIT", "ACWST": "ACWST", "HKT": "HKT", "LHST": "LHST", "HAST": "HAST", "SRT": "SRT", "AEST": "AEST", "ACDT": "ACDT", "AWDT": "AWDT", "∅∅∅": "∅∅∅", "EAT": "EAT", "CST": "CST", "HADT": "HADT", "ART": "ART", "ARST": "ARST", "HEOG": "HEOG", "HECU": "HECU", "HNPMX": "HNPMX", "SGT": "SGT", "WIB": "WIB", "HNT": "HNT", "MESZ": "MESZ", "CLT": "CLT", "OEZ": "OEZ", "AST": "AST", "UYT": "UYT", "HEEG": "HEEG", "TMST": "TMST", "HNPM": "HNPM", "HEPM": "HEPM", "HNNOMX": "HNNOMX", "MYT": "MYT", "VET": "VET", "ACWDT": "ACWDT", "PDT": "PDT", "WITA": "WITA", "HAT": "HAT", "HNCU": "HNCU", "EST": "EST", "GYT": "GYT", "CHADT": "CHADT", "MEZ": "MEZ", "ChST": "ChST", "HENOMX": "HENOMX", "ACST": "ACST", "HEPMX": "HEPMX", "AKST": "AKST", "AKDT": "AKDT", "CHAST": "CHAST", "CLST": "CLST", "TMT": "TMT", "LHDT": "LHDT", "WAST": "WAST", "ECT": "ECT", "ADT": "ADT", "WESZ": "WESZ", "HKST": "HKST", "AEDT": "AEDT", "AWST": "AWST", "CAT": "CAT", "PST": "PST", "HNEG": "HNEG", "WARST": "WARST", "EDT": "EDT"}, } } @@ -177,13 +185,73 @@ func (ti *ti_ER) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ti_ER' and handles both Whole and Real numbers based on 'v' func (ti *ti_ER) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, ti.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ti_ER' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ti *ti_ER) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ti.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ti_ER' @@ -191,7 +259,7 @@ func (ti *ti_ER) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -249,7 +317,7 @@ func (ti *ti_ER) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -351,7 +419,12 @@ func (ti *ti_ER) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, ti.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +442,12 @@ func (ti *ti_ER) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -380,7 +458,7 @@ func (ti *ti_ER) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, ti.daysWide[t.Weekday()]...) - b = append(b, []byte{0xe1, 0x8d, 0xa1, 0x20}...) + b = append(b, []byte{0xe1, 0x8d, 0xa3, 0x20}...) if t.Day() < 10 { b = append(b, '0') @@ -390,7 +468,13 @@ func (ti *ti_ER) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe1, 0x88, 0x98, 0xe1, 0x8b, 0x93, 0xe1, 0x88, 0x8d, 0xe1, 0x89, 0xb2, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) if t.Year() < 0 { diff --git a/ti_ET/ti_ET.go b/ti_ET/ti_ET.go index c7a17875b..aca53b327 100644 --- a/ti_ET/ti_ET.go +++ b/ti_ET/ti_ET.go @@ -46,19 +46,27 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - monthsAbbreviated: []string{"", "ጃንዩ", "ፌብሩ", "ማርች", "ኤፕረ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክተ", "ኖቬም", "ዲሴም"}, - monthsNarrow: []string{"", "ጃ", "ፌ", "ማ", "ኤ", "ሜ", "ጁ", "ጁ", "ኦ", "ሴ", "ኦ", "ኖ", "ዲ"}, - monthsWide: []string{"", "ጃንዩወሪ", "ፌብሩወሪ", "ማርች", "ኤፕረል", "ሜይ", "ጁን", "ጁላይ", "ኦገስት", "ሴፕቴምበር", "ኦክተውበር", "ኖቬምበር", "ዲሴምበር"}, - daysNarrow: []string{"ሰ", "ሰ", "ሠ", "ረ", "ኃ", "ዓ", "ቀ"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "ጥሪ", "ለካ", "መጋ", "ሚያ", "ግን", "ሰነ", "ሓም", "ነሓ", "መስ", "ጥቅ", "ሕዳ", "ታሕ"}, + monthsNarrow: []string{"", "ጥ", "ለ", "መ", "ሚ", "ግ", "ሰ", "ሓ", "ነ", "መ", "ጥ", "ሕ", "ታ"}, + monthsWide: []string{"", "ጥሪ", "ለካቲት", "መጋቢት", "ሚያዝያ", "ግንቦት", "ሰነ", "ሓምለ", "ነሓሰ", "መስከረም", "ጥቅምቲ", "ሕዳር", "ታሕሳስ"}, + daysAbbreviated: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, + daysNarrow: []string{"ሰ", "ሰ", "ሰ", "ረ", "ሓ", "ዓ", "ቀ"}, + daysShort: []string{"ሰን", "ሰኑ", "ሰሉ", "ረቡ", "ሓሙ", "ዓር", "ቀዳ"}, daysWide: []string{"ሰንበት", "ሰኑይ", "ሠሉስ", "ረቡዕ", "ኃሙስ", "ዓርቢ", "ቀዳም"}, periodsAbbreviated: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, periodsWide: []string{"ንጉሆ ሰዓተ", "ድሕር ሰዓት"}, erasAbbreviated: []string{"ዓ/ዓ", "ዓ/ም"}, erasNarrow: []string{"", ""}, - erasWide: []string{"", ""}, - timezones: map[string]string{"HKT": "HKT", "AEDT": "AEDT", "EAT": "EAT", "OEZ": "OEZ", "ChST": "ChST", "WEZ": "WEZ", "ACDT": "ACDT", "HADT": "HADT", "AST": "AST", "WAT": "WAT", "CLT": "CLT", "WIB": "WIB", "CST": "CST", "CDT": "CDT", "NZDT": "NZDT", "NZST": "NZST", "CLST": "CLST", "ART": "ART", "ACWDT": "ACWDT", "GYT": "GYT", "AKDT": "AKDT", "BT": "BT", "LHST": "LHST", "UYT": "UYT", "SRT": "SRT", "MEZ": "MEZ", "IST": "IST", "EST": "EST", "WAST": "WAST", "ARST": "ARST", "ACST": "ACST", "GFT": "GFT", "CHADT": "CHADT", "WART": "WART", "∅∅∅": "∅∅∅", "JDT": "JDT", "TMST": "TMST", "MYT": "MYT", "AWDT": "AWDT", "LHDT": "LHDT", "OESZ": "OESZ", "MESZ": "MESZ", "PDT": "PDT", "MDT": "MDT", "HAT": "HAT", "TMT": "TMT", "MST": "MST", "CHAST": "CHAST", "ECT": "ECT", "ACWST": "ACWST", "AEST": "AEST", "AKST": "AKST", "JST": "JST", "GMT": "GMT", "COT": "COT", "COST": "COST", "VET": "VET", "BOT": "BOT", "WIT": "WIT", "CAT": "CAT", "HAST": "HAST", "ADT": "ADT", "AWST": "AWST", "HKST": "HKST", "SGT": "SGT", "PST": "PST", "WITA": "WITA", "HNT": "HNT", "UYST": "UYST", "WESZ": "WESZ", "WARST": "WARST", "EDT": "EDT", "SAST": "SAST"}, + erasWide: []string{"ዓ/ዓ", "ዓመተ ምህረት"}, + timezones: map[string]string{"CLST": "CLST", "ACST": "ACST", "EST": "EST", "WITA": "WITA", "CHAST": "CHAST", "MYT": "MYT", "AKDT": "AKDT", "VET": "VET", "SAST": "SAST", "MST": "MST", "AEDT": "AEDT", "MESZ": "MESZ", "CHADT": "CHADT", "ACDT": "ACDT", "CST": "CST", "CDT": "CDT", "SRT": "SRT", "HAT": "HAT", "NZST": "NZST", "GFT": "GFT", "TMT": "TMT", "COT": "COT", "AKST": "AKST", "AST": "AST", "PST": "PST", "HKST": "HKST", "WAST": "WAST", "UYT": "UYT", "ADT": "ADT", "JST": "JST", "EAT": "EAT", "BOT": "BOT", "COST": "COST", "MDT": "MDT", "HNPMX": "HNPMX", "ACWDT": "ACWDT", "CLT": "CLT", "ChST": "ChST", "CAT": "CAT", "HNT": "HNT", "∅∅∅": "∅∅∅", "ARST": "ARST", "AWST": "AWST", "NZDT": "NZDT", "WAT": "WAT", "GYT": "GYT", "BT": "BT", "HNOG": "HNOG", "HNPM": "HNPM", "ART": "ART", "HKT": "HKT", "OEZ": "OEZ", "HENOMX": "HENOMX", "WEZ": "WEZ", "HEEG": "HEEG", "JDT": "JDT", "OESZ": "OESZ", "HAST": "HAST", "HEOG": "HEOG", "ACWST": "ACWST", "HADT": "HADT", "AWDT": "AWDT", "IST": "IST", "LHST": "LHST", "HNNOMX": "HNNOMX", "GMT": "GMT", "SGT": "SGT", "HNCU": "HNCU", "HEPM": "HEPM", "MEZ": "MEZ", "WART": "WART", "EDT": "EDT", "HEPMX": "HEPMX", "WIB": "WIB", "WIT": "WIT", "WESZ": "WESZ", "AEST": "AEST", "HNEG": "HNEG", "TMST": "TMST", "ECT": "ECT", "WARST": "WARST", "HECU": "HECU", "UYST": "UYST", "PDT": "PDT", "LHDT": "LHDT"}, } } @@ -177,13 +185,73 @@ func (ti *ti_ET) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'ti_ET' and handles both Whole and Real numbers based on 'v' func (ti *ti_ET) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, ti.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'ti_ET' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (ti *ti_ET) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, ti.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, ti.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, ti.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ti_ET' @@ -191,7 +259,7 @@ func (ti *ti_ET) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -249,7 +317,7 @@ func (ti *ti_ET) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ti.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -351,7 +419,12 @@ func (ti *ti_ET) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, ti.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2d}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +442,12 @@ func (ti *ti_ET) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -390,7 +468,13 @@ func (ti *ti_ET) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ti.monthsWide[t.Month()]...) b = append(b, []byte{0x20, 0xe1, 0x88, 0x98, 0xe1, 0x8b, 0x93, 0xe1, 0x88, 0x8d, 0xe1, 0x89, 0xb2, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) if t.Year() < 0 { diff --git a/tk/tk.go b/tk/tk.go index ce05d76e1..c276a302a 100644 --- a/tk/tk.go +++ b/tk/tk.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -66,7 +66,7 @@ func New() locales.Translator { daysAbbreviated: []string{"ýb", "db", "sb", "çb", "pb", "an", "şb"}, daysNarrow: []string{"Ý", "D", "S", "Ç", "P", "A", "Ş"}, daysWide: []string{"ýekşenbe", "duşenbe", "sişenbe", "çarşenbe", "penşenbe", "anna", "şenbe"}, - timezones: map[string]string{"ECT": "Ekwador", "WAST": "Günbatar Afrika, tomusky wagt", "OEZ": "Gündogar Ýewropa, standart wagt", "ARST": "Argentina, tomusky wagt", "MEZ": "Merkezi Ýewropa, standart wagt", "PST": "Ýuwaş umman, standart wagt", "HAT": "Nýufaundlend, tomusky wagt", "GMT": "Grinwiç boýunça orta wagt", "HKST": "Gonkong, tomusky wagt", "WIT": "Gündogar Indoneziýa", "SRT": "Surinam", "COST": "Kolumbiýa, tomusky wagt", "AST": "Atlantika, standart wagt", "ADT": "Atlantika, tomusky wagt", "SAST": "Günorta Afrika, standart wagt", "MDT": "Daglyk ýeri, tomusky wagt (ABŞ)", "CHAST": "Çatem, standart wagt", "CHADT": "Çatem, tomusky wagt", "VET": "Wenesuela", "CDT": "Merkezi Amerika, tomusky wagt", "LHST": "Lord-Hau, standart wagt", "ACDT": "Merkezi Awstraliýa, tomusky wagt", "JST": "Ýaponiýa, standart wagt", "WEZ": "Günbatar Ýewropa, standart wagt", "WESZ": "Günbatar Ýewropa, tomusky wagt", "WIB": "Günbatar Indoneziýa", "AKDT": "Alýaska, tomusky wagt", "TMT": "Türkmenistan, standart wagt", "NZDT": "Täze Zelandiýa, tomusky wagt", "ChST": "Çamorro", "AWST": "Günbatar Awstraliýa, standart wagt", "GFT": "Fransuz Gwiana", "ACWST": "Merkezi Awstraliýa, günbatar tarap, standart wagt", "ART": "Argentina, standart wagt", "OESZ": "Gündogar Ýewropa, tomusky wagt", "HAST": "Gawaý-Aleut, standart wagt", "EST": "Günorta Amerika, standart wagt", "MYT": "Malaýziýa", "HNT": "Nýufaundlend, standart wagt", "UYST": "Urugwaý, tomusky wagt", "JDT": "Ýaponiýa, tomusky wagt", "WART": "Günbatar Argentina, standart wagt", "AEST": "Gündogar Awstraliýa, standart wagt", "EDT": "Günorta Amerika, tomusky wagt", "∅∅∅": "Azor adalary, tomusky wagt", "CLST": "Çili, tomusky wagt", "UYT": "Urugwaý, standart wagt", "MESZ": "Merkezi Ýewropa, tomusky wagt", "TMST": "Türkmenistan, tomusky wagt", "BOT": "Boliwiýa", "BT": "Butan", "AWDT": "Günbatar Awstraliýa, tomusky wagt", "EAT": "Gündogar Afrika", "WITA": "Merkezi Indoneziýa", "CST": "Merkezi Amerika, standart wagt", "ACWDT": "Merkezi Awstraliýa, günbatar tarap, tomusky wagt", "AKST": "Alýaska, standart wagt", "CAT": "Merkezi Afrika", "LHDT": "Lord-Hau, tomusky wagt", "COT": "Kolumbiýa, standart wagt", "SGT": "Singapur, standart wagt", "AEDT": "Gündogar Awstraliýa, tomusky wagt", "IST": "Hindistan", "GYT": "Gaýana", "NZST": "Täze Zelandiýa, standart wagt", "CLT": "Çili, standart wagt", "HADT": "Gawaý-Aleut, tomusky wagt", "PDT": "Ýuwaş umman, tomusky wagt", "WAT": "Günbatar Afrika, standart wagt", "MST": "Daglyk ýeri, standart wagt (ABŞ)", "ACST": "Merkezi Awstraliýa, standart wagt", "HKT": "Gonkong, standart wagt", "WARST": "Günbatar Argentina, tomusky wagt"}, + timezones: map[string]string{"UYST": "Urugwaý, tomusky wagt", "ART": "Argentina, standart wagt", "NZST": "Täze Zelandiýa, standart wagt", "ACDT": "Merkezi Awstraliýa, tomusky wagt", "OESZ": "Gündogar Ýewropa, tomusky wagt", "GFT": "Fransuz Gwiana", "HEPMX": "Meksikan Ýuwaş umman, tomusky wagt", "GYT": "Gaýana", "HADT": "Gawaý-Aleut, tomusky wagt", "BT": "Butan", "AEST": "Gündogar Awstraliýa, standart wagt", "AEDT": "Gündogar Awstraliýa, tomusky wagt", "NZDT": "Täze Zelandiýa, tomusky wagt", "WAST": "Günbatar Afrika, tomusky wagt", "UYT": "Urugwaý, standart wagt", "HNOG": "Günbatar Grenlandiýa, standart wagt", "ACWDT": "Merkezi Awstraliýa, günbatar tarap, tomusky wagt", "WARST": "Günbatar Argentina, tomusky wagt", "EDT": "Günorta Amerika, tomusky wagt", "PST": "Ýuwaş umman, standart wagt", "ACWST": "Merkezi Awstraliýa, günbatar tarap, standart wagt", "MEZ": "Merkezi Ýewropa, standart wagt", "LHST": "Lord-Hau, standart wagt", "CLT": "Çili, standart wagt", "COT": "Kolumbiýa, standart wagt", "WART": "Günbatar Argentina, standart wagt", "HNCU": "Kuba, standart wagt", "MYT": "Malaýziýa", "AKDT": "Alýaska, tomusky wagt", "WESZ": "Günbatar Ýewropa, tomusky wagt", "LHDT": "Lord-Hau, tomusky wagt", "TMT": "Türkmenistan, standart wagt", "CAT": "Merkezi Afrika", "GMT": "Grinwiç boýunça orta wagt", "CDT": "Merkezi Amerika, tomusky wagt", "HNT": "Nýufaundlend, standart wagt", "HAT": "Nýufaundlend, tomusky wagt", "MESZ": "Merkezi Ýewropa, tomusky wagt", "WAT": "Günbatar Afrika, standart wagt", "∅∅∅": "Azor adalary, tomusky wagt", "HEEG": "Gündogar Grenlandiýa, tomusky wagt", "HEOG": "Günbatar Grenlandiýa, tomusky wagt", "JST": "Ýaponiýa, standart wagt", "HECU": "Kuba, tomusky wagt", "HAST": "Gawaý-Aleut, standart wagt", "ARST": "Argentina, tomusky wagt", "WEZ": "Günbatar Ýewropa, standart wagt", "AWDT": "Günbatar Awstraliýa, tomusky wagt", "HNPM": "Sen Pýer we Mikelon, standart wagt", "HNPMX": "Meksikan Ýuwaş umman, standart wagt", "AKST": "Alýaska, standart wagt", "WITA": "Merkezi Indoneziýa", "JDT": "Ýaponiýa, tomusky wagt", "BOT": "Boliwiýa", "COST": "Kolumbiýa, tomusky wagt", "HNNOMX": "D.g.-G.b. Meksika, standart wagt", "CST": "Merkezi Amerika, standart wagt", "SRT": "Surinam", "HKT": "Gonkong, standart wagt", "CLST": "Çili, tomusky wagt", "SGT": "Singapur, standart wagt", "HKST": "Gonkong, tomusky wagt", "ChST": "Çamorro", "ACST": "Merkezi Awstraliýa, standart wagt", "EST": "Günorta Amerika, standart wagt", "HEPM": "Sen Pýer we Mikelon, tomusky wagt", "CHAST": "Çatem, standart wagt", "EAT": "Gündogar Afrika", "ADT": "Atlantika, tomusky wagt", "PDT": "Ýuwaş umman, tomusky wagt", "AWST": "Günbatar Awstraliýa, standart wagt", "CHADT": "Çatem, tomusky wagt", "IST": "Hindistan", "HNEG": "Gündogar Grenlandiýa, standart wagt", "ECT": "Ekwador", "HENOMX": "D.g.-G.b. Meksika, tomusky wagt", "MDT": "MDT", "AST": "Atlantika, standart wagt", "VET": "Wenesuela", "WIT": "Gündogar Indoneziýa", "SAST": "Günorta Afrika, standart wagt", "TMST": "Türkmenistan, tomusky wagt", "OEZ": "Gündogar Ýewropa, standart wagt", "MST": "MST", "WIB": "Günbatar Indoneziýa"}, } } @@ -403,7 +403,12 @@ func (tk *tk) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,7 +422,12 @@ func (tk *tk) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +441,12 @@ func (tk *tk) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +460,13 @@ func (tk *tk) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, tk.daysWide[t.Weekday()]...) diff --git a/tk_TM/tk_TM.go b/tk_TM/tk_TM.go index 128940f43..dca4c57b6 100644 --- a/tk_TM/tk_TM.go +++ b/tk_TM/tk_TM.go @@ -56,7 +56,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", @@ -66,7 +66,7 @@ func New() locales.Translator { daysAbbreviated: []string{"ýb", "db", "sb", "çb", "pb", "an", "şb"}, daysNarrow: []string{"Ý", "D", "S", "Ç", "P", "A", "Ş"}, daysWide: []string{"ýekşenbe", "duşenbe", "sişenbe", "çarşenbe", "penşenbe", "anna", "şenbe"}, - timezones: map[string]string{"LHDT": "Lord-Hau, tomusky wagt", "HKST": "Gonkong, tomusky wagt", "COST": "Kolumbiýa, tomusky wagt", "WIB": "Günbatar Indoneziýa", "WARST": "Günbatar Argentina, tomusky wagt", "EAT": "Gündogar Afrika", "AKST": "Alýaska, standart wagt", "MST": "Daglyk ýeri, standart wagt (ABŞ)", "MEZ": "Merkezi Ýewropa, standart wagt", "TMST": "Türkmenistan, tomusky wagt", "AWST": "Günbatar Awstraliýa, standart wagt", "CLST": "Çili, tomusky wagt", "OESZ": "Gündogar Ýewropa, tomusky wagt", "ACDT": "Merkezi Awstraliýa, tomusky wagt", "GYT": "Gaýana", "MYT": "Malaýziýa", "NZDT": "Täze Zelandiýa, tomusky wagt", "BOT": "Boliwiýa", "CAT": "Merkezi Afrika", "CHAST": "Çatem, standart wagt", "ACWST": "Merkezi Awstraliýa, günbatar tarap, standart wagt", "PST": "Ýuwaş umman, standart wagt", "JST": "Ýaponiýa, standart wagt", "EST": "Günorta Amerika, standart wagt", "CDT": "Merkezi Amerika, tomusky wagt", "NZST": "Täze Zelandiýa, standart wagt", "AWDT": "Günbatar Awstraliýa, tomusky wagt", "OEZ": "Gündogar Ýewropa, standart wagt", "ACST": "Merkezi Awstraliýa, standart wagt", "COT": "Kolumbiýa, standart wagt", "PDT": "Ýuwaş umman, tomusky wagt", "UYST": "Urugwaý, tomusky wagt", "HKT": "Gonkong, standart wagt", "CHADT": "Çatem, tomusky wagt", "SGT": "Singapur, standart wagt", "ChST": "Çamorro", "JDT": "Ýaponiýa, tomusky wagt", "WEZ": "Günbatar Ýewropa, standart wagt", "WESZ": "Günbatar Ýewropa, tomusky wagt", "AKDT": "Alýaska, tomusky wagt", "ADT": "Atlantika, tomusky wagt", "UYT": "Urugwaý, standart wagt", "VET": "Wenesuela", "WITA": "Merkezi Indoneziýa", "TMT": "Türkmenistan, standart wagt", "HNT": "Nýufaundlend, standart wagt", "ECT": "Ekwador", "HADT": "Gawaý-Aleut, tomusky wagt", "ACWDT": "Merkezi Awstraliýa, günbatar tarap, tomusky wagt", "AEDT": "Gündogar Awstraliýa, tomusky wagt", "∅∅∅": "Azor adalary, tomusky wagt", "IST": "Hindistan", "BT": "Butan", "HAT": "Nýufaundlend, tomusky wagt", "SAST": "Günorta Afrika, standart wagt", "WAST": "Günbatar Afrika, tomusky wagt", "MDT": "Daglyk ýeri, tomusky wagt (ABŞ)", "GFT": "Fransuz Gwiana", "ARST": "Argentina, tomusky wagt", "WAT": "Günbatar Afrika, standart wagt", "AST": "Atlantika, standart wagt", "CST": "Merkezi Amerika, standart wagt", "WIT": "Gündogar Indoneziýa", "GMT": "Grinwiç boýunça orta wagt", "SRT": "Surinam", "WART": "Günbatar Argentina, standart wagt", "CLT": "Çili, standart wagt", "LHST": "Lord-Hau, standart wagt", "MESZ": "Merkezi Ýewropa, tomusky wagt", "HAST": "Gawaý-Aleut, standart wagt", "AEST": "Gündogar Awstraliýa, standart wagt", "ART": "Argentina, standart wagt", "EDT": "Günorta Amerika, tomusky wagt"}, + timezones: map[string]string{"NZST": "Täze Zelandiýa, standart wagt", "∅∅∅": "Amazonka, tomusky wagt", "WIB": "Günbatar Indoneziýa", "ACWST": "Merkezi Awstraliýa, günbatar tarap, standart wagt", "AEDT": "Gündogar Awstraliýa, tomusky wagt", "WAST": "Günbatar Afrika, tomusky wagt", "WART": "Günbatar Argentina, standart wagt", "SGT": "Singapur, standart wagt", "HNPMX": "Meksikan Ýuwaş umman, standart wagt", "AEST": "Gündogar Awstraliýa, standart wagt", "HKT": "Gonkong, standart wagt", "ChST": "Çamorro", "OESZ": "Gündogar Ýewropa, tomusky wagt", "HEPMX": "Meksikan Ýuwaş umman, tomusky wagt", "ARST": "Argentina, tomusky wagt", "AWST": "Günbatar Awstraliýa, standart wagt", "MESZ": "Merkezi Ýewropa, tomusky wagt", "JST": "Ýaponiýa, standart wagt", "HENOMX": "D.g.-G.b. Meksika, tomusky wagt", "ADT": "Atlantika, tomusky wagt", "HEOG": "Günbatar Grenlandiýa, tomusky wagt", "PDT": "Ýuwaş umman, tomusky wagt", "HEPM": "Sen Pýer we Mikelon, tomusky wagt", "EAT": "Gündogar Afrika", "HNCU": "Kuba, standart wagt", "MDT": "MDT", "UYT": "Urugwaý, standart wagt", "AST": "Atlantika, standart wagt", "WIT": "Gündogar Indoneziýa", "NZDT": "Täze Zelandiýa, tomusky wagt", "HECU": "Kuba, tomusky wagt", "WESZ": "Günbatar Ýewropa, tomusky wagt", "MEZ": "Merkezi Ýewropa, standart wagt", "LHST": "Lord-Hau, standart wagt", "IST": "Hindistan", "GFT": "Fransuz Gwiana", "ACDT": "Merkezi Awstraliýa, tomusky wagt", "CDT": "Merkezi Amerika, tomusky wagt", "EDT": "Günorta Amerika, tomusky wagt", "BT": "Butan", "LHDT": "Lord-Hau, tomusky wagt", "CHAST": "Çatem, standart wagt", "CLST": "Çili, tomusky wagt", "COT": "Kolumbiýa, standart wagt", "COST": "Kolumbiýa, tomusky wagt", "EST": "Günorta Amerika, standart wagt", "WITA": "Merkezi Indoneziýa", "ACST": "Merkezi Awstraliýa, standart wagt", "WARST": "Günbatar Argentina, tomusky wagt", "AKST": "Alýaska, standart wagt", "HNPM": "Sen Pýer we Mikelon, standart wagt", "WEZ": "Günbatar Ýewropa, standart wagt", "HNT": "Nýufaundlend, standart wagt", "CHADT": "Çatem, tomusky wagt", "CLT": "Çili, standart wagt", "BOT": "Boliwiýa", "CAT": "Merkezi Afrika", "CST": "Merkezi Amerika, standart wagt", "HAST": "Gawaý-Aleut, standart wagt", "ART": "Argentina, standart wagt", "TMT": "Türkmenistan, standart wagt", "GMT": "Grinwiç boýunça orta wagt", "HNOG": "Günbatar Grenlandiýa, standart wagt", "AWDT": "Günbatar Awstraliýa, tomusky wagt", "HKST": "Gonkong, tomusky wagt", "SAST": "Günorta Afrika, standart wagt", "UYST": "Urugwaý, tomusky wagt", "VET": "Wenesuela", "PST": "Ýuwaş umman, standart wagt", "ACWDT": "Merkezi Awstraliýa, günbatar tarap, tomusky wagt", "JDT": "Ýaponiýa, tomusky wagt", "HEEG": "Gündogar Grenlandiýa, tomusky wagt", "WAT": "Günbatar Afrika, standart wagt", "MYT": "Malaýziýa", "TMST": "Türkmenistan, tomusky wagt", "GYT": "Gaýana", "HADT": "Gawaý-Aleut, tomusky wagt", "HNEG": "Gündogar Grenlandiýa, standart wagt", "OEZ": "Gündogar Ýewropa, standart wagt", "SRT": "Surinam", "HAT": "Nýufaundlend, tomusky wagt", "ECT": "Ekwador", "HNNOMX": "D.g.-G.b. Meksika, standart wagt", "MST": "MST", "AKDT": "Alýaska, tomusky wagt"}, } } @@ -403,7 +403,12 @@ func (tk *tk_TM) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -417,7 +422,12 @@ func (tk *tk_TM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -431,7 +441,12 @@ func (tk *tk_TM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +460,13 @@ func (tk *tk_TM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, tk.daysWide[t.Weekday()]...) diff --git a/to/to.go b/to/to.go index edb5a8ab2..a49f35025 100644 --- a/to/to.go +++ b/to/to.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "TRY", "TTD", "$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "₾", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "T$", "TPE", "TRL", "TRY", "TTD", "$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Sān", "Fēp", "Maʻa", "ʻEpe", "Mē", "Sun", "Siu", "ʻAok", "Sep", "ʻOka", "Nōv", "Tīs"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"Sāpate", "Mōnite", "Tūsite", "Pulelulu", "Tuʻapulelulu", "Falaite", "Tokonaki"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsWide: []string{"hengihengi", "efiafi"}, erasAbbreviated: []string{"KM", "TS"}, erasNarrow: []string{"", ""}, erasWide: []string{"ki muʻa", "taʻu ʻo Sīsū"}, - timezones: map[string]string{"COST": "houa fakakolomipia taimi liliu", "VET": "houa fakavenesuela", "ACDT": "houa fakaʻaositelēlia-loto taimi liliu", "ARST": "houa fakaʻasenitina taimi liliu", "PDT": "houa fakaʻamelika-tokelau pasifika taimi liliu", "HKT": "houa fakahongi-kongi taimi totonu", "GFT": "houa fakakuiana-fakafalanisē", "AEST": "houa fakaʻaositelēlia-hahake taimi totonu", "AKDT": "houa fakaʻalasika taimi liliu", "MST": "houa fakaʻamelika-tokelau moʻunga taimi totonu", "LHST": "houa fakamotuʻeikihoue taimi totonu", "WAST": "houa fakaʻafelika-hihifo taimi liliu", "CHADT": "houa fakasatihami taimi liliu", "OEZ": "houa fakaʻeulope-hahake taimi totonu", "OESZ": "houa fakaʻeulope-hahake taimi liliu", "WITA": "houa fakaʻinitonisia-loto", "CST": "houa fakaʻamelika-tokelau loto taimi totonu", "CLST": "houa fakasili taimi liliu", "LHDT": "houa fakamotuʻeikihoue taimi liliu", "∅∅∅": "houa fakapalāsila taimi liliu", "AEDT": "houa fakaʻaositelēlia-hahake taimi liliu", "AWDT": "houa fakaʻaositelēlia-hihifo taimi liliu", "CAT": "houa fakaʻafelika-loto", "ART": "houa fakaʻasenitina taimi totonu", "WAT": "houa fakaʻafelika-hihifo taimi totonu", "EDT": "houa fakaʻamelika-tokelau hahake taimi liliu", "ADT": "houa fakaʻamelika-tokelau ʻatalanitiki taimi liliu", "TMT": "houa fakatūkimenisitani taimi totonu", "NZST": "houa fakanuʻusila taimi totonu", "UYT": "houa fakaʻulukuai taimi totonu", "WIB": "houa fakaʻinitonisia-hihifo", "ECT": "houa fakaʻekuetoa", "TMST": "houa fakatūkimenisitani taimi liliu", "AWST": "houa fakaʻaositelēlia-hihifo taimi totonu", "JST": "houa fakasiapani taimi totonu", "IST": "houa fakaʻinitia", "MDT": "houa fakaʻamelika-tokelau moʻunga taimi liliu", "JDT": "houa fakasiapani taimi liliu", "HAST": "houa fakahauaʻi taimi totonu", "EAT": "houa fakaʻafelika-hahake", "CHAST": "houa fakasatihami taimi totonu", "MESZ": "houa fakaʻeulope-loto taimi liliu", "WART": "houa fakaʻasenitina-hihifo taimi totonu", "HADT": "houa fakahauaʻi taimi liliu", "AST": "houa fakaʻamelika-tokelau ʻatalanitiki taimi totonu", "SAST": "houa fakaʻafelika-tonga", "WEZ": "houa fakaʻeulope-hihifo taimi totonu", "WESZ": "houa fakaʻeulope-hihifo taimi liliu", "PST": "houa fakaʻamelika-tokelau pasifika taimi totonu", "UYST": "houa fakaʻulukuai taimi liliu", "COT": "houa fakakolomipia taimi totonu", "WIT": "houa fakaʻinitonisia-hahake", "HKST": "houa fakahongi-kongi taimi liliu", "MEZ": "houa fakaʻeulope-loto taimi totonu", "ACST": "houa fakaʻaositelēlia-loto taimi totonu", "ACWST": "houa fakaʻaositelēlia-loto-hihifo taimi totonu", "NZDT": "houa fakanuʻusila taimi liliu", "HAT": "houa fakafonuaʻilofoʻou taimi liliu", "CLT": "houa fakasili taimi totonu", "CDT": "houa fakaʻamelika-tokelau loto taimi liliu", "BOT": "houa fakapolīvia", "BT": "houa fakapūtani", "GMT": "houa fakakiliniuisi mālie", "ACWDT": "houa fakaʻaositelēlia-loto-hihifo taimi liliu", "EST": "houa fakaʻamelika-tokelau hahake taimi totonu", "GYT": "houa fakakuiana", "SRT": "houa fakasuliname", "SGT": "houa fakasingapoa", "AKST": "houa fakaʻalasika taimi totonu", "MYT": "houa fakamaleisia", "ChST": "houa fakakamolo", "HNT": "houa fakafonuaʻilofoʻou taimi totonu", "WARST": "houa fakaʻasenitina-hihifo taimi liliu"}, + timezones: map[string]string{"EDT": "houa fakaʻamelika-tokelau hahake taimi liliu", "UYT": "houa fakaʻulukuai taimi totonu", "WESZ": "houa fakaʻeulope-hihifo taimi liliu", "WITA": "houa fakaʻinitonisia-loto", "CHADT": "houa fakasatihami taimi liliu", "WIT": "houa fakaʻinitonisia-hahake", "GFT": "houa fakakuiana-fakafalanisē", "TMST": "houa fakatūkimenisitani taimi liliu", "ChST": "houa fakakamolo", "COT": "houa fakakolomipia taimi totonu", "HNPMX": "houa fakamekisikou-pasifika taimi totonu", "ACWDT": "houa fakaʻaositelēlia-loto-hihifo taimi liliu", "CLT": "houa fakasili taimi totonu", "ACDT": "houa fakaʻaositelēlia-loto taimi liliu", "WAT": "houa fakaʻafelika-hihifo taimi totonu", "CDT": "houa fakaʻamelika-tokelau loto taimi liliu", "AST": "houa fakaʻamelika-tokelau ʻatalanitiki taimi totonu", "UYST": "houa fakaʻulukuai taimi liliu", "AWDT": "houa fakaʻaositelēlia-hihifo taimi liliu", "∅∅∅": "houa fakaʻamasōne taimi liliu", "ECT": "houa fakaʻekuetoa", "AWST": "houa fakaʻaositelēlia-hihifo taimi totonu", "SAST": "houa fakaʻafelika-tonga", "HNEG": "houa fakafonuamata-hahake taimi totonu", "ACST": "houa fakaʻaositelēlia-loto taimi totonu", "WAST": "houa fakaʻafelika-hihifo taimi liliu", "HENOMX": "houa fakamekisikou-tokelauhihifo taimi liliu", "MST": "houa fakamakau taimi totonu", "JST": "houa fakasiapani taimi totonu", "EAT": "houa fakaʻafelika-hahake", "HEPMX": "houa fakamekisikou-pasifika taimi liliu", "HNT": "houa fakafonuaʻilofoʻou taimi totonu", "ART": "houa fakaʻasenitina taimi totonu", "NZST": "houa fakanuʻusila taimi totonu", "GMT": "houa fakakiliniuisi mālie", "WARST": "houa fakaʻasenitina-hihifo taimi liliu", "SGT": "houa fakasingapoa", "ARST": "houa fakaʻasenitina taimi liliu", "NZDT": "houa fakanuʻusila taimi liliu", "CLST": "houa fakasili taimi liliu", "BOT": "houa fakapolīvia", "HNNOMX": "houa fakamekisikou-tokelauhihifo taimi totonu", "HAST": "houa fakahauaʻi taimi totonu", "HNPM": "houa fakasā-piea-mo-mikeloni taimi totonu", "CHAST": "houa fakasatihami taimi totonu", "LHST": "houa fakamotuʻeikihoue taimi totonu", "LHDT": "houa fakamotuʻeikihoue taimi liliu", "MEZ": "houa fakaʻeulope-loto taimi totonu", "TMT": "houa fakatūkimenisitani taimi totonu", "EST": "houa fakaʻamelika-tokelau hahake taimi totonu", "VET": "houa fakavenesuela", "SRT": "houa fakasuliname", "PDT": "houa fakaʻamelika-tokelau pasifika taimi liliu", "HEPM": "houa fakasā-piea-mo-mikeloni taimi liliu", "CAT": "houa fakaʻafelika-loto", "WART": "houa fakaʻasenitina-hihifo taimi totonu", "ADT": "houa fakaʻamelika-tokelau ʻatalanitiki taimi liliu", "GYT": "houa fakakuiana", "ACWST": "houa fakaʻaositelēlia-loto-hihifo taimi totonu", "HEOG": "houa fakafonuamata-hihifo taimi liliu", "MESZ": "houa fakaʻeulope-loto taimi liliu", "CST": "houa fakaʻamelika-tokelau loto taimi totonu", "BT": "houa fakapūtani", "PST": "houa fakaʻamelika-tokelau pasifika taimi totonu", "HEEG": "houa fakafonuamata-hahake taimi liliu", "MYT": "houa fakamaleisia", "HADT": "houa fakahauaʻi taimi liliu", "HAT": "houa fakafonuaʻilofoʻou taimi liliu", "HNOG": "houa fakafonuamata-hihifo taimi totonu", "HKT": "houa fakahongi-kongi taimi totonu", "AEDT": "houa fakaʻaositelēlia-hahake taimi liliu", "IST": "houa fakaʻinitia", "OEZ": "houa fakaʻeulope-hahake taimi totonu", "AKST": "houa fakaʻalasika taimi totonu", "AKDT": "houa fakaʻalasika taimi liliu", "WIB": "houa fakaʻinitonisia-hihifo", "HKST": "houa fakahongi-kongi taimi liliu", "AEST": "houa fakaʻaositelēlia-hahake taimi totonu", "HNCU": "houa fakakiupa taimi totonu", "HECU": "houa fakakiupa taimi liliu", "MDT": "houa fakamakau taimi liliu", "WEZ": "houa fakaʻeulope-hihifo taimi totonu", "JDT": "houa fakasiapani taimi liliu", "OESZ": "houa fakaʻeulope-hahake taimi liliu", "COST": "houa fakakolomipia taimi liliu"}, } } @@ -415,7 +415,12 @@ func (to *to) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (to *to) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (to *to) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/to_TO/to_TO.go b/to_TO/to_TO.go index 85313bbc8..59639ed48 100644 --- a/to_TO/to_TO.go +++ b/to_TO/to_TO.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "Sān", "Fēp", "Maʻa", "ʻEpe", "Mē", "Sun", "Siu", "ʻAok", "Sep", "ʻOka", "Nōv", "Tīs"}, @@ -67,11 +67,11 @@ func New() locales.Translator { daysWide: []string{"Sāpate", "Mōnite", "Tūsite", "Pulelulu", "Tuʻapulelulu", "Falaite", "Tokonaki"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"AM", "PM"}, - periodsWide: []string{"AM", "PM"}, + periodsWide: []string{"hengihengi", "efiafi"}, erasAbbreviated: []string{"KM", "TS"}, erasNarrow: []string{"", ""}, erasWide: []string{"ki muʻa", "taʻu ʻo Sīsū"}, - timezones: map[string]string{"ADT": "houa fakaʻamelika-tokelau ʻatalanitiki taimi liliu", "HNT": "houa fakafonuaʻilofoʻou taimi totonu", "LHDT": "houa fakamotuʻeikihoue taimi liliu", "OESZ": "houa fakaʻeulope-hahake taimi liliu", "COT": "houa fakakolomipia taimi totonu", "ACWST": "houa fakaʻaositelēlia-loto-hihifo taimi totonu", "AEDT": "houa fakaʻaositelēlia-hahake taimi liliu", "PDT": "houa fakaʻamelika-tokelau pasifika taimi liliu", "MDT": "houa fakaʻamelika-tokelau moʻunga taimi liliu", "ChST": "houa fakakamolo", "CHAST": "houa fakasatihami taimi totonu", "AWDT": "houa fakaʻaositelēlia-hihifo taimi liliu", "EDT": "houa fakaʻamelika-tokelau hahake taimi liliu", "OEZ": "houa fakaʻeulope-hahake taimi totonu", "WESZ": "houa fakaʻeulope-hihifo taimi liliu", "HADT": "houa fakahauaʻi taimi liliu", "HAT": "houa fakafonuaʻilofoʻou taimi liliu", "JDT": "houa fakasiapani taimi liliu", "SRT": "houa fakasuliname", "ECT": "houa fakaʻekuetoa", "ACWDT": "houa fakaʻaositelēlia-loto-hihifo taimi liliu", "SAST": "houa fakaʻafelika-tonga", "EST": "houa fakaʻamelika-tokelau hahake taimi totonu", "NZDT": "houa fakanuʻusila taimi liliu", "CLT": "houa fakasili taimi totonu", "ART": "houa fakaʻasenitina taimi totonu", "PST": "houa fakaʻamelika-tokelau pasifika taimi totonu", "BT": "houa fakapūtani", "HAST": "houa fakahauaʻi taimi totonu", "HKT": "houa fakahongi-kongi taimi totonu", "WIB": "houa fakaʻinitonisia-hihifo", "WEZ": "houa fakaʻeulope-hihifo taimi totonu", "ACST": "houa fakaʻaositelēlia-loto taimi totonu", "ACDT": "houa fakaʻaositelēlia-loto taimi liliu", "SGT": "houa fakasingapoa", "WARST": "houa fakaʻasenitina-hihifo taimi liliu", "WAST": "houa fakaʻafelika-hihifo taimi liliu", "GMT": "houa fakakiliniuisi mālie", "AKDT": "houa fakaʻalasika taimi liliu", "CDT": "houa fakaʻamelika-tokelau loto taimi liliu", "JST": "houa fakasiapani taimi totonu", "VET": "houa fakavenesuela", "AKST": "houa fakaʻalasika taimi totonu", "∅∅∅": "houa fakaʻāsolesi taimi liliu", "GFT": "houa fakakuiana-fakafalanisē", "ARST": "houa fakaʻasenitina taimi liliu", "IST": "houa fakaʻinitia", "TMT": "houa fakatūkimenisitani taimi totonu", "BOT": "houa fakapolīvia", "CLST": "houa fakasili taimi liliu", "HKST": "houa fakahongi-kongi taimi liliu", "MEZ": "houa fakaʻeulope-loto taimi totonu", "AEST": "houa fakaʻaositelēlia-hahake taimi totonu", "WITA": "houa fakaʻinitonisia-loto", "CST": "houa fakaʻamelika-tokelau loto taimi totonu", "MST": "houa fakaʻamelika-tokelau moʻunga taimi totonu", "CAT": "houa fakaʻafelika-loto", "UYT": "houa fakaʻulukuai taimi totonu", "CHADT": "houa fakasatihami taimi liliu", "MESZ": "houa fakaʻeulope-loto taimi liliu", "WART": "houa fakaʻasenitina-hihifo taimi totonu", "AST": "houa fakaʻamelika-tokelau ʻatalanitiki taimi totonu", "MYT": "houa fakamaleisia", "NZST": "houa fakanuʻusila taimi totonu", "WIT": "houa fakaʻinitonisia-hahake", "LHST": "houa fakamotuʻeikihoue taimi totonu", "UYST": "houa fakaʻulukuai taimi liliu", "COST": "houa fakakolomipia taimi liliu", "EAT": "houa fakaʻafelika-hahake", "WAT": "houa fakaʻafelika-hihifo taimi totonu", "TMST": "houa fakatūkimenisitani taimi liliu", "GYT": "houa fakakuiana", "AWST": "houa fakaʻaositelēlia-hihifo taimi totonu"}, + timezones: map[string]string{"VET": "houa fakavenesuela", "ARST": "houa fakaʻasenitina taimi liliu", "AEDT": "houa fakaʻaositelēlia-hahake taimi liliu", "AWST": "houa fakaʻaositelēlia-hihifo taimi totonu", "HEPM": "houa fakasā-piea-mo-mikeloni taimi liliu", "∅∅∅": "houa fakaʻāsolesi taimi liliu", "HNNOMX": "houa fakamekisikou-tokelauhihifo taimi totonu", "HNPMX": "houa fakamekisikou-pasifika taimi totonu", "BT": "houa fakapūtani", "AEST": "houa fakaʻaositelēlia-hahake taimi totonu", "HKT": "houa fakahongi-kongi taimi totonu", "GFT": "houa fakakuiana-fakafalanisē", "WARST": "houa fakaʻasenitina-hihifo taimi liliu", "HNT": "houa fakafonuaʻilofoʻou taimi totonu", "AWDT": "houa fakaʻaositelēlia-hihifo taimi liliu", "HNEG": "houa fakafonuamata-hahake taimi totonu", "WIT": "houa fakaʻinitonisia-hahake", "EDT": "houa fakaʻamelika-tokelau hahake taimi liliu", "AKST": "houa fakaʻalasika taimi totonu", "WIB": "houa fakaʻinitonisia-hihifo", "ACWDT": "houa fakaʻaositelēlia-loto-hihifo taimi liliu", "MESZ": "houa fakaʻeulope-loto taimi liliu", "IST": "houa fakaʻinitia", "GMT": "houa fakakiliniuisi mālie", "CLST": "houa fakasili taimi liliu", "HEOG": "houa fakafonuamata-hihifo taimi liliu", "SGT": "houa fakasingapoa", "MST": "houa fakamakau taimi totonu", "ADT": "houa fakaʻamelika-tokelau ʻatalanitiki taimi liliu", "HAST": "houa fakahauaʻi taimi totonu", "WESZ": "houa fakaʻeulope-hihifo taimi liliu", "ACDT": "houa fakaʻaositelēlia-loto taimi liliu", "COST": "houa fakakolomipia taimi liliu", "SRT": "houa fakasuliname", "HEEG": "houa fakafonuamata-hahake taimi liliu", "TMT": "houa fakatūkimenisitani taimi totonu", "UYST": "houa fakaʻulukuai taimi liliu", "MEZ": "houa fakaʻeulope-loto taimi totonu", "JST": "houa fakasiapani taimi totonu", "ChST": "houa fakakamolo", "TMST": "houa fakatūkimenisitani taimi liliu", "HNPM": "houa fakasā-piea-mo-mikeloni taimi totonu", "AKDT": "houa fakaʻalasika taimi liliu", "ART": "houa fakaʻasenitina taimi totonu", "HKST": "houa fakahongi-kongi taimi liliu", "LHDT": "houa fakamotuʻeikihoue taimi liliu", "WAT": "houa fakaʻafelika-hihifo taimi totonu", "MDT": "houa fakamakau taimi liliu", "CST": "houa fakaʻamelika-tokelau loto taimi totonu", "CDT": "houa fakaʻamelika-tokelau loto taimi liliu", "AST": "houa fakaʻamelika-tokelau ʻatalanitiki taimi totonu", "HAT": "houa fakafonuaʻilofoʻou taimi liliu", "HNOG": "houa fakafonuamata-hihifo taimi totonu", "NZST": "houa fakanuʻusila taimi totonu", "CHADT": "houa fakasatihami taimi liliu", "HNCU": "houa fakakiupa taimi totonu", "OESZ": "houa fakaʻeulope-hahake taimi liliu", "CAT": "houa fakaʻafelika-loto", "JDT": "houa fakasiapani taimi liliu", "NZDT": "houa fakanuʻusila taimi liliu", "HADT": "houa fakahauaʻi taimi liliu", "PDT": "houa fakaʻamelika-tokelau pasifika taimi liliu", "WITA": "houa fakaʻinitonisia-loto", "LHST": "houa fakamotuʻeikihoue taimi totonu", "CHAST": "houa fakasatihami taimi totonu", "MYT": "houa fakamaleisia", "HECU": "houa fakakiupa taimi liliu", "WEZ": "houa fakaʻeulope-hihifo taimi totonu", "CLT": "houa fakasili taimi totonu", "WART": "houa fakaʻasenitina-hihifo taimi totonu", "GYT": "houa fakakuiana", "PST": "houa fakaʻamelika-tokelau pasifika taimi totonu", "OEZ": "houa fakaʻeulope-hahake taimi totonu", "ECT": "houa fakaʻekuetoa", "HENOMX": "houa fakamekisikou-tokelauhihifo taimi liliu", "EST": "houa fakaʻamelika-tokelau hahake taimi totonu", "UYT": "houa fakaʻulukuai taimi totonu", "ACWST": "houa fakaʻaositelēlia-loto-hihifo taimi totonu", "SAST": "houa fakaʻafelika-tonga", "BOT": "houa fakapolīvia", "WAST": "houa fakaʻafelika-hihifo taimi liliu", "COT": "houa fakakolomipia taimi totonu", "ACST": "houa fakaʻaositelēlia-loto taimi totonu", "EAT": "houa fakaʻafelika-hahake", "HEPMX": "houa fakamekisikou-pasifika taimi liliu"}, } } @@ -415,7 +415,12 @@ func (to *to_TO) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -429,7 +434,12 @@ func (to *to_TO) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -445,7 +455,12 @@ func (to *to_TO) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, to.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/tr/tr.go b/tr/tr.go index ee1b7e813..e10e0c3ad 100644 --- a/tr/tr.go +++ b/tr/tr.go @@ -22,7 +22,6 @@ type tr struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositiveSuffix string currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string @@ -56,10 +55,9 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositiveSuffix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "₺", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", - currencyNegativeSuffix: " )", + currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"}, monthsNarrow: []string{"", "O", "Ş", "M", "N", "M", "H", "T", "A", "E", "E", "K", "A"}, monthsWide: []string{"", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"}, @@ -73,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MÖ", "MS"}, erasNarrow: []string{"", ""}, erasWide: []string{"Milattan Önce", "Milattan Sonra"}, - timezones: map[string]string{"WARST": "Batı Arjantin Yaz Saati", "AKDT": "Alaska Yaz Saati", "WITA": "Orta Endonezya Saati", "NZST": "Yeni Zelanda Standart Saati", "CLT": "Şili Standart Saati", "SRT": "Surinam Saati", "ACWST": "İçbatı Avustralya Standart Saati", "TMT": "Türkmenistan Standart Saati", "BT": "Bhutan Saati", "EAT": "Doğu Afrika Saati", "UYST": "Uruguay Yaz Saati", "MEZ": "Orta Avrupa Standart Saati", "ACST": "Orta Avustralya Standart Saati", "ACDT": "Orta Avustralya Yaz Saati", "SAST": "Güney Afrika Standart Saati", "TMST": "Türkmenistan Yaz Saati", "GMT": "Greenwich Ortalama Saati", "ARST": "Arjantin Yaz Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "WEZ": "Batı Avrupa Standart Saati", "VET": "Venezuela Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati", "IST": "Hindistan Standart Saati", "WIT": "Doğu Endonezya Saati", "OEZ": "Doğu Avrupa Standart Saati", "CHAST": "Chatham Standart Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "AWST": "Batı Avustralya Standart Saati", "OESZ": "Doğu Avrupa Yaz Saati", "HKT": "Hong Kong Standart Saati", "WIB": "Batı Endonezya Saati", "COT": "Kolombiya Standart Saati", "WART": "Batı Arjantin Standart Saati", "GYT": "Guyana Saati", "ChST": "Chamorro Saati", "LHST": "Lord Howe Standart Saati", "LHDT": "Lord Howe Yaz Saati", "JST": "Japonya Standart Saati", "ECT": "Ekvador Saati", "ACWDT": "İçbatı Avustralya Yaz Saati", "AEDT": "Doğu Avustralya Yaz Saati", "ADT": "Atlantik Yaz Saati", "AKST": "Alaska Standart Saati", "BOT": "Bolivya Saati", "AWDT": "Batı Avustralya Yaz Saati", "CLST": "Şili Yaz Saati", "WESZ": "Batı Avrupa Yaz Saati", "HAST": "Hawaii-Aleut Standart Saati", "HADT": "Hawaii-Aleut Yaz Saati", "NZDT": "Yeni Zelanda Yaz Saati", "HNT": "Newfoundland Standart Saati", "HAT": "Newfoundland Yaz Saati", "MDT": "Kuzey Amerika Dağ Yaz Saati", "CHADT": "Chatham Yaz Saati", "MESZ": "Orta Avrupa Yaz Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "MYT": "Malezya Saati", "JDT": "Japonya Yaz Saati", "GFT": "Fransız Guyanası Saati", "AST": "Atlantik Standart Saati", "WAT": "Batı Afrika Standart Saati", "WAST": "Batı Afrika Yaz Saati", "UYT": "Uruguay Standart Saati", "ART": "Arjantin Standart Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "MST": "Kuzey Amerika Dağ Standart Saati", "HKST": "Hong Kong Yaz Saati", "SGT": "Singapur Standart Saati", "COST": "Kolombiya Yaz Saati", "AEST": "Doğu Avustralya Standart Saati", "∅∅∅": "Peru Yaz Saati", "CAT": "Orta Afrika Saati"}, + timezones: map[string]string{"MST": "Makao Standart Saati", "WESZ": "Batı Avrupa Yaz Saati", "HNEG": "Doğu Grönland Standart Saati", "COT": "Kolombiya Standart Saati", "ADT": "Atlantik Yaz Saati", "NZDT": "Yeni Zelanda Yaz Saati", "TMT": "Türkmenistan Standart Saati", "ACDT": "Orta Avustralya Yaz Saati", "MDT": "Makao Yaz Saati", "UYST": "Uruguay Yaz Saati", "HKT": "Hong Kong Standart Saati", "MEZ": "Orta Avrupa Standart Saati", "JDT": "Japonya Yaz Saati", "WAST": "Batı Afrika Yaz Saati", "HNNOMX": "Kuzeybatı Meksika Standart Saati", "WIT": "Doğu Endonezya Saati", "LHST": "Lord Howe Standart Saati", "JST": "Japonya Standart Saati", "GMT": "Greenwich Ortalama Saati", "WIB": "Batı Endonezya Saati", "ACWST": "İçbatı Avustralya Standart Saati", "ARST": "Arjantin Yaz Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati", "HNPM": "Saint Pierre ve Miquelon Standart Saati", "NZST": "Yeni Zelanda Standart Saati", "WARST": "Batı Arjantin Yaz Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "CLST": "Şili Yaz Saati", "MYT": "Malezya Saati", "HEOG": "Batı Grönland Yaz Saati", "HKST": "Hong Kong Yaz Saati", "AWST": "Batı Avustralya Standart Saati", "CLT": "Şili Standart Saati", "GFT": "Fransız Guyanası Saati", "BOT": "Bolivya Saati", "HAST": "Hawaii-Aleut Standart Saati", "BT": "Bhutan Saati", "ACWDT": "İçbatı Avustralya Yaz Saati", "ChST": "Chamorro Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "SRT": "Surinam Saati", "CHADT": "Chatham Yaz Saati", "OESZ": "Doğu Avrupa Yaz Saati", "HNPMX": "Meksika Pasifik Kıyısı Standart Saati", "AKDT": "Alaska Yaz Saati", "ECT": "Ekvador Saati", "WART": "Batı Arjantin Standart Saati", "TMST": "Türkmenistan Yaz Saati", "AKST": "Alaska Standart Saati", "HADT": "Hawaii-Aleut Yaz Saati", "VET": "Venezuela Saati", "HAT": "Newfoundland Yaz Saati", "HNOG": "Batı Grönland Standart Saati", "WITA": "Orta Endonezya Saati", "CAT": "Orta Afrika Saati", "HEPMX": "Meksika Pasifik Kıyısı Yaz Saati", "AST": "Atlantik Standart Saati", "AEDT": "Doğu Avustralya Yaz Saati", "CHAST": "Chatham Standart Saati", "MESZ": "Orta Avrupa Yaz Saati", "SAST": "Güney Afrika Standart Saati", "ACST": "Orta Avustralya Standart Saati", "COST": "Kolombiya Yaz Saati", "HENOMX": "Kuzeybatı Meksika Yaz Saati", "HNT": "Newfoundland Standart Saati", "WEZ": "Batı Avrupa Standart Saati", "AWDT": "Batı Avustralya Yaz Saati", "HEEG": "Doğu Grönland Yaz Saati", "∅∅∅": "Peru Yaz Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "AEST": "Doğu Avustralya Standart Saati", "HEPM": "Saint Pierre ve Miquelon Yaz Saati", "OEZ": "Doğu Avrupa Standart Saati", "EAT": "Doğu Afrika Saati", "HECU": "Küba Yaz Saati", "SGT": "Singapur Standart Saati", "GYT": "Guyana Saati", "UYT": "Uruguay Standart Saati", "ART": "Arjantin Standart Saati", "LHDT": "Lord Howe Yaz Saati", "WAT": "Batı Afrika Standart Saati", "HNCU": "Küba Standart Saati", "IST": "Hindistan Standart Saati"}, } } @@ -290,7 +288,7 @@ func (tr *tr) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -315,6 +313,10 @@ func (tr *tr) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + if num < 0 { b = append(b, tr.minus[0]) } @@ -335,10 +337,6 @@ func (tr *tr) FmtCurrency(num float64, v uint64, currency currency.Type) string } } - b = append(b, tr.currencyPositiveSuffix...) - - b = append(b, symbol...) - return string(b) } @@ -348,7 +346,7 @@ func (tr *tr) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -375,8 +373,18 @@ func (tr *tr) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + b = append(b, tr.currencyNegativePrefix[0]) + } else { + + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + } // reverse @@ -397,11 +405,6 @@ func (tr *tr) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { b = append(b, tr.currencyNegativeSuffix...) - b = append(b, symbol...) - } else { - - b = append(b, tr.currencyPositiveSuffix...) - b = append(b, symbol...) } return string(b) @@ -422,7 +425,12 @@ func (tr *tr) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +444,12 @@ func (tr *tr) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +463,12 @@ func (tr *tr) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +482,13 @@ func (tr *tr) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, tr.daysWide[t.Weekday()]...) diff --git a/tr_CY/tr_CY.go b/tr_CY/tr_CY.go index bd4d677cf..5e16bc6c5 100644 --- a/tr_CY/tr_CY.go +++ b/tr_CY/tr_CY.go @@ -22,7 +22,6 @@ type tr_CY struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositiveSuffix string currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string @@ -56,10 +55,9 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositiveSuffix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", - currencyNegativeSuffix: " )", + currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"}, monthsNarrow: []string{"", "O", "Ş", "M", "N", "M", "H", "T", "A", "E", "E", "K", "A"}, monthsWide: []string{"", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"}, @@ -73,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MÖ", "MS"}, erasNarrow: []string{"", ""}, erasWide: []string{"Milattan Önce", "Milattan Sonra"}, - timezones: map[string]string{"WIB": "Batı Endonezya Saati", "COT": "Kolombiya Standart Saati", "AST": "Atlantik Standart Saati", "TMST": "Türkmenistan Yaz Saati", "MST": "Kuzey Amerika Dağ Standart Saati", "COST": "Kolombiya Yaz Saati", "HADT": "Hawaii-Aleut Yaz Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "BT": "Bhutan Saati", "AWST": "Batı Avustralya Standart Saati", "UYT": "Uruguay Standart Saati", "∅∅∅": "Amazon Yaz Saati", "CHADT": "Chatham Yaz Saati", "NZST": "Yeni Zelanda Standart Saati", "ChST": "Chamorro Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati", "WAST": "Batı Afrika Yaz Saati", "AKDT": "Alaska Yaz Saati", "MDT": "Kuzey Amerika Dağ Yaz Saati", "MYT": "Malezya Saati", "GMT": "Greenwich Ortalama Saati", "SRT": "Surinam Saati", "ACWST": "İçbatı Avustralya Standart Saati", "SAST": "Güney Afrika Standart Saati", "CAT": "Orta Afrika Saati", "AWDT": "Batı Avustralya Yaz Saati", "OEZ": "Doğu Avrupa Standart Saati", "AEST": "Doğu Avustralya Standart Saati", "ADT": "Atlantik Yaz Saati", "AKST": "Alaska Standart Saati", "JDT": "Japonya Yaz Saati", "WEZ": "Batı Avrupa Standart Saati", "HAST": "Hawaii-Aleut Standart Saati", "WART": "Batı Arjantin Standart Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "CLT": "Şili Standart Saati", "UYST": "Uruguay Yaz Saati", "GFT": "Fransız Guyanası Saati", "EAT": "Doğu Afrika Saati", "GYT": "Guyana Saati", "CLST": "Şili Yaz Saati", "WARST": "Batı Arjantin Yaz Saati", "WITA": "Orta Endonezya Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "OESZ": "Doğu Avrupa Yaz Saati", "MEZ": "Orta Avrupa Standart Saati", "SGT": "Singapur Standart Saati", "AEDT": "Doğu Avustralya Yaz Saati", "ART": "Arjantin Standart Saati", "LHDT": "Lord Howe Yaz Saati", "ECT": "Ekvador Saati", "HKST": "Hong Kong Yaz Saati", "IST": "Hindistan Standart Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "BOT": "Bolivya Saati", "WESZ": "Batı Avrupa Yaz Saati", "TMT": "Türkmenistan Standart Saati", "WAT": "Batı Afrika Standart Saati", "JST": "Japonya Standart Saati", "HKT": "Hong Kong Standart Saati", "CHAST": "Chatham Standart Saati", "MESZ": "Orta Avrupa Yaz Saati", "ACST": "Orta Avustralya Standart Saati", "HAT": "Newfoundland Yaz Saati", "VET": "Venezuela Saati", "ARST": "Arjantin Yaz Saati", "NZDT": "Yeni Zelanda Yaz Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "WIT": "Doğu Endonezya Saati", "HNT": "Newfoundland Standart Saati", "LHST": "Lord Howe Standart Saati", "ACDT": "Orta Avustralya Yaz Saati", "ACWDT": "İçbatı Avustralya Yaz Saati"}, + timezones: map[string]string{"HNCU": "Küba Standart Saati", "WIB": "Batı Endonezya Saati", "AEDT": "Doğu Avustralya Yaz Saati", "SAST": "Güney Afrika Standart Saati", "COST": "Kolombiya Yaz Saati", "HNNOMX": "Kuzeybatı Meksika Standart Saati", "HEOG": "Batı Grönland Yaz Saati", "GFT": "Fransız Guyanası Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "HADT": "Hawaii-Aleut Yaz Saati", "NZST": "Yeni Zelanda Standart Saati", "NZDT": "Yeni Zelanda Yaz Saati", "IST": "Hindistan Standart Saati", "HNEG": "Doğu Grönland Standart Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "WESZ": "Batı Avrupa Yaz Saati", "HAT": "Newfoundland Yaz Saati", "AWST": "Batı Avustralya Standart Saati", "ACST": "Orta Avustralya Standart Saati", "WARST": "Batı Arjantin Yaz Saati", "SGT": "Singapur Standart Saati", "MST": "Makao Standart Saati", "TMST": "Türkmenistan Yaz Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "AKST": "Alaska Standart Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "HNPM": "Saint Pierre ve Miquelon Standart Saati", "∅∅∅": "Amazon Yaz Saati", "JDT": "Japonya Yaz Saati", "BOT": "Bolivya Saati", "AWDT": "Batı Avustralya Yaz Saati", "ChST": "Chamorro Saati", "HENOMX": "Kuzeybatı Meksika Yaz Saati", "HECU": "Küba Yaz Saati", "HEEG": "Doğu Grönland Yaz Saati", "WAST": "Batı Afrika Yaz Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "WIT": "Doğu Endonezya Saati", "GMT": "Greenwich Ortalama Saati", "UYT": "Uruguay Standart Saati", "SRT": "Surinam Saati", "ARST": "Arjantin Yaz Saati", "HEPM": "Saint Pierre ve Miquelon Yaz Saati", "LHST": "Lord Howe Standart Saati", "LHDT": "Lord Howe Yaz Saati", "OESZ": "Doğu Avrupa Yaz Saati", "HKT": "Hong Kong Standart Saati", "ECT": "Ekvador Saati", "AKDT": "Alaska Yaz Saati", "ACWST": "İçbatı Avustralya Standart Saati", "AEST": "Doğu Avustralya Standart Saati", "HNOG": "Batı Grönland Standart Saati", "MESZ": "Orta Avrupa Yaz Saati", "UYST": "Uruguay Yaz Saati", "VET": "Venezuela Saati", "ART": "Arjantin Standart Saati", "HNPMX": "Meksika Pasifik Kıyısı Standart Saati", "GYT": "Guyana Saati", "HKST": "Hong Kong Yaz Saati", "HNT": "Newfoundland Standart Saati", "CHADT": "Chatham Yaz Saati", "TMT": "Türkmenistan Standart Saati", "EAT": "Doğu Afrika Saati", "WART": "Batı Arjantin Standart Saati", "WAT": "Batı Afrika Standart Saati", "MDT": "Makao Yaz Saati", "HEPMX": "Meksika Pasifik Kıyısı Yaz Saati", "AST": "Atlantik Standart Saati", "CHAST": "Chatham Standart Saati", "CLT": "Şili Standart Saati", "JST": "Japonya Standart Saati", "ACDT": "Orta Avustralya Yaz Saati", "ADT": "Atlantik Yaz Saati", "CLST": "Şili Yaz Saati", "WEZ": "Batı Avrupa Standart Saati", "ACWDT": "İçbatı Avustralya Yaz Saati", "WITA": "Orta Endonezya Saati", "MEZ": "Orta Avrupa Standart Saati", "OEZ": "Doğu Avrupa Standart Saati", "HAST": "Hawaii-Aleut Standart Saati", "BT": "Bhutan Saati", "CAT": "Orta Afrika Saati", "COT": "Kolombiya Standart Saati", "MYT": "Malezya Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati"}, } } @@ -290,7 +288,7 @@ func (tr *tr_CY) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -315,6 +313,10 @@ func (tr *tr_CY) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + if num < 0 { b = append(b, tr.minus[0]) } @@ -335,10 +337,6 @@ func (tr *tr_CY) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } - b = append(b, tr.currencyPositiveSuffix...) - - b = append(b, symbol...) - return string(b) } @@ -348,7 +346,7 @@ func (tr *tr_CY) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -375,8 +373,18 @@ func (tr *tr_CY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + b = append(b, tr.currencyNegativePrefix[0]) + } else { + + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + } // reverse @@ -397,11 +405,6 @@ func (tr *tr_CY) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, tr.currencyNegativeSuffix...) - b = append(b, symbol...) - } else { - - b = append(b, tr.currencyPositiveSuffix...) - b = append(b, symbol...) } return string(b) @@ -422,7 +425,12 @@ func (tr *tr_CY) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +444,12 @@ func (tr *tr_CY) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +463,12 @@ func (tr *tr_CY) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +482,13 @@ func (tr *tr_CY) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, tr.daysWide[t.Weekday()]...) diff --git a/tr_TR/tr_TR.go b/tr_TR/tr_TR.go index a1ea41372..47645b39f 100644 --- a/tr_TR/tr_TR.go +++ b/tr_TR/tr_TR.go @@ -22,7 +22,6 @@ type tr_TR struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositiveSuffix string currencyNegativePrefix string currencyNegativeSuffix string monthsAbbreviated []string @@ -56,10 +55,9 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositiveSuffix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", - currencyNegativeSuffix: " )", + currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"}, monthsNarrow: []string{"", "O", "Ş", "M", "N", "M", "H", "T", "A", "E", "E", "K", "A"}, monthsWide: []string{"", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"}, @@ -73,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"MÖ", "MS"}, erasNarrow: []string{"", ""}, erasWide: []string{"Milattan Önce", "Milattan Sonra"}, - timezones: map[string]string{"AST": "Atlantik Standart Saati", "WIB": "Batı Endonezya Saati", "TMST": "Türkmenistan Yaz Saati", "MYT": "Malezya Saati", "OEZ": "Doğu Avrupa Standart Saati", "CHAST": "Chatham Standart Saati", "MESZ": "Orta Avrupa Yaz Saati", "ECT": "Ekvador Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "MDT": "Kuzey Amerika Dağ Yaz Saati", "AWST": "Batı Avustralya Standart Saati", "UYST": "Uruguay Yaz Saati", "OESZ": "Doğu Avrupa Yaz Saati", "CHADT": "Chatham Yaz Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati", "VET": "Venezuela Saati", "CAT": "Orta Afrika Saati", "UYT": "Uruguay Standart Saati", "AEDT": "Doğu Avustralya Yaz Saati", "LHDT": "Lord Howe Yaz Saati", "EAT": "Doğu Afrika Saati", "SAST": "Güney Afrika Standart Saati", "IST": "Hindistan Standart Saati", "AKST": "Alaska Standart Saati", "∅∅∅": "Peru Yaz Saati", "AWDT": "Batı Avustralya Yaz Saati", "GMT": "Greenwich Ortalama Saati", "MEZ": "Orta Avrupa Standart Saati", "HADT": "Hawaii-Aleut Yaz Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "MST": "Kuzey Amerika Dağ Standart Saati", "BT": "Bhutan Saati", "HAT": "Newfoundland Yaz Saati", "LHST": "Lord Howe Standart Saati", "SRT": "Surinam Saati", "BOT": "Bolivya Saati", "CLT": "Şili Standart Saati", "CLST": "Şili Yaz Saati", "HAST": "Hawaii-Aleut Standart Saati", "ART": "Arjantin Standart Saati", "WAST": "Batı Afrika Yaz Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "ACST": "Orta Avustralya Standart Saati", "WAT": "Batı Afrika Standart Saati", "AKDT": "Alaska Yaz Saati", "WITA": "Orta Endonezya Saati", "NZDT": "Yeni Zelanda Yaz Saati", "ChST": "Chamorro Saati", "WEZ": "Batı Avrupa Standart Saati", "GFT": "Fransız Guyanası Saati", "ADT": "Atlantik Yaz Saati", "WIT": "Doğu Endonezya Saati", "HKST": "Hong Kong Yaz Saati", "COT": "Kolombiya Standart Saati", "ACWDT": "İçbatı Avustralya Yaz Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "GYT": "Guyana Saati", "NZST": "Yeni Zelanda Standart Saati", "ACDT": "Orta Avustralya Yaz Saati", "COST": "Kolombiya Yaz Saati", "ACWST": "İçbatı Avustralya Standart Saati", "ARST": "Arjantin Yaz Saati", "WARST": "Batı Arjantin Yaz Saati", "HKT": "Hong Kong Standart Saati", "AEST": "Doğu Avustralya Standart Saati", "TMT": "Türkmenistan Standart Saati", "JST": "Japonya Standart Saati", "JDT": "Japonya Yaz Saati", "WART": "Batı Arjantin Standart Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "HNT": "Newfoundland Standart Saati", "WESZ": "Batı Avrupa Yaz Saati", "SGT": "Singapur Standart Saati"}, + timezones: map[string]string{"WARST": "Batı Arjantin Yaz Saati", "EDT": "Kuzey Amerika Doğu Yaz Saati", "UYST": "Uruguay Yaz Saati", "WITA": "Orta Endonezya Saati", "ACDT": "Orta Avustralya Yaz Saati", "HKT": "Hong Kong Standart Saati", "HEPM": "Saint Pierre ve Miquelon Yaz Saati", "IST": "Hindistan Standart Saati", "JDT": "Japonya Yaz Saati", "TMT": "Türkmenistan Standart Saati", "CAT": "Orta Afrika Saati", "PST": "Kuzey Amerika Pasifik Standart Saati", "CHADT": "Chatham Yaz Saati", "JST": "Japonya Standart Saati", "HNEG": "Doğu Grönland Standart Saati", "MYT": "Malezya Saati", "ACWDT": "İçbatı Avustralya Yaz Saati", "ARST": "Arjantin Yaz Saati", "MEZ": "Orta Avrupa Standart Saati", "CLT": "Şili Standart Saati", "WAT": "Batı Afrika Standart Saati", "HNPMX": "Meksika Pasifik Kıyısı Standart Saati", "HEPMX": "Meksika Pasifik Kıyısı Yaz Saati", "HNPM": "Saint Pierre ve Miquelon Standart Saati", "AEDT": "Doğu Avustralya Yaz Saati", "EAT": "Doğu Afrika Saati", "COT": "Kolombiya Standart Saati", "HECU": "Küba Yaz Saati", "PDT": "Kuzey Amerika Pasifik Yaz Saati", "ACWST": "İçbatı Avustralya Standart Saati", "WAST": "Batı Afrika Yaz Saati", "SGT": "Singapur Standart Saati", "LHDT": "Lord Howe Yaz Saati", "HKST": "Hong Kong Yaz Saati", "SAST": "Güney Afrika Standart Saati", "TMST": "Türkmenistan Yaz Saati", "EST": "Kuzey Amerika Doğu Standart Saati", "MDT": "Makao Yaz Saati", "WIB": "Batı Endonezya Saati", "HAST": "Hawaii-Aleut Standart Saati", "HNOG": "Batı Grönland Standart Saati", "OEZ": "Doğu Avrupa Standart Saati", "GMT": "Greenwich Ortalama Saati", "HNCU": "Küba Standart Saati", "SRT": "Surinam Saati", "NZST": "Yeni Zelanda Standart Saati", "AWST": "Batı Avustralya Standart Saati", "ACST": "Orta Avustralya Standart Saati", "COST": "Kolombiya Yaz Saati", "MST": "Makao Standart Saati", "UYT": "Uruguay Standart Saati", "HADT": "Hawaii-Aleut Yaz Saati", "WIT": "Doğu Endonezya Saati", "CLST": "Şili Yaz Saati", "HEEG": "Doğu Grönland Yaz Saati", "∅∅∅": "Peru Yaz Saati", "AKDT": "Alaska Yaz Saati", "ADT": "Atlantik Yaz Saati", "HAT": "Newfoundland Yaz Saati", "ART": "Arjantin Standart Saati", "WART": "Batı Arjantin Standart Saati", "HENOMX": "Kuzeybatı Meksika Yaz Saati", "CDT": "Kuzey Amerika Merkezi Yaz Saati", "LHST": "Lord Howe Standart Saati", "CST": "Kuzey Amerika Merkezi Standart Saati", "WEZ": "Batı Avrupa Standart Saati", "WESZ": "Batı Avrupa Yaz Saati", "HNT": "Newfoundland Standart Saati", "AWDT": "Batı Avustralya Yaz Saati", "ChST": "Chamorro Saati", "GFT": "Fransız Guyanası Saati", "HNNOMX": "Kuzeybatı Meksika Standart Saati", "VET": "Venezuela Saati", "HEOG": "Batı Grönland Yaz Saati", "AEST": "Doğu Avustralya Standart Saati", "MESZ": "Orta Avrupa Yaz Saati", "OESZ": "Doğu Avrupa Yaz Saati", "CHAST": "Chatham Standart Saati", "BOT": "Bolivya Saati", "NZDT": "Yeni Zelanda Yaz Saati", "ECT": "Ekvador Saati", "GYT": "Guyana Saati", "AKST": "Alaska Standart Saati", "AST": "Atlantik Standart Saati", "BT": "Bhutan Saati"}, } } @@ -290,7 +288,7 @@ func (tr *tr_TR) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -315,6 +313,10 @@ func (tr *tr_TR) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, s[i]) } + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + if num < 0 { b = append(b, tr.minus[0]) } @@ -335,10 +337,6 @@ func (tr *tr_TR) FmtCurrency(num float64, v uint64, currency currency.Type) stri } } - b = append(b, tr.currencyPositiveSuffix...) - - b = append(b, symbol...) - return string(b) } @@ -348,7 +346,7 @@ func (tr *tr_TR) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := tr.currencies[currency] - l := len(s) + len(symbol) + 6 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -375,8 +373,18 @@ func (tr *tr_TR) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + b = append(b, tr.currencyNegativePrefix[0]) + } else { + + for j := len(symbol) - 1; j >= 0; j-- { + b = append(b, symbol[j]) + } + } // reverse @@ -397,11 +405,6 @@ func (tr *tr_TR) FmtAccounting(num float64, v uint64, currency currency.Type) st if num < 0 { b = append(b, tr.currencyNegativeSuffix...) - b = append(b, symbol...) - } else { - - b = append(b, tr.currencyPositiveSuffix...) - b = append(b, symbol...) } return string(b) @@ -422,7 +425,12 @@ func (tr *tr_TR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2e}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -436,7 +444,12 @@ func (tr *tr_TR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -450,7 +463,12 @@ func (tr *tr_TR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -464,7 +482,13 @@ func (tr *tr_TR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tr.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, tr.daysWide[t.Weekday()]...) diff --git a/twq/twq.go b/twq/twq.go index 9a1c58b87..870ecd350 100644 --- a/twq/twq.go +++ b/twq/twq.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"BOT": "BOT", "HAST": "HAST", "WIT": "WIT", "GFT": "GFT", "OEZ": "OEZ", "WESZ": "WESZ", "ACDT": "ACDT", "EST": "EST", "UYT": "UYT", "HKT": "HKT", "VET": "VET", "WARST": "WARST", "AEST": "AEST", "IST": "IST", "PDT": "PDT", "CDT": "CDT", "AWDT": "AWDT", "ART": "ART", "ARST": "ARST", "HADT": "HADT", "AST": "AST", "ADT": "ADT", "GYT": "GYT", "HAT": "HAT", "AWST": "AWST", "JDT": "JDT", "LHDT": "LHDT", "CLT": "CLT", "WAT": "WAT", "EAT": "EAT", "WAST": "WAST", "TMT": "TMT", "CST": "CST", "MDT": "MDT", "SRT": "SRT", "OESZ": "OESZ", "MEZ": "MEZ", "WEZ": "WEZ", "COST": "COST", "ACST": "ACST", "MYT": "MYT", "∅∅∅": "∅∅∅", "NZST": "NZST", "ChST": "ChST", "CAT": "CAT", "PST": "PST", "ECT": "ECT", "WIB": "WIB", "AEDT": "AEDT", "TMST": "TMST", "MST": "MST", "CLST": "CLST", "WART": "WART", "EDT": "EDT", "CHAST": "CHAST", "ACWST": "ACWST", "COT": "COT", "AKST": "AKST", "SAST": "SAST", "ACWDT": "ACWDT", "WITA": "WITA", "NZDT": "NZDT", "HNT": "HNT", "BT": "BT", "CHADT": "CHADT", "SGT": "SGT", "JST": "JST", "LHST": "LHST", "MESZ": "MESZ", "AKDT": "AKDT", "GMT": "GMT", "UYST": "UYST", "HKST": "HKST"}, + timezones: map[string]string{"LHDT": "LHDT", "TMT": "TMT", "WARST": "WARST", "SGT": "SGT", "EST": "EST", "WIT": "WIT", "HAT": "HAT", "HNPM": "HNPM", "NZST": "NZST", "BOT": "BOT", "GFT": "GFT", "OESZ": "OESZ", "CDT": "CDT", "GYT": "GYT", "ART": "ART", "HNOG": "HNOG", "HEOG": "HEOG", "WITA": "WITA", "LHST": "LHST", "WAST": "WAST", "HNNOMX": "HNNOMX", "WEZ": "WEZ", "HNT": "HNT", "AWST": "AWST", "∅∅∅": "∅∅∅", "BT": "BT", "PDT": "PDT", "ACWDT": "ACWDT", "CLT": "CLT", "TMST": "TMST", "ADT": "ADT", "HAST": "HAST", "VET": "VET", "WESZ": "WESZ", "JDT": "JDT", "ChST": "ChST", "GMT": "GMT", "HNPMX": "HNPMX", "AST": "AST", "PST": "PST", "ACDT": "ACDT", "HNCU": "HNCU", "HADT": "HADT", "SRT": "SRT", "MEZ": "MEZ", "NZDT": "NZDT", "CHAST": "CHAST", "AKDT": "AKDT", "HEPM": "HEPM", "MESZ": "MESZ", "JST": "JST", "CAT": "CAT", "MDT": "MDT", "AWDT": "AWDT", "SAST": "SAST", "ARST": "ARST", "HKST": "HKST", "WART": "WART", "HENOMX": "HENOMX", "CST": "CST", "MYT": "MYT", "UYT": "UYT", "HKT": "HKT", "WAT": "WAT", "OEZ": "OEZ", "COT": "COT", "COST": "COST", "CHADT": "CHADT", "EAT": "EAT", "EDT": "EDT", "HEEG": "HEEG", "HECU": "HECU", "HEPMX": "HEPMX", "IST": "IST", "CLST": "CLST", "WIB": "WIB", "HNEG": "HNEG", "ACST": "ACST", "ECT": "ECT", "MST": "MST", "AKST": "AKST", "UYST": "UYST", "ACWST": "ACWST", "AEST": "AEST", "AEDT": "AEDT"}, } } @@ -375,7 +375,12 @@ func (twq *twq) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (twq *twq) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (twq *twq) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (twq *twq) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/twq_NE/twq_NE.go b/twq_NE/twq_NE.go index ce3c9783f..d54a15a82 100644 --- a/twq_NE/twq_NE.go +++ b/twq_NE/twq_NE.go @@ -49,7 +49,7 @@ func New() locales.Translator { decimal: ".", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Žan", "Fee", "Mar", "Awi", "Me", "Žuw", "Žuy", "Ut", "Sek", "Okt", "Noo", "Dee"}, monthsNarrow: []string{"", "Ž", "F", "M", "A", "M", "Ž", "Ž", "U", "S", "O", "N", "D"}, monthsWide: []string{"", "Žanwiye", "Feewiriye", "Marsi", "Awiril", "Me", "Žuweŋ", "Žuyye", "Ut", "Sektanbur", "Oktoobur", "Noowanbur", "Deesanbur"}, @@ -61,7 +61,7 @@ func New() locales.Translator { erasAbbreviated: []string{"IJ", "IZ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Isaa jine", "Isaa zamanoo"}, - timezones: map[string]string{"ACDT": "ACDT", "PDT": "PDT", "BOT": "BOT", "UYST": "UYST", "AST": "AST", "EAT": "EAT", "TMT": "TMT", "∅∅∅": "∅∅∅", "GFT": "GFT", "SRT": "SRT", "WESZ": "WESZ", "HADT": "HADT", "CDT": "CDT", "ChST": "ChST", "CHADT": "CHADT", "ACST": "ACST", "WART": "WART", "ACWST": "ACWST", "CLST": "CLST", "HKT": "HKT", "HAST": "HAST", "IST": "IST", "HAT": "HAT", "AWDT": "AWDT", "OEZ": "OEZ", "MEZ": "MEZ", "AEST": "AEST", "EST": "EST", "WITA": "WITA", "SAST": "SAST", "MYT": "MYT", "CLT": "CLT", "OESZ": "OESZ", "ART": "ART", "ARST": "ARST", "WARST": "WARST", "AEDT": "AEDT", "WIT": "WIT", "AWST": "AWST", "VET": "VET", "ADT": "ADT", "CAT": "CAT", "JST": "JST", "ACWDT": "ACWDT", "EDT": "EDT", "GYT": "GYT", "LHST": "LHST", "WEZ": "WEZ", "AKST": "AKST", "MDT": "MDT", "HKST": "HKST", "MESZ": "MESZ", "ECT": "ECT", "HNT": "HNT", "GMT": "GMT", "CST": "CST", "MST": "MST", "WIB": "WIB", "SGT": "SGT", "PST": "PST", "WAT": "WAT", "WAST": "WAST", "CHAST": "CHAST", "AKDT": "AKDT", "NZST": "NZST", "JDT": "JDT", "LHDT": "LHDT", "TMST": "TMST", "NZDT": "NZDT", "BT": "BT", "COT": "COT", "COST": "COST", "UYT": "UYT"}, + timezones: map[string]string{"EAT": "EAT", "EDT": "EDT", "ACWDT": "ACWDT", "HEOG": "HEOG", "HNPM": "HNPM", "MEZ": "MEZ", "LHDT": "LHDT", "TMST": "TMST", "BOT": "BOT", "MYT": "MYT", "ART": "ART", "AEST": "AEST", "CAT": "CAT", "ADT": "ADT", "GYT": "GYT", "HNOG": "HNOG", "GFT": "GFT", "OEZ": "OEZ", "CDT": "CDT", "LHST": "LHST", "JDT": "JDT", "CHADT": "CHADT", "TMT": "TMT", "ChST": "ChST", "AKDT": "AKDT", "UYST": "UYST", "WITA": "WITA", "HNT": "HNT", "PST": "PST", "AEDT": "AEDT", "WAST": "WAST", "EST": "EST", "BT": "BT", "SRT": "SRT", "PDT": "PDT", "ACDT": "ACDT", "COST": "COST", "AST": "AST", "HAST": "HAST", "MST": "MST", "MESZ": "MESZ", "SAST": "SAST", "CLST": "CLST", "HNEG": "HNEG", "WARST": "WARST", "GMT": "GMT", "SGT": "SGT", "HKT": "HKT", "AWST": "AWST", "HNCU": "HNCU", "∅∅∅": "∅∅∅", "VET": "VET", "WART": "WART", "COT": "COT", "HNPMX": "HNPMX", "NZST": "NZST", "ACWST": "ACWST", "WEZ": "WEZ", "HKST": "HKST", "HEPM": "HEPM", "ACST": "ACST", "ECT": "ECT", "HECU": "HECU", "CST": "CST", "WESZ": "WESZ", "HENOMX": "HENOMX", "MDT": "MDT", "HAT": "HAT", "WIB": "WIB", "CHAST": "CHAST", "JST": "JST", "AWDT": "AWDT", "CLT": "CLT", "HEEG": "HEEG", "WAT": "WAT", "OESZ": "OESZ", "UYT": "UYT", "HADT": "HADT", "ARST": "ARST", "WIT": "WIT", "NZDT": "NZDT", "IST": "IST", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "AKST": "AKST"}, } } @@ -375,7 +375,12 @@ func (twq *twq_NE) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -389,7 +394,12 @@ func (twq *twq_NE) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -403,7 +413,12 @@ func (twq *twq_NE) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -419,7 +434,12 @@ func (twq *twq_NE) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, twq.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/tzm/tzm.go b/tzm/tzm.go index eeeb5d8a6..78ea5cd2d 100644 --- a/tzm/tzm.go +++ b/tzm/tzm.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Yen", "Yeb", "Mar", "Ibr", "May", "Yun", "Yul", "Ɣuc", "Cut", "Kṭu", "Nwa", "Duj"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ZƐ", "ḌƐ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Zdat Ɛisa (TAƔ)", "Ḍeffir Ɛisa (TAƔ)"}, - timezones: map[string]string{"OESZ": "OESZ", "CHADT": "CHADT", "ACDT": "ACDT", "NZDT": "NZDT", "BT": "BT", "BOT": "BOT", "UYST": "UYST", "EST": "EST", "EDT": "EDT", "GFT": "GFT", "COT": "COT", "COST": "COST", "WITA": "WITA", "JDT": "JDT", "ACST": "ACST", "ChST": "ChST", "LHST": "LHST", "SGT": "SGT", "AEDT": "AEDT", "HNT": "HNT", "UYT": "UYT", "HKST": "HKST", "ECT": "ECT", "∅∅∅": "∅∅∅", "LHDT": "LHDT", "CDT": "CDT", "HKT": "HKT", "AWDT": "AWDT", "ART": "ART", "IST": "IST", "GYT": "GYT", "TMST": "TMST", "MYT": "MYT", "CLST": "CLST", "MEZ": "MEZ", "MESZ": "MESZ", "ARST": "ARST", "AKDT": "AKDT", "EAT": "EAT", "NZST": "NZST", "GMT": "GMT", "OEZ": "OEZ", "WESZ": "WESZ", "VET": "VET", "HAST": "HAST", "PDT": "PDT", "TMT": "TMT", "HADT": "HADT", "HAT": "HAT", "AKST": "AKST", "CST": "CST", "MST": "MST", "SRT": "SRT", "WEZ": "WEZ", "WARST": "WARST", "PST": "PST", "SAST": "SAST", "CLT": "CLT", "JST": "JST", "CHAST": "CHAST", "ADT": "ADT", "MDT": "MDT", "CAT": "CAT", "WIB": "WIB", "WART": "WART", "AST": "AST", "WAT": "WAT", "AWST": "AWST", "ACWST": "ACWST", "ACWDT": "ACWDT", "AEST": "AEST", "WAST": "WAST", "WIT": "WIT"}, + timezones: map[string]string{"MST": "MST", "WIT": "WIT", "AEST": "AEST", "AEDT": "AEDT", "MEZ": "MEZ", "OESZ": "OESZ", "HNCU": "HNCU", "ADT": "ADT", "MYT": "MYT", "ACWST": "ACWST", "BOT": "BOT", "EAT": "EAT", "HNNOMX": "HNNOMX", "GMT": "GMT", "EST": "EST", "CHADT": "CHADT", "SAST": "SAST", "JST": "JST", "EDT": "EDT", "HKT": "HKT", "WITA": "WITA", "NZDT": "NZDT", "LHST": "LHST", "LHDT": "LHDT", "CST": "CST", "VET": "VET", "HEOG": "HEOG", "IST": "IST", "WAST": "WAST", "AWDT": "AWDT", "WARST": "WARST", "BT": "BT", "ARST": "ARST", "WEZ": "WEZ", "HEPMX": "HEPMX", "AWST": "AWST", "JDT": "JDT", "SGT": "SGT", "HEPM": "HEPM", "NZST": "NZST", "TMST": "TMST", "ECT": "ECT", "HECU": "HECU", "AST": "AST", "UYST": "UYST", "HNOG": "HNOG", "COT": "COT", "GYT": "GYT", "HAST": "HAST", "HAT": "HAT", "CLST": "CLST", "ACST": "ACST", "OEZ": "OEZ", "CAT": "CAT", "COST": "COST", "WIB": "WIB", "SRT": "SRT", "HKST": "HKST", "AKDT": "AKDT", "CDT": "CDT", "HENOMX": "HENOMX", "MDT": "MDT", "WESZ": "WESZ", "GFT": "GFT", "TMT": "TMT", "WAT": "WAT", "AKST": "AKST", "PST": "PST", "HNPM": "HNPM", "HEEG": "HEEG", "HNPMX": "HNPMX", "HNT": "HNT", "CHAST": "CHAST", "HNEG": "HNEG", "WART": "WART", "UYT": "UYT", "HADT": "HADT", "ACWDT": "ACWDT", "∅∅∅": "∅∅∅", "CLT": "CLT", "ChST": "ChST", "ACDT": "ACDT", "ART": "ART", "PDT": "PDT", "MESZ": "MESZ"}, } } @@ -338,7 +338,12 @@ func (tzm *tzm) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +357,12 @@ func (tzm *tzm) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +376,12 @@ func (tzm *tzm) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,7 +397,12 @@ func (tzm *tzm) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/tzm_MA/tzm_MA.go b/tzm_MA/tzm_MA.go index b3c9ceea7..07ecfef50 100644 --- a/tzm_MA/tzm_MA.go +++ b/tzm_MA/tzm_MA.go @@ -51,7 +51,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Yen", "Yeb", "Mar", "Ibr", "May", "Yun", "Yul", "Ɣuc", "Cut", "Kṭu", "Nwa", "Duj"}, @@ -65,7 +65,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ZƐ", "ḌƐ"}, erasNarrow: []string{"", ""}, erasWide: []string{"Zdat Ɛisa (TAƔ)", "Ḍeffir Ɛisa (TAƔ)"}, - timezones: map[string]string{"PDT": "PDT", "IST": "IST", "LHST": "LHST", "AST": "AST", "CST": "CST", "CLST": "CLST", "ChST": "ChST", "WEZ": "WEZ", "MEZ": "MEZ", "AEST": "AEST", "AKST": "AKST", "AKDT": "AKDT", "EDT": "EDT", "MDT": "MDT", "GFT": "GFT", "COT": "COT", "HADT": "HADT", "ADT": "ADT", "CDT": "CDT", "OESZ": "OESZ", "HAST": "HAST", "CAT": "CAT", "CLT": "CLT", "HKT": "HKT", "VET": "VET", "WARST": "WARST", "WAST": "WAST", "JST": "JST", "MESZ": "MESZ", "ACST": "ACST", "JDT": "JDT", "SRT": "SRT", "ACWDT": "ACWDT", "TMT": "TMT", "AWDT": "AWDT", "HAT": "HAT", "WART": "WART", "PST": "PST", "GYT": "GYT", "BT": "BT", "CHADT": "CHADT", "SAST": "SAST", "NZDT": "NZDT", "ECT": "ECT", "MST": "MST", "MYT": "MYT", "AWST": "AWST", "WIT": "WIT", "WESZ": "WESZ", "CHAST": "CHAST", "WIB": "WIB", "SGT": "SGT", "COST": "COST", "WAT": "WAT", "EST": "EST", "HKST": "HKST", "ART": "ART", "EAT": "EAT", "BOT": "BOT", "GMT": "GMT", "OEZ": "OEZ", "AEDT": "AEDT", "ARST": "ARST", "WITA": "WITA", "∅∅∅": "∅∅∅", "NZST": "NZST", "HNT": "HNT", "TMST": "TMST", "LHDT": "LHDT", "UYT": "UYT", "ACDT": "ACDT", "ACWST": "ACWST", "UYST": "UYST"}, + timezones: map[string]string{"COT": "COT", "HENOMX": "HENOMX", "HNCU": "HNCU", "MDT": "MDT", "MYT": "MYT", "AKST": "AKST", "JDT": "JDT", "TMT": "TMT", "WIT": "WIT", "WEZ": "WEZ", "HECU": "HECU", "HEPMX": "HEPMX", "ADT": "ADT", "HEPM": "HEPM", "SAST": "SAST", "EAT": "EAT", "ACDT": "ACDT", "WART": "WART", "SGT": "SGT", "UYST": "UYST", "HAST": "HAST", "AEDT": "AEDT", "HNEG": "HNEG", "ACST": "ACST", "MESZ": "MESZ", "NZST": "NZST", "ART": "ART", "AWST": "AWST", "IST": "IST", "WAT": "WAT", "VET": "VET", "ACWST": "ACWST", "COST": "COST", "AST": "AST", "EST": "EST", "EDT": "EDT", "BT": "BT", "HAT": "HAT", "ARST": "ARST", "AWDT": "AWDT", "JST": "JST", "ECT": "ECT", "WITA": "WITA", "LHDT": "LHDT", "HNNOMX": "HNNOMX", "HNPMX": "HNPMX", "MST": "MST", "SRT": "SRT", "ACWDT": "ACWDT", "OESZ": "OESZ", "GMT": "GMT", "GFT": "GFT", "AKDT": "AKDT", "CST": "CST", "CLT": "CLT", "HEEG": "HEEG", "OEZ": "OEZ", "HADT": "HADT", "HNPM": "HNPM", "CHAST": "CHAST", "GYT": "GYT", "HKST": "HKST", "HNT": "HNT", "CHADT": "CHADT", "∅∅∅": "∅∅∅", "BOT": "BOT", "WAST": "WAST", "PDT": "PDT", "WESZ": "WESZ", "CLST": "CLST", "TMST": "TMST", "CDT": "CDT", "HNOG": "HNOG", "PST": "PST", "AEST": "AEST", "MEZ": "MEZ", "CAT": "CAT", "WIB": "WIB", "UYT": "UYT", "HEOG": "HEOG", "HKT": "HKT", "LHST": "LHST", "NZDT": "NZDT", "ChST": "ChST", "WARST": "WARST"}, } } @@ -338,7 +338,12 @@ func (tzm *tzm_MA) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -352,7 +357,12 @@ func (tzm *tzm_MA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +376,12 @@ func (tzm *tzm_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,7 +397,12 @@ func (tzm *tzm_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, tzm.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ug/ug.go b/ug/ug.go index e557b9e1f..40f7a9d9b 100644 --- a/ug/ug.go +++ b/ug/ug.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "يانۋار", "فېۋرال", "مارت", "ئاپرېل", "ماي", "ئىيۇن", "ئىيۇل", "ئاۋغۇست", "سېنتەبىر", "ئۆكتەبىر", "نويابىر", "دېكابىر"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"ي", "د", "س", "چ", "پ", "ج", "ش"}, daysShort: []string{"ي", "د", "س", "چ", "پ", "ج", "ش"}, daysWide: []string{"يەكشەنبە", "دۈشەنبە", "سەيشەنبە", "چارشەنبە", "پەيشەنبە", "جۈمە", "شەنبە"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"چۈشتىن بۇرۇن", "چۈشتىن كېيىن"}, + periodsAbbreviated: []string{"چ.ب", "چ.ك"}, + periodsNarrow: []string{"ب", "ك"}, periodsWide: []string{"چۈشتىن بۇرۇن", "چۈشتىن كېيىن"}, erasAbbreviated: []string{"BCE", "مىلادىيە"}, erasNarrow: []string{"BCE", "مىلادىيە"}, erasWide: []string{"مىلادىيەدىن بۇرۇن", "مىلادىيە"}, - timezones: map[string]string{"UYT": "ئۇرۇگۋاي ئۆلچەملىك ۋاقتى", "UYST": "ئۇرۇگۋاي يازلىق ۋاقتى", "SRT": "سۇرىنام ۋاقتى", "AKDT": "ئالياسكا يازلىق ۋاقتى", "EDT": "شەرقىي قىسىم يازلىق ۋاقتى", "MYT": "مالايشىيا ۋاقتى", "BOT": "بولىۋىيە ۋاقتى", "HNT": "نىۋفوئۇنلاند ئۆلچەملىك ۋاقتى", "SAST": "جەنۇبىي ئافرىقا ئۆلچەملىك ۋاقتى", "∅∅∅": "ئازور يازلىق ۋاقتى", "WEZ": "غەربىي ياۋروپا ئۆلچەملىك ۋاقتى", "COST": "كولومبىيە يازلىق ۋاقتى", "WIB": "غەربىي ھىندونېزىيە ۋاقتى", "PDT": "تىنچ ئوكيان يازلىق ۋاقتى", "WAST": "غەربىي ئافرىقا يازلىق ۋاقتى", "CAT": "ئوتتۇرا ئافرىقا ۋاقتى", "JST": "ياپونىيە ئۆلچەملىك ۋاقتى", "ACWDT": "ئاۋسترالىيە ئوتتۇرا غەربىي قىسىم يازلىق ۋاقتى", "AST": "ئاتلانتىك ئوكيان ئۆلچەملىك ۋاقتى", "TMT": "تۈركمەنىستان ئۆلچەملىك ۋاقتى", "HAT": "نىۋفوئۇنلاند يازلىق ۋاقتى", "MEZ": "ئوتتۇرا ياۋروپا ئۆلچەملىك ۋاقتى", "ACWST": "ئاۋستىرالىيە ئوتتۇرا غەربىي قىسىم ئۆلچەملىك ۋاقتى", "CLT": "چىلى ئۆلچەملىك ۋاقتى", "HKST": "شياڭگاڭ يازلىق ۋاقتى", "COT": "كولومبىيە ئۆلچەملىك ۋاقتى", "WARST": "غەربىي ئارگېنتىنا يازلىق ۋاقتى", "HADT": "ھاۋاي-ئالېيۇت يازلىق ۋاقتى", "ARST": "ئارگېنتىنا يازلىق ۋاقتى", "PST": "تىنچ ئوكيان ئۆلچەملىك ۋاقتى", "EAT": "شەرقىي ئافرىقا ۋاقتى", "WITA": "ئوتتۇرا ھىندونېزىيە ۋاقتى", "AWST": "ئاۋسترالىيە غەربىي قىسىم ئۆلچەملىك ۋاقتى", "JDT": "ياپونىيە يازلىق ۋاقتى", "HAST": "ھاۋاي-ئالېيۇت ئۆلچەملىك ۋاقتى", "CST": "ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "HKT": "شياڭگاڭ ئۆلچەملىك ۋاقتى", "ECT": "ئېكۋادور ۋاقتى", "MESZ": "ئوتتۇرا ياۋروپا يازلىق ۋاقتى", "ACDT": "ئاۋسترالىيە ئوتتۇرا قىسىم يازلىق ۋاقتى", "VET": "ۋېنېزۇئېلا ۋاقتى", "IST": "ھىندىستان ئۆلچەملىك ۋاقتى", "WIT": "شەرقىي ھىندونېزىيە ۋاقتى", "ACST": "ئاۋسترالىيە ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "ADT": "ئاتلانتىك ئوكيان يازلىق ۋاقتى", "CDT": "ئوتتۇرا قىسىم يازلىق ۋاقتى", "GYT": "گىۋىيانا ۋاقتى", "GMT": "گىرىنۋىچ ۋاقتى", "OESZ": "شەرقىي ياۋروپا يازلىق ۋاقتى", "EST": "شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "CLST": "چىلى يازلىق ۋاقتى", "BT": "بۇتان ۋاقتى", "LHST": "لورد-خاي ئۆلچەملىك ۋاقتى", "WART": "غەربىي ئارگېنتىنا ئۆلچەملىك ۋاقتى", "TMST": "تۈركمەنىستان يازلىق ۋاقتى", "NZDT": "يېڭى زېلاندىيە يازلىق ۋاقتى", "AEST": "ئاۋسترالىيە شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "AEDT": "ئاۋسترالىيە شەرقىي قىسىم يازلىق ۋاقتى", "ART": "ئارگېنتىنا ئۆلچەملىك ۋاقتى", "WAT": "غەربىي ئافرىقا ئۆلچەملىك ۋاقتى", "MST": "تاغ ئۆلچەملىك ۋاقتى", "MDT": "تاغ يازلىق ۋاقتى", "CHAST": "چاتام ئۆلچەملىك ۋاقتى", "GFT": "فىرانسىيەگە قاراشلىق گىۋىيانا ۋاقتى", "LHDT": "لورد-خاي يازلىق ۋاقتى", "OEZ": "شەرقىي ياۋروپا ئۆلچەملىك ۋاقتى", "SGT": "سىنگاپور ۋاقتى", "WESZ": "غەربىي ياۋروپا يازلىق ۋاقتى", "AKST": "ئالياسكا ئۆلچەملىك ۋاقتى", "NZST": "يېڭى زېلاندىيە ئۆلچەملىك ۋاقتى", "ChST": "چاموررو ئۆلچەملىك ۋاقتى", "AWDT": "ئاۋسترالىيە غەربىي قىسىم يازلىق ۋاقتى", "CHADT": "چاتام يازلىق ۋاقتى"}, + timezones: map[string]string{"HNPM": "ساينىت پىئېر ۋە مىكېلون ئۆلچەملىك ۋاقتى", "MEZ": "ئوتتۇرا ياۋروپا ئۆلچەملىك ۋاقتى", "NZST": "يېڭى زېلاندىيە ئۆلچەملىك ۋاقتى", "TMST": "تۈركمەنىستان يازلىق ۋاقتى", "ACST": "ئاۋسترالىيە ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "BT": "بۇتان ۋاقتى", "AWST": "ئاۋسترالىيە غەربىي قىسىم ئۆلچەملىك ۋاقتى", "IST": "ھىندىستان ئۆلچەملىك ۋاقتى", "GFT": "فىرانسىيەگە قاراشلىق گىۋىيانا ۋاقتى", "BOT": "بولىۋىيە ۋاقتى", "OESZ": "شەرقىي ياۋروپا يازلىق ۋاقتى", "WART": "غەربىي ئارگېنتىنا ئۆلچەملىك ۋاقتى", "HKT": "شياڭگاڭ ئۆلچەملىك ۋاقتى", "HEPM": "ساينىت پىئېر ۋە مىكېلون يازلىق ۋاقتى", "JDT": "ياپونىيە يازلىق ۋاقتى", "COT": "كولومبىيە ئۆلچەملىك ۋاقتى", "SRT": "سۇرىنام ۋاقتى", "ART": "ئارگېنتىنا ئۆلچەملىك ۋاقتى", "HEOG": "غەربىي گىرېنلاند يازلىق ۋاقتى", "AEDT": "ئاۋسترالىيە شەرقىي قىسىم يازلىق ۋاقتى", "CHADT": "چاتام يازلىق ۋاقتى", "LHST": "لورد-خاي ئۆلچەملىك ۋاقتى", "WAT": "غەربىي ئافرىقا ئۆلچەملىك ۋاقتى", "ACWST": "ئاۋستىرالىيە ئوتتۇرا غەربىي قىسىم ئۆلچەملىك ۋاقتى", "ACWDT": "ئاۋسترالىيە ئوتتۇرا غەربىي قىسىم يازلىق ۋاقتى", "NZDT": "يېڭى زېلاندىيە يازلىق ۋاقتى", "∅∅∅": "ئامازون يازلىق ۋاقتى", "CDT": "ئوتتۇرا قىسىم يازلىق ۋاقتى", "ACDT": "ئاۋسترالىيە ئوتتۇرا قىسىم يازلىق ۋاقتى", "ECT": "ئېكۋادور ۋاقتى", "UYT": "ئۇرۇگۋاي ئۆلچەملىك ۋاقتى", "HNOG": "غەربىي گىرېنلاند ئۆلچەملىك ۋاقتى", "AWDT": "ئاۋسترالىيە غەربىي قىسىم يازلىق ۋاقتى", "WITA": "ئوتتۇرا ھىندونېزىيە ۋاقتى", "EDT": "شەرقىي قىسىم يازلىق ۋاقتى", "MDT": "ئاۋمېن يازلىق ۋاقتى", "ADT": "ئاتلانتىك ئوكيان يازلىق ۋاقتى", "UYST": "ئۇرۇگۋاي يازلىق ۋاقتى", "WEZ": "غەربىي ياۋروپا ئۆلچەملىك ۋاقتى", "CHAST": "چاتام ئۆلچەملىك ۋاقتى", "HENOMX": "مېكسىكا غەربىي شىمالىي قىسىم يازلىق ۋاقتى", "HNPMX": "مېكسىكا تىنچ ئوكيان ئۆلچەملىك ۋاقتى", "CST": "ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "AKST": "ئالياسكا ئۆلچەملىك ۋاقتى", "ARST": "ئارگېنتىنا يازلىق ۋاقتى", "HEEG": "شەرقىي گىرېنلاند يازلىق ۋاقتى", "SGT": "سىنگاپور ۋاقتى", "MST": "ئاۋمېن ئۆلچەملىك ۋاقتى", "MYT": "مالايشىيا ۋاقتى", "AKDT": "ئالياسكا يازلىق ۋاقتى", "WIT": "شەرقىي ھىندونېزىيە ۋاقتى", "JST": "ياپونىيە ئۆلچەملىك ۋاقتى", "HEPMX": "مېكسىكا تىنچ ئوكيان يازلىق ۋاقتى", "GYT": "گىۋىيانا ۋاقتى", "HADT": "ھاۋاي-ئالېيۇت يازلىق ۋاقتى", "VET": "ۋېنېزۇئېلا ۋاقتى", "PST": "تىنچ ئوكيان ئۆلچەملىك ۋاقتى", "WESZ": "غەربىي ياۋروپا يازلىق ۋاقتى", "ChST": "چاموررو ئۆلچەملىك ۋاقتى", "WARST": "غەربىي ئارگېنتىنا يازلىق ۋاقتى", "COST": "كولومبىيە يازلىق ۋاقتى", "HNCU": "كۇبا ئۆلچەملىك ۋاقتى", "HAST": "ھاۋاي-ئالېيۇت ئۆلچەملىك ۋاقتى", "HAT": "نىۋفوئۇنلاند يازلىق ۋاقتى", "HNEG": "شەرقىي گىرېنلاند ئۆلچەملىك ۋاقتى", "HNNOMX": "مېكسىكا غەربىي شىمالىي قىسىم ئۆلچەملىك ۋاقتى", "PDT": "تىنچ ئوكيان يازلىق ۋاقتى", "HKST": "شياڭگاڭ يازلىق ۋاقتى", "HNT": "نىۋفوئۇنلاند ئۆلچەملىك ۋاقتى", "LHDT": "لورد-خاي يازلىق ۋاقتى", "CLST": "چىلى يازلىق ۋاقتى", "TMT": "تۈركمەنىستان ئۆلچەملىك ۋاقتى", "WAST": "غەربىي ئافرىقا يازلىق ۋاقتى", "GMT": "گىرىنۋىچ ۋاقتى", "AST": "ئاتلانتىك ئوكيان ئۆلچەملىك ۋاقتى", "SAST": "جەنۇبىي ئافرىقا ئۆلچەملىك ۋاقتى", "CLT": "چىلى ئۆلچەملىك ۋاقتى", "OEZ": "شەرقىي ياۋروپا ئۆلچەملىك ۋاقتى", "AEST": "ئاۋسترالىيە شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "MESZ": "ئوتتۇرا ياۋروپا يازلىق ۋاقتى", "CAT": "ئوتتۇرا ئافرىقا ۋاقتى", "EAT": "شەرقىي ئافرىقا ۋاقتى", "HECU": "كۇبا يازلىق ۋاقتى", "EST": "شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "WIB": "غەربىي ھىندونېزىيە ۋاقتى"}, } } @@ -402,17 +402,28 @@ func (ug *ug) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) - } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') } + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -421,11 +432,16 @@ func (ug *ug) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,11 +451,16 @@ func (ug *ug) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,13 +470,18 @@ func (ug *ug) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.daysWide[t.Weekday()]...) - b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = append(b, ug.monthsWide[t.Month()]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, ug.daysWide[t.Weekday()]...) return string(b) } diff --git a/ug_CN/ug_CN.go b/ug_CN/ug_CN.go index 69aa5c35d..a9acbbab4 100644 --- a/ug_CN/ug_CN.go +++ b/ug_CN/ug_CN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "يانۋار", "فېۋرال", "مارت", "ئاپرېل", "ماي", "ئىيۇن", "ئىيۇل", "ئاۋغۇست", "سېنتەبىر", "ئۆكتەبىر", "نويابىر", "دېكابىر"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"ي", "د", "س", "چ", "پ", "ج", "ش"}, daysShort: []string{"ي", "د", "س", "چ", "پ", "ج", "ش"}, daysWide: []string{"يەكشەنبە", "دۈشەنبە", "سەيشەنبە", "چارشەنبە", "پەيشەنبە", "جۈمە", "شەنبە"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"چۈشتىن بۇرۇن", "چۈشتىن كېيىن"}, + periodsAbbreviated: []string{"چ.ب", "چ.ك"}, + periodsNarrow: []string{"ب", "ك"}, periodsWide: []string{"چۈشتىن بۇرۇن", "چۈشتىن كېيىن"}, erasAbbreviated: []string{"BCE", "مىلادىيە"}, erasNarrow: []string{"BCE", "مىلادىيە"}, erasWide: []string{"مىلادىيەدىن بۇرۇن", "مىلادىيە"}, - timezones: map[string]string{"AEDT": "ئاۋسترالىيە شەرقىي قىسىم يازلىق ۋاقتى", "ARST": "ئارگېنتىنا يازلىق ۋاقتى", "TMST": "تۈركمەنىستان يازلىق ۋاقتى", "GYT": "گىۋىيانا ۋاقتى", "CST": "ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "NZST": "يېڭى زېلاندىيە ئۆلچەملىك ۋاقتى", "BT": "بۇتان ۋاقتى", "GFT": "فىرانسىيەگە قاراشلىق گىۋىيانا ۋاقتى", "WIB": "غەربىي ھىندونېزىيە ۋاقتى", "EAT": "شەرقىي ئافرىقا ۋاقتى", "AST": "ئاتلانتىك ئوكيان ئۆلچەملىك ۋاقتى", "WIT": "شەرقىي ھىندونېزىيە ۋاقتى", "OEZ": "شەرقىي ياۋروپا ئۆلچەملىك ۋاقتى", "OESZ": "شەرقىي ياۋروپا يازلىق ۋاقتى", "IST": "ھىندىستان ئۆلچەملىك ۋاقتى", "HAST": "ھاۋاي-ئالېيۇت ئۆلچەملىك ۋاقتى", "WESZ": "غەربىي ياۋروپا يازلىق ۋاقتى", "MYT": "مالايشىيا ۋاقتى", "∅∅∅": "ئازور يازلىق ۋاقتى", "LHST": "لورد-خاي ئۆلچەملىك ۋاقتى", "WEZ": "غەربىي ياۋروپا ئۆلچەملىك ۋاقتى", "CHAST": "چاتام ئۆلچەملىك ۋاقتى", "ACST": "ئاۋسترالىيە ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "ACWDT": "ئاۋسترالىيە ئوتتۇرا غەربىي قىسىم يازلىق ۋاقتى", "MDT": "تاغ يازلىق ۋاقتى", "BOT": "بولىۋىيە ۋاقتى", "HAT": "نىۋفوئۇنلاند يازلىق ۋاقتى", "ACWST": "ئاۋستىرالىيە ئوتتۇرا غەربىي قىسىم ئۆلچەملىك ۋاقتى", "WART": "غەربىي ئارگېنتىنا ئۆلچەملىك ۋاقتى", "ChST": "چاموررو ئۆلچەملىك ۋاقتى", "WAT": "غەربىي ئافرىقا ئۆلچەملىك ۋاقتى", "AKDT": "ئالياسكا يازلىق ۋاقتى", "EDT": "شەرقىي قىسىم يازلىق ۋاقتى", "HADT": "ھاۋاي-ئالېيۇت يازلىق ۋاقتى", "SAST": "جەنۇبىي ئافرىقا ئۆلچەملىك ۋاقتى", "HKT": "شياڭگاڭ ئۆلچەملىك ۋاقتى", "ART": "ئارگېنتىنا ئۆلچەملىك ۋاقتى", "CDT": "ئوتتۇرا قىسىم يازلىق ۋاقتى", "CAT": "ئوتتۇرا ئافرىقا ۋاقتى", "GMT": "گىرىنۋىچ ۋاقتى", "AWST": "ئاۋسترالىيە غەربىي قىسىم ئۆلچەملىك ۋاقتى", "UYT": "ئۇرۇگۋاي ئۆلچەملىك ۋاقتى", "CHADT": "چاتام يازلىق ۋاقتى", "COST": "كولومبىيە يازلىق ۋاقتى", "AEST": "ئاۋسترالىيە شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "PDT": "تىنچ ئوكيان يازلىق ۋاقتى", "WITA": "ئوتتۇرا ھىندونېزىيە ۋاقتى", "HKST": "شياڭگاڭ يازلىق ۋاقتى", "COT": "كولومبىيە ئۆلچەملىك ۋاقتى", "TMT": "تۈركمەنىستان ئۆلچەملىك ۋاقتى", "MESZ": "ئوتتۇرا ياۋروپا يازلىق ۋاقتى", "JST": "ياپونىيە ئۆلچەملىك ۋاقتى", "PST": "تىنچ ئوكيان ئۆلچەملىك ۋاقتى", "LHDT": "لورد-خاي يازلىق ۋاقتى", "JDT": "ياپونىيە يازلىق ۋاقتى", "AKST": "ئالياسكا ئۆلچەملىك ۋاقتى", "UYST": "ئۇرۇگۋاي يازلىق ۋاقتى", "SRT": "سۇرىنام ۋاقتى", "ECT": "ئېكۋادور ۋاقتى", "CLST": "چىلى يازلىق ۋاقتى", "MST": "تاغ ئۆلچەملىك ۋاقتى", "NZDT": "يېڭى زېلاندىيە يازلىق ۋاقتى", "AWDT": "ئاۋسترالىيە غەربىي قىسىم يازلىق ۋاقتى", "HNT": "نىۋفوئۇنلاند ئۆلچەملىك ۋاقتى", "ACDT": "ئاۋسترالىيە ئوتتۇرا قىسىم يازلىق ۋاقتى", "SGT": "سىنگاپور ۋاقتى", "VET": "ۋېنېزۇئېلا ۋاقتى", "WAST": "غەربىي ئافرىقا يازلىق ۋاقتى", "ADT": "ئاتلانتىك ئوكيان يازلىق ۋاقتى", "CLT": "چىلى ئۆلچەملىك ۋاقتى", "MEZ": "ئوتتۇرا ياۋروپا ئۆلچەملىك ۋاقتى", "WARST": "غەربىي ئارگېنتىنا يازلىق ۋاقتى", "EST": "شەرقىي قىسىم ئۆلچەملىك ۋاقتى"}, + timezones: map[string]string{"IST": "ھىندىستان ئۆلچەملىك ۋاقتى", "ChST": "چاموررو ئۆلچەملىك ۋاقتى", "COST": "كولومبىيە يازلىق ۋاقتى", "HNNOMX": "مېكسىكا غەربىي شىمالىي قىسىم ئۆلچەملىك ۋاقتى", "SGT": "سىنگاپور ۋاقتى", "HNPMX": "مېكسىكا تىنچ ئوكيان ئۆلچەملىك ۋاقتى", "LHST": "لورد-خاي ئۆلچەملىك ۋاقتى", "NZDT": "يېڭى زېلاندىيە يازلىق ۋاقتى", "WAST": "غەربىي ئافرىقا يازلىق ۋاقتى", "LHDT": "لورد-خاي يازلىق ۋاقتى", "SAST": "جەنۇبىي ئافرىقا ئۆلچەملىك ۋاقتى", "ACDT": "ئاۋسترالىيە ئوتتۇرا قىسىم يازلىق ۋاقتى", "GMT": "گىرىنۋىچ ۋاقتى", "HADT": "ھاۋاي-ئالېيۇت يازلىق ۋاقتى", "VET": "ۋېنېزۇئېلا ۋاقتى", "BT": "بۇتان ۋاقتى", "NZST": "يېڭى زېلاندىيە ئۆلچەملىك ۋاقتى", "AWDT": "ئاۋسترالىيە غەربىي قىسىم يازلىق ۋاقتى", "HEPM": "ساينىت پىئېر ۋە مىكېلون يازلىق ۋاقتى", "CLST": "چىلى يازلىق ۋاقتى", "HECU": "كۇبا يازلىق ۋاقتى", "EDT": "شەرقىي قىسىم يازلىق ۋاقتى", "MDT": "ئاۋمېن يازلىق ۋاقتى", "HAT": "نىۋفوئۇنلاند يازلىق ۋاقتى", "BOT": "بولىۋىيە ۋاقتى", "WAT": "غەربىي ئافرىقا ئۆلچەملىك ۋاقتى", "WART": "غەربىي ئارگېنتىنا ئۆلچەملىك ۋاقتى", "AEST": "ئاۋسترالىيە شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "WEZ": "غەربىي ياۋروپا ئۆلچەملىك ۋاقتى", "AWST": "ئاۋسترالىيە غەربىي قىسىم ئۆلچەملىك ۋاقتى", "∅∅∅": "ئامازون يازلىق ۋاقتى", "CST": "ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "ARST": "ئارگېنتىنا يازلىق ۋاقتى", "WESZ": "غەربىي ياۋروپا يازلىق ۋاقتى", "AEDT": "ئاۋسترالىيە شەرقىي قىسىم يازلىق ۋاقتى", "JDT": "ياپونىيە يازلىق ۋاقتى", "WARST": "غەربىي ئارگېنتىنا يازلىق ۋاقتى", "HNCU": "كۇبا ئۆلچەملىك ۋاقتى", "WIT": "شەرقىي ھىندونېزىيە ۋاقتى", "ART": "ئارگېنتىنا ئۆلچەملىك ۋاقتى", "COT": "كولومبىيە ئۆلچەملىك ۋاقتى", "HEEG": "شەرقىي گىرېنلاند يازلىق ۋاقتى", "HKST": "شياڭگاڭ يازلىق ۋاقتى", "TMT": "تۈركمەنىستان ئۆلچەملىك ۋاقتى", "TMST": "تۈركمەنىستان يازلىق ۋاقتى", "HENOMX": "مېكسىكا غەربىي شىمالىي قىسىم يازلىق ۋاقتى", "EST": "شەرقىي قىسىم ئۆلچەملىك ۋاقتى", "CDT": "ئوتتۇرا قىسىم يازلىق ۋاقتى", "ADT": "ئاتلانتىك ئوكيان يازلىق ۋاقتى", "ACWDT": "ئاۋسترالىيە ئوتتۇرا غەربىي قىسىم يازلىق ۋاقتى", "AKST": "ئالياسكا ئۆلچەملىك ۋاقتى", "WITA": "ئوتتۇرا ھىندونېزىيە ۋاقتى", "HNEG": "شەرقىي گىرېنلاند ئۆلچەملىك ۋاقتى", "CAT": "ئوتتۇرا ئافرىقا ۋاقتى", "AST": "ئاتلانتىك ئوكيان ئۆلچەملىك ۋاقتى", "GYT": "گىۋىيانا ۋاقتى", "UYT": "ئۇرۇگۋاي ئۆلچەملىك ۋاقتى", "SRT": "سۇرىنام ۋاقتى", "PDT": "تىنچ ئوكيان يازلىق ۋاقتى", "HKT": "شياڭگاڭ ئۆلچەملىك ۋاقتى", "HNPM": "ساينىت پىئېر ۋە مىكېلون ئۆلچەملىك ۋاقتى", "ACST": "ئاۋسترالىيە ئوتتۇرا قىسىم ئۆلچەملىك ۋاقتى", "OEZ": "شەرقىي ياۋروپا ئۆلچەملىك ۋاقتى", "AKDT": "ئالياسكا يازلىق ۋاقتى", "HNOG": "غەربىي گىرېنلاند ئۆلچەملىك ۋاقتى", "UYST": "ئۇرۇگۋاي يازلىق ۋاقتى", "WIB": "غەربىي ھىندونېزىيە ۋاقتى", "JST": "ياپونىيە ئۆلچەملىك ۋاقتى", "MYT": "مالايشىيا ۋاقتى", "GFT": "فىرانسىيەگە قاراشلىق گىۋىيانا ۋاقتى", "ACWST": "ئاۋستىرالىيە ئوتتۇرا غەربىي قىسىم ئۆلچەملىك ۋاقتى", "CHAST": "چاتام ئۆلچەملىك ۋاقتى", "CLT": "چىلى ئۆلچەملىك ۋاقتى", "MST": "ئاۋمېن ئۆلچەملىك ۋاقتى", "HEPMX": "مېكسىكا تىنچ ئوكيان يازلىق ۋاقتى", "HNT": "نىۋفوئۇنلاند ئۆلچەملىك ۋاقتى", "OESZ": "شەرقىي ياۋروپا يازلىق ۋاقتى", "ECT": "ئېكۋادور ۋاقتى", "EAT": "شەرقىي ئافرىقا ۋاقتى", "HEOG": "غەربىي گىرېنلاند يازلىق ۋاقتى", "CHADT": "چاتام يازلىق ۋاقتى", "MEZ": "ئوتتۇرا ياۋروپا ئۆلچەملىك ۋاقتى", "MESZ": "ئوتتۇرا ياۋروپا يازلىق ۋاقتى", "HAST": "ھاۋاي-ئالېيۇت ئۆلچەملىك ۋاقتى", "PST": "تىنچ ئوكيان ئۆلچەملىك ۋاقتى"}, } } @@ -402,17 +402,28 @@ func (ug *ug_CN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + + b = append(b, []byte{0x2d}...) + + if t.Month() < 10 { + b = append(b, '0') + } + b = strconv.AppendInt(b, int64(t.Month()), 10) - b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x2f}...) - if t.Year() > 9 { - b = append(b, strconv.Itoa(t.Year())[2:]...) - } else { - b = append(b, strconv.Itoa(t.Year())[1:]...) + b = append(b, []byte{0x2d}...) + + if t.Day() < 10 { + b = append(b, '0') } + b = strconv.AppendInt(b, int64(t.Day()), 10) + return string(b) } @@ -421,11 +432,16 @@ func (ug *ug_CN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -435,11 +451,16 @@ func (ug *ug_CN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -449,13 +470,18 @@ func (ug *ug_CN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, ug.daysWide[t.Weekday()]...) - b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = append(b, ug.monthsWide[t.Month()]...) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) + b = append(b, ug.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, ug.daysWide[t.Weekday()]...) return string(b) } diff --git a/uk/uk.go b/uk/uk.go index 6699470fc..15f851d1c 100644 --- a/uk/uk.go +++ b/uk/uk.go @@ -55,15 +55,15 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "₴", "крб.", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "₴", "крб.", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "січ.", "лют.", "бер.", "квіт.", "трав.", "черв.", "лип.", "серп.", "вер.", "жовт.", "лист.", "груд."}, - monthsNarrow: []string{"", "С", "Л", "Б", "К", "Т", "Ч", "Л", "С", "В", "Ж", "Л", "Г"}, + monthsNarrow: []string{"", "с", "л", "б", "к", "т", "ч", "л", "с", "в", "ж", "л", "г"}, monthsWide: []string{"", "січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"}, - daysAbbreviated: []string{"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}, + daysAbbreviated: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysNarrow: []string{"Н", "П", "В", "С", "Ч", "П", "С"}, - daysShort: []string{"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}, + daysShort: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysWide: []string{"неділя", "понеділок", "вівторок", "середа", "четвер", "пʼятниця", "субота"}, periodsAbbreviated: []string{"дп", "пп"}, periodsNarrow: []string{"дп", "пп"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. е.", "н. е."}, erasNarrow: []string{"до н.е.", "н.е."}, erasWide: []string{"до нашої ери", "нашої ери"}, - timezones: map[string]string{"ADT": "за атлантичним літнім часом", "PDT": "за північноамериканським тихоокеанським літнім часом", "TMT": "за стандартним часом у Туркменістані", "LHST": "за стандартним часом на острові Лорд-Хау", "OEZ": "за східноєвропейським стандартним часом", "ECT": "за часом в Еквадорі", "EDT": "за північноамериканським східним літнім часом", "PST": "за північноамериканським тихоокеанським стандартним часом", "GYT": "за часом у Гаяні", "GMT": "за Гринвічем", "CDT": "за північноамериканським центральним літнім часом", "BT": "за часом у Бутані", "JDT": "за японським літнім часом", "HKT": "за стандартним часом у Гонконзі", "ACWST": "за стандартним центральнозахідним австралійським часом", "SRT": "за часом у Суринамі", "MEZ": "за центральноєвропейським стандартним часом", "COT": "за стандартним колумбійським часом", "AEDT": "за літнім східноавстралійським часом", "AWST": "за стандартним західноавстралійським часом", "WIT": "за східноіндонезійським часом", "OESZ": "за східноєвропейським літнім часом", "HADT": "за літнім гавайсько-алеутським часом", "WEZ": "за західноєвропейським стандартним часом", "CHAST": "за стандартним часом на архіпелазі Чатем", "CAT": "за центральноафриканським часом", "JST": "за японським стандартним часом", "CHADT": "за літнім часом на архіпелазі Чатем", "WART": "за стандартним західноаргентинським часом", "WAST": "за західноафриканським літнім часом", "UYT": "за стандартним часом в Уругваї", "MESZ": "за центральноєвропейським літнім часом", "VET": "за часом у Венесуелі", "WIB": "за західноіндонезійським часом", "ART": "за стандартним аргентинським часом", "SAST": "за південноафриканським часом", "IST": "за індійським стандартним часом", "ARST": "за літнім аргентинським часом", "EST": "за північноамериканським східним стандартним часом", "MST": "за північноамериканським гірським стандартним часом", "WITA": "за центральноіндонезійським часом", "NZDT": "за літнім часом у Новій Зеландії", "UYST": "за літнім часом в Уругваї", "HAST": "за стандартним гавайсько-алеутським часом", "WAT": "за західноафриканським стандартним часом", "AKDT": "за літнім часом на Алясці", "TMST": "за літнім часом у Туркменістані", "HNT": "за стандартним часом у Ньюфаундленд", "ACWDT": "за літнім центральнозахідним австралійським часом", "AEST": "за стандартним східноавстралійським часом", "MDT": "за північноамериканським гірським літнім часом", "∅∅∅": "за літнім часом у Перу", "BOT": "за болівійським часом", "AWDT": "за літнім західноавстралійським часом", "CLT": "за стандартним чилійським часом", "ACDT": "за літнім центральноавстралійським часом", "MYT": "за часом у Малайзії", "ChST": "за часом на Північних Маріанських островах", "GFT": "за часом Французької Гвіани", "EAT": "за східноафриканським часом", "AKST": "за стандартним часом на Алясці", "CST": "за північноамериканським центральним стандартним часом", "NZST": "за стандартним часом у Новій Зеландії", "CLST": "за літнім чилійським часом", "HKST": "за літнім часом у Гонконзі", "ACST": "за стандартним центральноавстралійським часом", "AST": "за атлантичним стандартним часом", "HAT": "за літнім часом у Ньюфаундленд", "LHDT": "за літнім часом на острові Лорд-Хау", "WESZ": "за західноєвропейським літнім часом", "SGT": "за часом у Сінгапурі", "COST": "за літнім колумбійським часом", "WARST": "за літнім за західноаргентинським часом"}, + timezones: map[string]string{"HAST": "за стандартним гавайсько-алеутським часом", "JDT": "за японським літнім часом", "HNCU": "за стандартним часом на Кубі", "AKST": "за стандартним часом на Алясці", "CST": "за північноамериканським центральним стандартним часом", "PDT": "за північноамериканським тихоокеанським літнім часом", "IST": "за індійським стандартним часом", "ChST": "за часом на Північних Маріанських островах", "BOT": "за болівійським часом", "SGT": "за часом у Сінгапурі", "MDT": "MDT", "GYT": "за часом у Гаяні", "HNPM": "за стандартним часом на островах Сен-П’єр і Мікелон", "WART": "за стандартним західноаргентинським часом", "LHST": "за стандартним часом на острові Лорд-Хау", "WARST": "за літнім за західноаргентинським часом", "COT": "за стандартним колумбійським часом", "AST": "за атлантичним стандартним часом", "MYT": "за часом у Малайзії", "AEDT": "за літнім східноавстралійським часом", "HEPM": "за літнім часом на островах Сен-П’єр і Мікелон", "NZDT": "за літнім часом у Новій Зеландії", "CAT": "за центральноафриканським часом", "WITA": "за центральноіндонезійським часом", "HNNOMX": "за стандартним північнозахідним часом у Мексиці", "EDT": "за північноамериканським східним літнім часом", "CDT": "за північноамериканським центральним літнім часом", "HADT": "за літнім гавайсько-алеутським часом", "VET": "за часом у Венесуелі", "WIT": "за східноіндонезійським часом", "HNT": "за стандартним часом на острові Ньюфаундленд", "AWST": "за стандартним західноавстралійським часом", "AWDT": "за літнім західноавстралійським часом", "NZST": "за стандартним часом у Новій Зеландії", "HNOG": "за стандартним західним часом у Гренландії", "AEST": "за стандартним східноавстралійським часом", "JST": "за японським стандартним часом", "UYST": "за літнім часом в Уругваї", "HEOG": "за літнім західним часом у Гренландії", "HKT": "за стандартним часом у Гонконзі", "TMST": "за літнім часом у Туркменістані", "HECU": "за літнім часом на Кубі", "HNPMX": "за стандартним тихоокеанським часом у Мексиці", "PST": "за північноамериканським тихоокеанським стандартним часом", "ACWDT": "за літнім центральнозахідним австралійським часом", "ACST": "за стандартним центральноавстралійським часом", "ACDT": "за літнім центральноавстралійським часом", "ECT": "за часом в Еквадорі", "HKST": "за літнім часом у Гонконзі", "CLST": "за літнім чилійським часом", "TMT": "за стандартним часом у Туркменістані", "EAT": "за східноафриканським часом", "WAT": "за західноафриканським стандартним часом", "EST": "за північноамериканським східним стандартним часом", "AKDT": "за літнім часом на Алясці", "SRT": "за часом у Суринамі", "CHADT": "за літнім часом на архіпелазі Чатем", "HEEG": "за літнім східним часом у Гренландії", "GFT": "за часом Французької Гвіани", "HENOMX": "за літнім північнозахідним часом у Мексиці", "WESZ": "за західноєвропейським літнім часом", "LHDT": "за літнім часом на острові Лорд-Хау", "SAST": "за південноафриканським часом", "CLT": "за стандартним чилійським часом", "∅∅∅": "за літнім часом на Амазонці", "OEZ": "за східноєвропейським стандартним часом", "ADT": "за атлантичним літнім часом", "ARST": "за літнім аргентинським часом", "ACWST": "за стандартним центральнозахідним австралійським часом", "MEZ": "за центральноєвропейським стандартним часом", "CHAST": "за стандартним часом на архіпелазі Чатем", "WAST": "за західноафриканським літнім часом", "MST": "MST", "BT": "за часом у Бутані", "ART": "за стандартним аргентинським часом", "WEZ": "за західноєвропейським стандартним часом", "MESZ": "за центральноєвропейським літнім часом", "HNEG": "за стандартним східним часом у Гренландії", "OESZ": "за східноєвропейським літнім часом", "WIB": "за західноіндонезійським часом", "HAT": "за літнім часом у Ньюфаундленд", "COST": "за літнім колумбійським часом", "GMT": "за Гринвічем", "HEPMX": "за літнім тихоокеанським часом у Мексиці", "UYT": "за стандартним часом в Уругваї"}, } } @@ -100,8 +100,8 @@ func (uk *uk) CardinalPluralRule(num float64, v uint64) locales.PluralRule { n := math.Abs(num) i := int64(n) - iMod10 := i % 10 iMod100 := i % 100 + iMod10 := i % 10 if v == 0 && iMod10 == 1 && iMod100 != 11 { return locales.PluralRuleOne @@ -475,7 +475,13 @@ func (uk *uk) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) @@ -491,7 +497,13 @@ func (uk *uk) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) @@ -509,7 +521,13 @@ func (uk *uk) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) diff --git a/uk_UA/uk_UA.go b/uk_UA/uk_UA.go index 467fc9644..cd46bc3a2 100644 --- a/uk_UA/uk_UA.go +++ b/uk_UA/uk_UA.go @@ -55,15 +55,15 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "січ.", "лют.", "бер.", "квіт.", "трав.", "черв.", "лип.", "серп.", "вер.", "жовт.", "лист.", "груд."}, - monthsNarrow: []string{"", "С", "Л", "Б", "К", "Т", "Ч", "Л", "С", "В", "Ж", "Л", "Г"}, + monthsNarrow: []string{"", "с", "л", "б", "к", "т", "ч", "л", "с", "в", "ж", "л", "г"}, monthsWide: []string{"", "січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"}, - daysAbbreviated: []string{"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}, + daysAbbreviated: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysNarrow: []string{"Н", "П", "В", "С", "Ч", "П", "С"}, - daysShort: []string{"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"}, + daysShort: []string{"нд", "пн", "вт", "ср", "чт", "пт", "сб"}, daysWide: []string{"неділя", "понеділок", "вівторок", "середа", "четвер", "пʼятниця", "субота"}, periodsAbbreviated: []string{"дп", "пп"}, periodsNarrow: []string{"дп", "пп"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"до н. е.", "н. е."}, erasNarrow: []string{"до н.е.", "н.е."}, erasWide: []string{"до нашої ери", "нашої ери"}, - timezones: map[string]string{"CST": "за північноамериканським центральним стандартним часом", "NZDT": "за літнім часом у Новій Зеландії", "AWST": "за стандартним західноавстралійським часом", "GFT": "за часом Французької Гвіани", "OEZ": "за східноєвропейським стандартним часом", "ACWST": "за стандартним центральнозахідним австралійським часом", "ART": "за стандартним аргентинським часом", "ACDT": "за літнім центральноавстралійським часом", "AKDT": "за літнім часом на Алясці", "WIT": "за східноіндонезійським часом", "HAT": "за літнім часом у Ньюфаундленд", "SRT": "за часом у Суринамі", "MEZ": "за центральноєвропейським стандартним часом", "SGT": "за часом у Сінгапурі", "COST": "за літнім колумбійським часом", "CLT": "за стандартним чилійським часом", "ChST": "за часом на Північних Маріанських островах", "LHST": "за стандартним часом на острові Лорд-Хау", "HKT": "за стандартним часом у Гонконзі", "AEST": "за стандартним східноавстралійським часом", "EAT": "за східноафриканським часом", "GYT": "за часом у Гаяні", "MESZ": "за центральноєвропейським літнім часом", "ACWDT": "за літнім центральнозахідним австралійським часом", "ADT": "за атлантичним літнім часом", "VET": "за часом у Венесуелі", "AEDT": "за літнім східноавстралійським часом", "AST": "за атлантичним стандартним часом", "LHDT": "за літнім часом на острові Лорд-Хау", "CHAST": "за стандартним часом на архіпелазі Чатем", "WART": "за стандартним західноаргентинським часом", "MDT": "за північноамериканським гірським літнім часом", "CLST": "за літнім чилійським часом", "CAT": "за центральноафриканським часом", "BT": "за часом у Бутані", "WEZ": "за західноєвропейським стандартним часом", "WESZ": "за західноєвропейським літнім часом", "IST": "за індійським стандартним часом", "WITA": "за центральноіндонезійським часом", "UYST": "за літнім часом в Уругваї", "GMT": "за Гринвічем", "∅∅∅": "час: Акрі, літній", "ARST": "за літнім аргентинським часом", "WAT": "за західноафриканським стандартним часом", "MST": "за північноамериканським гірським стандартним часом", "AWDT": "за літнім західноавстралійським часом", "HNT": "за стандартним часом у Ньюфаундленд", "OESZ": "за східноєвропейським літнім часом", "COT": "за стандартним колумбійським часом", "PST": "за північноамериканським тихоокеанським стандартним часом", "NZST": "за стандартним часом у Новій Зеландії", "ECT": "за часом в Еквадорі", "WIB": "за західноіндонезійським часом", "UYT": "за стандартним часом в Уругваї", "MYT": "за часом у Малайзії", "ACST": "за стандартним центральноавстралійським часом", "HAST": "за стандартним гавайсько-алеутським часом", "PDT": "за північноамериканським тихоокеанським літнім часом", "TMST": "за літнім часом у Туркменістані", "AKST": "за стандартним часом на Алясці", "EDT": "за північноамериканським східним літнім часом", "WAST": "за західноафриканським літнім часом", "CDT": "за північноамериканським центральним літнім часом", "JST": "за японським стандартним часом", "CHADT": "за літнім часом на архіпелазі Чатем", "WARST": "за літнім за західноаргентинським часом", "EST": "за північноамериканським східним стандартним часом", "SAST": "за південноафриканським часом", "JDT": "за японським літнім часом", "HKST": "за літнім часом у Гонконзі", "HADT": "за літнім гавайсько-алеутським часом", "TMT": "за стандартним часом у Туркменістані", "BOT": "за болівійським часом"}, + timezones: map[string]string{"HKT": "за стандартним часом у Гонконзі", "HEPM": "за літнім часом на островах Сен-П’єр і Мікелон", "CAT": "за центральноафриканським часом", "MST": "за північноамериканським гірським стандартним часом", "WIT": "за східноіндонезійським часом", "ARST": "за літнім аргентинським часом", "PST": "за північноамериканським тихоокеанським стандартним часом", "HNPM": "за стандартним часом на островах Сен-П’єр і Мікелон", "CST": "за північноамериканським центральним стандартним часом", "MYT": "за часом у Малайзії", "UYST": "за літнім часом в Уругваї", "SAST": "за південноафриканським часом", "ChST": "за часом на Північних Маріанських островах", "PDT": "за північноамериканським тихоокеанським літнім часом", "WAT": "за західноафриканським стандартним часом", "GMT": "за Гринвічем", "HEPMX": "за літнім тихоокеанським часом у Мексиці", "BT": "за часом у Бутані", "WEZ": "за західноєвропейським стандартним часом", "WESZ": "за західноєвропейським літнім часом", "LHDT": "за літнім часом на острові Лорд-Хау", "AWDT": "за літнім західноавстралійським часом", "IST": "за індійським стандартним часом", "CLT": "за стандартним чилійським часом", "OESZ": "за східноєвропейським літнім часом", "WARST": "за літнім за західноаргентинським часом", "AST": "за атлантичним стандартним часом", "GYT": "за часом у Гаяні", "HNOG": "за стандартним західним часом у Гренландії", "JDT": "за японським літнім часом", "HNNOMX": "за стандартним північнозахідним часом у Мексиці", "HADT": "за літнім гавайсько-алеутським часом", "NZDT": "за літнім часом у Новій Зеландії", "JST": "за японським стандартним часом", "∅∅∅": "за літнім часом на Амазонці", "HEEG": "за літнім східним часом у Гренландії", "HEOG": "за літнім західним часом у Гренландії", "AWST": "за стандартним західноавстралійським часом", "WITA": "за центральноіндонезійським часом", "ACDT": "за літнім центральноавстралійським часом", "EAT": "за східноафриканським часом", "WIB": "за західноіндонезійським часом", "MDT": "за північноамериканським гірським літнім часом", "ACWST": "за стандартним центральнозахідним австралійським часом", "NZST": "за стандартним часом у Новій Зеландії", "CHAST": "за стандартним часом на архіпелазі Чатем", "EST": "за північноамериканським східним стандартним часом", "AKST": "за стандартним часом на Алясці", "CDT": "за північноамериканським центральним літнім часом", "ACWDT": "за літнім центральнозахідним австралійським часом", "WAST": "за західноафриканським літнім часом", "OEZ": "за східноєвропейським стандартним часом", "VET": "за часом у Венесуелі", "SRT": "за часом у Суринамі", "CHADT": "за літнім часом на архіпелазі Чатем", "HAT": "за літнім часом у Ньюфаундленд", "ART": "за стандартним аргентинським часом", "TMT": "за стандартним часом у Туркменістані", "COT": "за стандартним колумбійським часом", "WART": "за стандартним західноаргентинським часом", "ADT": "за атлантичним літнім часом", "UYT": "за стандартним часом в Уругваї", "HAST": "за стандартним гавайсько-алеутським часом", "HECU": "за літнім часом на Кубі", "HNPMX": "за стандартним тихоокеанським часом у Мексиці", "SGT": "за часом у Сінгапурі", "ACST": "за стандартним центральноавстралійським часом", "ECT": "за часом в Еквадорі", "AKDT": "за літнім часом на Алясці", "LHST": "за стандартним часом на острові Лорд-Хау", "GFT": "за часом Французької Гвіани", "MESZ": "за центральноєвропейським літнім часом", "HNEG": "за стандартним східним часом у Гренландії", "HENOMX": "за літнім північнозахідним часом у Мексиці", "AEDT": "за літнім східноавстралійським часом", "CLST": "за літнім чилійським часом", "COST": "за літнім колумбійським часом", "HNCU": "за стандартним часом на Кубі", "HNT": "за стандартним часом на острові Ньюфаундленд", "HKST": "за літнім часом у Гонконзі", "AEST": "за стандартним східноавстралійським часом", "EDT": "за північноамериканським східним літнім часом", "MEZ": "за центральноєвропейським стандартним часом", "BOT": "за болівійським часом", "TMST": "за літнім часом у Туркменістані"}, } } @@ -475,7 +475,13 @@ func (uk *uk_UA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) @@ -491,7 +497,13 @@ func (uk *uk_UA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) @@ -509,7 +521,13 @@ func (uk *uk_UA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uk.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd1, 0x80}...) b = append(b, []byte{0x2e}...) diff --git a/ur/ur.go b/ur/ur.go index c1637d380..a4ccf46cd 100644 --- a/ur/ur.go +++ b/ur/ur.go @@ -10,68 +10,64 @@ import ( ) type ur struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ur' locale func New() locales.Translator { return &ur{ - locale: "ur", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "‎-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "Rs", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, - daysAbbreviated: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, - daysShort: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - daysWide: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"قبل دوپہر", "بعد دوپہر"}, - erasAbbreviated: []string{"قبل مسیح", "عیسوی"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"قبل مسیح", "عیسوی"}, - timezones: map[string]string{"ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "COST": "کولمبیا کا موسم گرما کا وقت", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "PDT": "پیسفک ڈے لائٹ ٹائم", "MST": "ماؤنٹین اسٹینڈرڈ ٹائم", "MYT": "ملیشیا ٹائم", "HKST": "ہانگ کانگ سمر ٹائم", "VET": "وینزوئیلا کا وقت", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "WART": "مغربی ارجنٹینا کا معیاری وقت", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "∅∅∅": "برازیلیا سمر ٹائم", "SRT": "سورینام کا وقت", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "COT": "کولمبیا کا معیاری وقت", "ECT": "ایکواڈور کا وقت", "ARST": "ارجنٹینا سمر ٹائم", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "EST": "ایسٹرن اسٹینڈرڈ ٹائم", "CLT": "چلی کا معیاری وقت", "WIB": "مغربی انڈونیشیا ٹائم", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "MDT": "ماؤنٹین ڈے لائٹ ٹائم", "CAT": "وسطی افریقہ ٹائم", "CLST": "چلی کا موسم گرما کا وقت", "UYT": "یوروگوئے کا معیاری وقت", "WARST": "مغربی ارجنٹینا کا موسم گرما کا وقت", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "BOT": "بولیویا کا وقت", "BT": "بھوٹان کا وقت", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "MEZ": "وسطی یورپ کا معیاری وقت", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "EAT": "مشرقی افریقہ ٹائم", "GMT": "گرین وچ کا اصل وقت", "UYST": "یوروگوئے کا موسم گرما کا وقت", "OEZ": "مشرقی یورپ کا معیاری وقت", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "NZST": "نیوزی لینڈ کا معیاری وقت", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "TMST": "ترکمانستان کا موسم گرما کا وقت", "GYT": "گیانا کا وقت", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "AKDT": "الاسکا ڈے لائٹ ٹائم", "WITA": "وسطی انڈونیشیا ٹائم", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "JDT": "جاپان ڈے لائٹ ٹائم", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "IST": "ہندوستان کا معیاری وقت", "TMT": "ترکمانستان کا معیاری وقت", "CHADT": "چیتھم ڈے لائٹ ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "GFT": "فرینچ گیانا کا وقت", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "CDT": "سنٹرل ڈے لائٹ ٹائم", "ChST": "چامورو سٹینڈرڈ ٹائم", "WIT": "مشرقی انڈونیشیا ٹائم"}, + locale: "ur", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "‎-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "Rs", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, + daysAbbreviated: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysWide: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"قبل مسیح", "عیسوی"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"قبل مسیح", "عیسوی"}, + timezones: map[string]string{"EST": "ایسٹرن اسٹینڈرڈ ٹائم", "UYT": "یوروگوئے کا معیاری وقت", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "BT": "بھوٹان کا وقت", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "JDT": "جاپان ڈے لائٹ ٹائم", "BOT": "بولیویا کا وقت", "HECU": "کیوبا ڈے لائٹ ٹائم", "MDT": "MDT", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "EAT": "مشرقی افریقہ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "CDT": "سنٹرل ڈے لائٹ ٹائم", "WIB": "مغربی انڈونیشیا ٹائم", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "HEOG": "مغربی گرین لینڈ کا موسم گرما کا وقت", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "MEZ": "وسطی یورپ کا معیاری وقت", "CHADT": "چیتھم ڈے لائٹ ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "HENOMX": "شمال مغربی میکسیکو ڈے لائٹ ٹائم", "SRT": "سورینام کا وقت", "GFT": "فرینچ گیانا کا وقت", "GMT": "گرین وچ کا اصل وقت", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "UYST": "یوروگوئے کا موسم گرما کا وقت", "PDT": "پیسفک ڈے لائٹ ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "TMT": "ترکمانستان کا معیاری وقت", "CAT": "وسطی افریقہ ٹائم", "ECT": "ایکواڈور کا وقت", "WART": "مغربی ارجنٹینا کا معیاری وقت", "∅∅∅": "ازوریس کا موسم گرما کا وقت", "MST": "MST", "HNPMX": "میکسیکن پیسفک اسٹینڈرڈ ٹائم", "HKST": "ہانگ کانگ سمر ٹائم", "HNPM": "سینٹ پیئر اور مکلیئون اسٹینڈرڈ ٹائم", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "HEEG": "مشرقی گرین لینڈ کا موسم گرما کا وقت", "WIT": "مشرقی انڈونیشیا ٹائم", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "HNEG": "مشرقی گرین لینڈ اسٹینڈرڈ ٹائم", "GYT": "گیانا کا وقت", "VET": "وینزوئیلا کا وقت", "WITA": "وسطی انڈونیشیا ٹائم", "NZST": "نیوزی لینڈ کا معیاری وقت", "WARST": "مغربی ارجنٹینا کا موسم گرما کا وقت", "MYT": "ملیشیا ٹائم", "HEPM": "سینٹ پیئر اور مکلیئون ڈے لائٹ ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "TMST": "ترکمانستان کا موسم گرما کا وقت", "COT": "کولمبیا کا معیاری وقت", "COST": "کولمبیا کا موسم گرما کا وقت", "HEPMX": "میکسیکن پیسفک ڈے لائٹ ٹائم", "AKDT": "الاسکا ڈے لائٹ ٹائم", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "ChST": "چامورو سٹینڈرڈ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "HNOG": "مغربی گرین لینڈ اسٹینڈرڈ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "ARST": "ارجنٹینا سمر ٹائم", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت", "HNNOMX": "شمال مغربی میکسیکو اسٹینڈرڈ ٹائم", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "IST": "ہندوستان کا معیاری وقت", "CLT": "چلی کا معیاری وقت", "CLST": "چلی کا موسم گرما کا وقت", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "OEZ": "مشرقی یورپ کا معیاری وقت", "HNCU": "کیوبا اسٹینڈرڈ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم"}, } } @@ -269,12 +265,9 @@ func (ur *ur) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ur.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 5 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -286,15 +279,9 @@ func (ur *ur) FmtCurrency(num float64, v uint64, currency currency.Type) string } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, ur.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -307,10 +294,6 @@ func (ur *ur) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, symbol[j]) } - for j := len(ur.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ur.minus) - 1; j >= 0; j-- { b = append(b, ur.minus[j]) @@ -342,12 +325,9 @@ func (ur *ur) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ur.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 5 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -359,15 +339,9 @@ func (ur *ur) FmtAccounting(num float64, v uint64, currency currency.Type) strin } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, ur.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -382,10 +356,6 @@ func (ur *ur) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - for j := len(ur.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyNegativePrefix[j]) - } - for j := len(ur.minus) - 1; j >= 0; j-- { b = append(b, ur.minus[j]) } @@ -396,10 +366,6 @@ func (ur *ur) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - for j := len(ur.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyPositivePrefix[j]) - } - } // reverse @@ -445,11 +411,16 @@ func (ur *ur) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ur.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -463,7 +434,12 @@ func (ur *ur) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -479,7 +455,12 @@ func (ur *ur) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ur_IN/ur_IN.go b/ur_IN/ur_IN.go index c37475124..a55aa5ce6 100644 --- a/ur_IN/ur_IN.go +++ b/ur_IN/ur_IN.go @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyNegativePrefix: " ", monthsAbbreviated: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, - daysAbbreviated: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysAbbreviated: []string{"اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, - daysShort: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - daysWide: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysShort: []string{"اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysWide: []string{"اتوار", "پیر", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, periodsAbbreviated: []string{"AM", "PM"}, periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"قبل دوپہر", "بعد دوپہر"}, + periodsWide: []string{"AM", "PM"}, erasAbbreviated: []string{"قبل مسیح", "عیسوی"}, erasNarrow: []string{"", ""}, erasWide: []string{"قبل مسیح", "عیسوی"}, - timezones: map[string]string{"MEZ": "وسطی یورپ کا معیاری وقت", "∅∅∅": "پیرو سمر ٹائم", "MDT": "ماؤنٹین ڈے لائٹ ٹائم", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "SRT": "سورینام ٹائم", "CLT": "چلی سٹینڈرڈ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "GYT": "گیانا ٹائم", "MST": "ماؤنٹین اسٹینڈرڈ ٹائم", "CHADT": "چیتھم ڈے لائٹ ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "PDT": "پیسفک ڈے لائٹ ٹائم", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "CAT": "وسطی افریقہ ٹائم", "BT": "بھوٹان ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "CLST": "چلی سمر ٹائم", "OEZ": "مشرقی یورپ کا معیاری وقت", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "EAT": "مشرقی افریقہ ٹائم", "UYT": "یوروگوئے سٹینڈرڈ ٹائم", "UYST": "یوروگوئے سمر ٹائم", "GFT": "فرینچ گیانا ٹائم", "COST": "کولمبیا سمر ٹائم", "ChST": "چامورو سٹینڈرڈ ٹائم", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت", "HKST": "ہانگ کانگ سمر ٹائم", "WIB": "مغربی انڈونیشیا ٹائم", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "BOT": "بولیویا ٹائم", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "EST": "ایسٹرن اسٹینڈرڈ ٹائم", "WIT": "مشرقی انڈونیشیا ٹائم", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "WART": "مغربی ارجنٹینا سٹینڈرڈ ٹائم", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "WITA": "وسطی انڈونیشیا ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "IST": "انڈیا سٹینڈرڈ ٹائم", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "TMST": "ترکمانستان سمر ٹائم", "COT": "کولمبیا سٹینڈرڈ ٹائم", "VET": "وینزوئیلا ٹائم", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "MYT": "ملیشیا ٹائم", "NZST": "نیوزی لینڈ سٹینڈرڈ ٹائم", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم", "WARST": "مغربی ارجنٹینا سمر ٹائم", "TMT": "ترکمانستان سٹینڈرڈ ٹائم", "CDT": "سنٹرل ڈے لائٹ ٹائم", "GMT": "گرین وچ مین ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "ECT": "ایکواڈور ٹائم", "AKDT": "الاسکا ڈے لائٹ ٹائم", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "JDT": "جاپان ڈے لائٹ ٹائم", "ARST": "ارجنٹینا سمر ٹائم"}, + timezones: map[string]string{"UYST": "یوروگوئے سمر ٹائم", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "ChST": "چامورو سٹینڈرڈ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "GMT": "گرین وچ مین ٹائم", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "ARST": "ارجنٹینا سمر ٹائم", "ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "HEPMX": "میکسیکن پیسفک ڈے لائٹ ٹائم", "CDT": "سنٹرل ڈے لائٹ ٹائم", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "HEOG": "مغربی گرین لینڈ کا موسم گرما کا وقت", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "JDT": "جاپان ڈے لائٹ ٹائم", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "HNOG": "مغربی گرین لینڈ اسٹینڈرڈ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "HKST": "ہانگ کانگ سمر ٹائم", "MEZ": "وسطی یورپ کا معیاری وقت", "HEPM": "سینٹ پیئر اور مکلیئون ڈے لائٹ ٹائم", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "CLST": "چلی سمر ٹائم", "EAT": "مشرقی افریقہ ٹائم", "COST": "کولمبیا سمر ٹائم", "UYT": "یوروگوئے سٹینڈرڈ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "WART": "مغربی ارجنٹینا سٹینڈرڈ ٹائم", "HNNOMX": "شمال مغربی میکسیکو اسٹینڈرڈ ٹائم", "HENOMX": "شمال مغربی میکسیکو ڈے لائٹ ٹائم", "HECU": "کیوبا ڈے لائٹ ٹائم", "CLT": "چلی سٹینڈرڈ ٹائم", "GFT": "فرینچ گیانا ٹائم", "WARST": "مغربی ارجنٹینا سمر ٹائم", "HNPMX": "میکسیکن پیسفک اسٹینڈرڈ ٹائم", "AKDT": "الاسکا ڈے لائٹ ٹائم", "SRT": "سورینام ٹائم", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم", "HNEG": "مشرقی گرین لینڈ اسٹینڈرڈ ٹائم", "∅∅∅": "پیرو سمر ٹائم", "CAT": "وسطی افریقہ ٹائم", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "HNPM": "سینٹ پیئر اور مکلیئون اسٹینڈرڈ ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "ECT": "ایکواڈور ٹائم", "COT": "کولمبیا سٹینڈرڈ ٹائم", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "TMST": "ترکمانستان سمر ٹائم", "CHADT": "چیتھم ڈے لائٹ ٹائم", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "OEZ": "مشرقی یورپ کا معیاری وقت", "HNCU": "کیوبا اسٹینڈرڈ ٹائم", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "VET": "وینزوئیلا ٹائم", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "EST": "ایسٹرن اسٹینڈرڈ ٹائم", "MYT": "ملیشیا ٹائم", "BT": "بھوٹان ٹائم", "PDT": "پیسفک ڈے لائٹ ٹائم", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "HEEG": "مشرقی گرین لینڈ کا موسم گرما کا وقت", "MST": "MST", "GYT": "گیانا ٹائم", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "WITA": "وسطی انڈونیشیا ٹائم", "MDT": "MDT", "WIT": "مشرقی انڈونیشیا ٹائم", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "BOT": "بولیویا ٹائم", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "IST": "انڈیا سٹینڈرڈ ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "TMT": "ترکمانستان سٹینڈرڈ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "WIB": "مغربی انڈونیشیا ٹائم", "NZST": "نیوزی لینڈ سٹینڈرڈ ٹائم"}, } } @@ -445,11 +445,16 @@ func (ur *ur_IN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ur.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -463,7 +468,12 @@ func (ur *ur_IN) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -479,7 +489,12 @@ func (ur *ur_IN) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/ur_PK/ur_PK.go b/ur_PK/ur_PK.go index 19097c669..4d1c371b4 100644 --- a/ur_PK/ur_PK.go +++ b/ur_PK/ur_PK.go @@ -10,68 +10,64 @@ import ( ) type ur_PK struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'ur_PK' locale func New() locales.Translator { return &ur_PK{ - locale: "ur_PK", - pluralsCardinal: []locales.PluralRule{2, 6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "‎-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, - monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, - daysAbbreviated: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, - daysShort: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - daysWide: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, - periodsAbbreviated: []string{"AM", "PM"}, - periodsNarrow: []string{"a", "p"}, - periodsWide: []string{"قبل دوپہر", "بعد دوپہر"}, - erasAbbreviated: []string{"قبل مسیح", "عیسوی"}, - erasNarrow: []string{"", ""}, - erasWide: []string{"قبل مسیح", "عیسوی"}, - timezones: map[string]string{"NZST": "نیوزی لینڈ کا معیاری وقت", "BT": "بھوٹان کا وقت", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "SRT": "سورینام کا وقت", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "MYT": "ملیشیا ٹائم", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "MEZ": "وسطی یورپ کا معیاری وقت", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "COST": "کولمبیا کا موسم گرما کا وقت", "ARST": "ارجنٹینا سمر ٹائم", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "CAT": "وسطی افریقہ ٹائم", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "EST": "ایسٹرن اسٹینڈرڈ ٹائم", "EAT": "مشرقی افریقہ ٹائم", "GMT": "گرین وچ کا اصل وقت", "OEZ": "مشرقی یورپ کا معیاری وقت", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "ECT": "ایکواڈور کا وقت", "VET": "وینزوئیلا کا وقت", "IST": "ہندوستان کا معیاری وقت", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "TMT": "ترکمانستان کا معیاری وقت", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "MST": "ماؤنٹین اسٹینڈرڈ ٹائم", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "WIT": "مشرقی انڈونیشیا ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "GYT": "گیانا کا وقت", "CLST": "چلی کا موسم گرما کا وقت", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "WARST": "مغربی ارجنٹینا کا موسم گرما کا وقت", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "UYT": "یوروگوئے کا معیاری وقت", "COT": "کولمبیا کا معیاری وقت", "WART": "مغربی ارجنٹینا کا معیاری وقت", "CDT": "سنٹرل ڈے لائٹ ٹائم", "∅∅∅": "برازیلیا سمر ٹائم", "TMST": "ترکمانستان کا موسم گرما کا وقت", "MDT": "ماؤنٹین ڈے لائٹ ٹائم", "ChST": "چامورو سٹینڈرڈ ٹائم", "BOT": "بولیویا کا وقت", "CLT": "چلی کا معیاری وقت", "JDT": "جاپان ڈے لائٹ ٹائم", "HKST": "ہانگ کانگ سمر ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "CHADT": "چیتھم ڈے لائٹ ٹائم", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "PDT": "پیسفک ڈے لائٹ ٹائم", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "AKDT": "الاسکا ڈے لائٹ ٹائم", "WITA": "وسطی انڈونیشیا ٹائم", "UYST": "یوروگوئے کا موسم گرما کا وقت", "GFT": "فرینچ گیانا کا وقت", "WIB": "مغربی انڈونیشیا ٹائم", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت"}, + locale: "ur_PK", + pluralsCardinal: []locales.PluralRule{2, 6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "‎-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, + monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, + monthsWide: []string{"", "جنوری", "فروری", "مارچ", "اپریل", "مئی", "جون", "جولائی", "اگست", "ستمبر", "اکتوبر", "نومبر", "دسمبر"}, + daysAbbreviated: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + daysWide: []string{"اتوار", "سوموار", "منگل", "بدھ", "جمعرات", "جمعہ", "ہفتہ"}, + periodsAbbreviated: []string{"AM", "PM"}, + periodsNarrow: []string{"a", "p"}, + periodsWide: []string{"AM", "PM"}, + erasAbbreviated: []string{"قبل مسیح", "عیسوی"}, + erasNarrow: []string{"", ""}, + erasWide: []string{"قبل مسیح", "عیسوی"}, + timezones: map[string]string{"EAT": "مشرقی افریقہ ٹائم", "WART": "مغربی ارجنٹینا کا معیاری وقت", "HNCU": "کیوبا اسٹینڈرڈ ٹائم", "ARST": "ارجنٹینا سمر ٹائم", "AWDT": "آسٹریلین ویسٹرن ڈے لائٹ ٹائم", "JST": "جاپان سٹینڈرڈ ٹائم", "HEEG": "مشرقی گرین لینڈ کا موسم گرما کا وقت", "ACWST": "آسٹریلین سنٹرل ویسٹرن اسٹینڈرڈ ٹائم", "HAST": "ہوائی الیوٹیئن اسٹینڈرڈ ٹائم", "AEST": "آسٹریلین ایسٹرن اسٹینڈرڈ ٹائم", "TMST": "ترکمانستان کا موسم گرما کا وقت", "SGT": "سنگاپور سٹینڈرڈ ٹائم", "EDT": "ایسٹرن ڈے لائٹ ٹائم", "CDT": "سنٹرل ڈے لائٹ ٹائم", "HEPM": "سینٹ پیئر اور مکلیئون ڈے لائٹ ٹائم", "IST": "ہندوستان کا معیاری وقت", "ChST": "چامورو سٹینڈرڈ ٹائم", "HECU": "کیوبا ڈے لائٹ ٹائم", "∅∅∅": "امیزون کا موسم گرما کا وقت", "JDT": "جاپان ڈے لائٹ ٹائم", "HNEG": "مشرقی گرین لینڈ اسٹینڈرڈ ٹائم", "HENOMX": "شمال مغربی میکسیکو ڈے لائٹ ٹائم", "ACWDT": "آسٹریلین سنٹرل ویسٹرن ڈے لائٹ ٹائم", "HAT": "نیو فاؤنڈ لینڈ ڈے لائٹ ٹائم", "PST": "پیسفک اسٹینڈرڈ ٹائم", "WITA": "وسطی انڈونیشیا ٹائم", "MYT": "ملیشیا ٹائم", "UYST": "یوروگوئے کا موسم گرما کا وقت", "WIB": "مغربی انڈونیشیا ٹائم", "TMT": "ترکمانستان کا معیاری وقت", "MST": "MST", "HADT": "ہوائی الیوٹیئن ڈے لائٹ ٹائم", "AWST": "آسٹریلیا ویسٹرن اسٹینڈرڈ ٹائم", "ACST": "آسٹریلین سنٹرل اسٹینڈرڈ ٹائم", "OEZ": "مشرقی یورپ کا معیاری وقت", "AST": "اٹلانٹک اسٹینڈرڈ ٹائم", "HNNOMX": "شمال مغربی میکسیکو اسٹینڈرڈ ٹائم", "AKDT": "الاسکا ڈے لائٹ ٹائم", "VET": "وینزوئیلا کا وقت", "HEOG": "مغربی گرین لینڈ کا موسم گرما کا وقت", "HKT": "ہانگ کانگ سٹینڈرڈ ٹائم", "AEDT": "آسٹریلین ایسٹرن ڈے لائٹ ٹائم", "CHAST": "چیتھم اسٹینڈرڈ ٹائم", "HNPM": "سینٹ پیئر اور مکلیئون اسٹینڈرڈ ٹائم", "CHADT": "چیتھم ڈے لائٹ ٹائم", "MEZ": "وسطی یورپ کا معیاری وقت", "SAST": "جنوبی افریقہ سٹینڈرڈ ٹائم", "UYT": "یوروگوئے کا معیاری وقت", "GFT": "فرینچ گیانا کا وقت", "ACDT": "آسٹریلین سنٹرل ڈے لائٹ ٹائم", "HNPMX": "میکسیکن پیسفک اسٹینڈرڈ ٹائم", "EST": "ایسٹرن اسٹینڈرڈ ٹائم", "CLST": "چلی کا موسم گرما کا وقت", "COT": "کولمبیا کا معیاری وقت", "CST": "سنٹرل اسٹینڈرڈ ٹائم", "PDT": "پیسفک ڈے لائٹ ٹائم", "NZDT": "نیوزی لینڈ ڈے لائٹ ٹائم", "MESZ": "وسطی یورپ کا موسم گرما کا وقت", "LHDT": "لارڈ ہووے ڈے لائٹ ٹائم", "WIT": "مشرقی انڈونیشیا ٹائم", "HKST": "ہانگ کانگ سمر ٹائم", "BOT": "بولیویا کا وقت", "WAT": "مغربی افریقہ سٹینڈرڈ ٹائم", "WAST": "مغربی افریقہ سمر ٹائم", "CLT": "چلی کا معیاری وقت", "ECT": "ایکواڈور کا وقت", "HEPMX": "میکسیکن پیسفک ڈے لائٹ ٹائم", "SRT": "سورینام کا وقت", "ART": "ارجنٹینا سٹینڈرڈ ٹائم", "WESZ": "مغربی یورپ کا موسم گرما کا وقت", "NZST": "نیوزی لینڈ کا معیاری وقت", "LHST": "لارڈ ہووے اسٹینڈرڈ ٹائم", "WARST": "مغربی ارجنٹینا کا موسم گرما کا وقت", "ADT": "اٹلانٹک ڈے لائٹ ٹائم", "GYT": "گیانا کا وقت", "BT": "بھوٹان کا وقت", "HNT": "نیو فاؤنڈ لینڈ اسٹینڈرڈ ٹائم", "HNOG": "مغربی گرین لینڈ اسٹینڈرڈ ٹائم", "WEZ": "مغربی یورپ کا معیاری وقت", "MDT": "MDT", "AKST": "الاسکا اسٹینڈرڈ ٹائم", "OESZ": "مشرقی یورپ کا موسم گرما کا وقت", "CAT": "وسطی افریقہ ٹائم", "COST": "کولمبیا کا موسم گرما کا وقت", "GMT": "گرین وچ کا اصل وقت"}, } } @@ -269,12 +265,9 @@ func (ur *ur_PK) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ur.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 5 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -286,15 +279,9 @@ func (ur *ur_PK) FmtCurrency(num float64, v uint64, currency currency.Type) stri } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, ur.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -307,10 +294,6 @@ func (ur *ur_PK) FmtCurrency(num float64, v uint64, currency currency.Type) stri b = append(b, symbol[j]) } - for j := len(ur.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyPositivePrefix[j]) - } - if num < 0 { for j := len(ur.minus) - 1; j >= 0; j-- { b = append(b, ur.minus[j]) @@ -342,12 +325,9 @@ func (ur *ur_PK) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := ur.currencies[currency] - l := len(s) + len(symbol) + 7 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 5 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 - inSecondary := false - groupThreshold := 3 - b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -359,15 +339,9 @@ func (ur *ur_PK) FmtAccounting(num float64, v uint64, currency currency.Type) st } if inWhole { - - if count == groupThreshold { + if count == 3 { b = append(b, ur.group[0]) count = 1 - - if !inSecondary { - inSecondary = true - groupThreshold = 2 - } } else { count++ } @@ -382,10 +356,6 @@ func (ur *ur_PK) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - for j := len(ur.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyNegativePrefix[j]) - } - for j := len(ur.minus) - 1; j >= 0; j-- { b = append(b, ur.minus[j]) } @@ -396,10 +366,6 @@ func (ur *ur_PK) FmtAccounting(num float64, v uint64, currency currency.Type) st b = append(b, symbol[j]) } - for j := len(ur.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, ur.currencyPositivePrefix[j]) - } - } // reverse @@ -445,11 +411,16 @@ func (ur *ur_PK) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Day()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, ur.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) return string(b) } @@ -463,7 +434,12 @@ func (ur *ur_PK) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -479,7 +455,12 @@ func (ur *ur_PK) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, ur.monthsWide[t.Month()]...) b = append(b, []byte{0xd8, 0x8c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/uz/uz.go b/uz/uz.go index aba720b53..c6790721e 100644 --- a/uz/uz.go +++ b/uz/uz.go @@ -22,8 +22,8 @@ type uz struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "soʻm", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "soʻm", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avg", "sen", "okt", "noy", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "Sentabr", "Oktabr", "noyabr", "dekabr"}, - daysAbbreviated: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, + monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "sentabr", "oktabr", "noyabr", "dekabr"}, + daysAbbreviated: []string{"Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"}, daysNarrow: []string{"Y", "D", "S", "C", "P", "J", "S"}, daysShort: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, daysWide: []string{"yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba"}, periodsAbbreviated: []string{"TO", "TK"}, periodsNarrow: []string{"TO", "TK"}, periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"m.a.", "milodiy"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"HKST": "Gonkong yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "GYT": "Gayana vaqti", "GFT": "Fransuz Gvianasi vaqti", "JDT": "Yaponiya yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "GMT": "Grinvich o‘rtacha vaqti", "HNT": "Nyufaundlend standart vaqti", "HKT": "Gonkong standart vaqti", "ECT": "Ekvador vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "CLT": "Chili standart vaqti", "SRT": "Surinam vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "ADT": "Atlantika yozgi vaqti", "CLST": "Chili yozgi vaqti", "UYT": "Urugvay standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "SGT": "Singapur vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "HAT": "Nyufaundlend yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "NZST": "Yangi Zelandiya standart vaqti", "CHADT": "Chatem yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "BOT": "Boliviya vaqti", "HAST": "Gavayi-aleut standart vaqti", "AST": "Atlantika standart vaqti", "COST": "Kolumbiya yozgi vaqti", "∅∅∅": "Azor orollari yozgi vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "SAST": "Janubiy Afrika standart vaqti", "WITA": "Markaziy Indoneziya vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "ARST": "Argentina yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "BT": "Butan vaqti", "VET": "Venesuela vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "IST": "Hindiston vaqti", "WIT": "Sharqiy Indoneziya vaqti", "CAT": "Markaziy Afrika vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "ART": "Argentina standart vaqti", "CST": "Markaziy Amerika standart vaqti", "JST": "Yaponiya standart vaqti", "LHST": "Lord-Xau standart vaqti", "UYST": "Urugvay yozgi vaqti", "AKST": "Alyaska standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "MYT": "Malayziya vaqti", "ChST": "Chamorro standart vaqti", "COT": "Kolumbiya standart vaqti", "TMT": "Turkmaniston standart vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "CHAST": "Chatem standart vaqti"}, + timezones: map[string]string{"HAST": "Gavayi-aleut standart vaqti", "PST": "Tinch okeani standart vaqti", "CHAST": "Chatem standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "AKST": "Alyaska standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "TMT": "Turkmaniston standart vaqti", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "GYT": "Gayana vaqti", "UYT": "Urugvay standart vaqti", "MST": "Tog‘ standart vaqti (AQSH)", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "BOT": "Boliviya vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "PDT": "Tinch okeani yozgi vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "ECT": "Ekvador vaqti", "AST": "Atlantika standart vaqti", "SRT": "Surinam vaqti", "HNT": "Nyufaundlend standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "JST": "Yaponiya standart vaqti", "GFT": "Fransuz Gvianasi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "EST": "Sharqiy Amerika standart vaqti", "VET": "Venesuela vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "SGT": "Singapur vaqti", "AKDT": "Alyaska yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "ChST": "Chamorro standart vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "MYT": "Malayziya vaqti", "ART": "Argentina standart vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "CST": "Markaziy Amerika standart vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "BT": "Butan vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "IST": "Hindiston vaqti", "CAT": "Markaziy Afrika vaqti", "COT": "Kolumbiya standart vaqti", "EAT": "Sharqiy Afrika vaqti", "COST": "Kolumbiya yozgi vaqti", "HECU": "Kuba yozgi vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "UYST": "Urugvay yozgi vaqti", "CHADT": "Chatem yozgi vaqti", "LHST": "Lord-Xau standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "HNCU": "Kuba standart vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "ADT": "Atlantika yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "HKT": "Gonkong standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "GMT": "Grinvich o‘rtacha vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "HAT": "Nyufaundlend yozgi vaqti", "WITA": "Markaziy Indoneziya vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "CLT": "Chili standart vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "MDT": "Tog‘ yozgi vaqti (AQSH)", "HADT": "Gavayi-aleut yozgi vaqti", "ARST": "Argentina yozgi vaqti", "HKST": "Gonkong yozgi vaqti", "CLST": "Chili yozgi vaqti", "∅∅∅": "Amazonka yozgi vaqti"}, } } @@ -304,14 +304,6 @@ func (uz *uz) FmtCurrency(num float64, v uint64, currency currency.Type) string b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -332,6 +324,10 @@ func (uz *uz) FmtCurrency(num float64, v uint64, currency currency.Type) string } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -370,26 +366,8 @@ func (uz *uz) FmtAccounting(num float64, v uint64, currency currency.Type) strin if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -408,6 +386,15 @@ func (uz *uz) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -449,7 +436,12 @@ func (uz *uz) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +455,12 @@ func (uz *uz) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,17 +472,17 @@ func (uz *uz) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - return string(b) } diff --git a/uz_Arab/uz_Arab.go b/uz_Arab/uz_Arab.go index 261f3901d..7c1fae2b8 100644 --- a/uz_Arab/uz_Arab.go +++ b/uz_Arab/uz_Arab.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "؋", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "جنو", "فبر", "مار", "اپر", "می", "جون", "جول", "اگس", "سپت", "اکت", "نوم", "دسم"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"ق.م.", "م."}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACST": "Markaziy Avstraliya standart vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "IST": "Hindiston vaqti", "HNT": "Nyufaundlend standart vaqti", "JST": "Yaponiya standart vaqti", "GFT": "Fransuz Gvianasi vaqti", "AKDT": "Alyaska yozgi vaqti", "BT": "Butan vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "EAT": "Sharqiy Afrika vaqti", "ChST": "Chamorro standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "HAT": "Nyufaundlend yozgi vaqti", "SGT": "Singapur vaqti", "VET": "Venesuela vaqti", "CST": "Markaziy Amerika standart vaqti", "BOT": "Boliviya vaqti", "CLST": "Chili yozgi vaqti", "ADT": "Atlantika yozgi vaqti", "TMST": "Turkmaniston yozgi vaqti", "MYT": "Malayziya vaqti", "HKT": "Gonkong standart vaqti", "CHAST": "Chatem standart vaqti", "AKST": "Alyaska standart vaqti", "GYT": "Gayana vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "LHST": "Lord-Xau standart vaqti", "CHADT": "Chatem yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "ECT": "Ekvador vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "ART": "Argentina standart vaqti", "ARST": "Argentina yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "CAT": "Markaziy Afrika vaqti", "GMT": "Grinvich o‘rtacha vaqti", "HKST": "Gonkong yozgi vaqti", "COT": "Kolumbiya standart vaqti", "COST": "Kolumbiya yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "AST": "Atlantika standart vaqti", "∅∅∅": "Azor orollari yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "WITA": "Markaziy Indoneziya vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "CLT": "Chili standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "UYST": "Urugvay yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "SRT": "Surinam vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "HAST": "Gavayi-aleut standart vaqti", "UYT": "Urugvay standart vaqti"}, + timezones: map[string]string{"IST": "Hindiston vaqti", "SAST": "Janubiy Afrika standart vaqti", "CLT": "Chili standart vaqti", "HNCU": "Kuba standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "CHAST": "Chatem standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "ART": "Argentina standart vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "MST": "MST", "HAST": "Gavayi-aleut standart vaqti", "SRT": "Surinam vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "HECU": "Kuba yozgi vaqti", "MDT": "MDT", "ARST": "Argentina yozgi vaqti", "TMST": "Turkmaniston yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "AST": "Atlantika standart vaqti", "HKT": "Gonkong standart vaqti", "AKST": "Alyaska standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "HNT": "Nyufaundlend standart vaqti", "BOT": "Boliviya vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "JST": "Yaponiya standart vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "VET": "Venesuela vaqti", "HKST": "Gonkong yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "CHADT": "Chatem yozgi vaqti", "GMT": "Grinvich o‘rtacha vaqti", "CST": "Markaziy Amerika standart vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "PDT": "Tinch okeani yozgi vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "CLST": "Chili yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "MYT": "Malayziya vaqti", "PST": "Tinch okeani standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "WITA": "Markaziy Indoneziya vaqti", "COST": "Kolumbiya yozgi vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "UYT": "Urugvay standart vaqti", "UYST": "Urugvay yozgi vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "EST": "Sharqiy Amerika standart vaqti", "ADT": "Atlantika yozgi vaqti", "GYT": "Gayana vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "ChST": "Chamorro standart vaqti", "ECT": "Ekvador vaqti", "COT": "Kolumbiya standart vaqti", "GFT": "Fransuz Gvianasi vaqti", "BT": "Butan vaqti", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "LHST": "Lord-Xau standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "SGT": "Singapur vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "HAT": "Nyufaundlend yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "∅∅∅": "Amazonka yozgi vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "CAT": "Markaziy Afrika vaqti", "WIB": "Gʻarbiy Indoneziya vaqti"}, } } @@ -411,7 +411,12 @@ func (uz *uz_Arab) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -429,7 +434,12 @@ func (uz *uz_Arab) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -443,7 +453,12 @@ func (uz *uz_Arab) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20, 0xd9, 0x86, 0xda, 0x86, 0xdb, 0x8c, 0x20}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -453,7 +468,12 @@ func (uz *uz_Arab) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20, 0xd9, 0x86, 0xda, 0x86, 0xdb, 0x8c, 0x20, 0xdb, 0x8c, 0xdb, 0x8c, 0xd9, 0x84, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20, 0xd9, 0x86, 0xda, 0x86, 0xdb, 0x8c, 0x20}...) diff --git a/uz_Arab_AF/uz_Arab_AF.go b/uz_Arab_AF/uz_Arab_AF.go index 414d549b3..88a96d7ac 100644 --- a/uz_Arab_AF/uz_Arab_AF.go +++ b/uz_Arab_AF/uz_Arab_AF.go @@ -22,8 +22,8 @@ type uz_Arab_AF struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avg", "sen", "okt", "noy", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "Sentabr", "Oktabr", "noyabr", "dekabr"}, - daysAbbreviated: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, + monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "sentabr", "oktabr", "noyabr", "dekabr"}, + daysAbbreviated: []string{"Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"}, daysNarrow: []string{"Y", "D", "S", "C", "P", "J", "S"}, daysShort: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, daysWide: []string{"yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba"}, periodsAbbreviated: []string{"TO", "TK"}, periodsNarrow: []string{"TO", "TK"}, periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"m.a.", "milodiy"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WIT": "Sharqiy Indoneziya vaqti", "GMT": "Grinvich o‘rtacha vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "CLT": "Chili standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "TMT": "Turkmaniston standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "BOT": "Boliviya vaqti", "HKT": "Gonkong standart vaqti", "IST": "Hindiston vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "AST": "Atlantika standart vaqti", "WITA": "Markaziy Indoneziya vaqti", "CAT": "Markaziy Afrika vaqti", "CHADT": "Chatem yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "CST": "Markaziy Amerika standart vaqti", "HAT": "Nyufaundlend yozgi vaqti", "SGT": "Singapur vaqti", "VET": "Venesuela vaqti", "ART": "Argentina standart vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "JDT": "Yaponiya yozgi vaqti", "CHAST": "Chatem standart vaqti", "SRT": "Surinam vaqti", "LHDT": "Lord-Xau yozgi vaqti", "COST": "Kolumbiya yozgi vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "CLST": "Chili yozgi vaqti", "LHST": "Lord-Xau standart vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "ARST": "Argentina yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "UYT": "Urugvay standart vaqti", "UYST": "Urugvay yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "TMST": "Turkmaniston yozgi vaqti", "BT": "Butan vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "AKST": "Alyaska standart vaqti", "EST": "Sharqiy Amerika standart vaqti", "∅∅∅": "Azor orollari yozgi vaqti", "ChST": "Chamorro standart vaqti", "JST": "Yaponiya standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "MYT": "Malayziya vaqti", "GFT": "Fransuz Gvianasi vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "COT": "Kolumbiya standart vaqti", "EAT": "Sharqiy Afrika vaqti", "HAST": "Gavayi-aleut standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "ECT": "Ekvador vaqti", "SAST": "Janubiy Afrika standart vaqti", "ADT": "Atlantika yozgi vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "HKST": "Gonkong yozgi vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "GYT": "Gayana vaqti", "HNT": "Nyufaundlend standart vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti"}, + timezones: map[string]string{"CLT": "Chili standart vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "PST": "Tinch okeani standart vaqti", "ARST": "Argentina yozgi vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "HAT": "Nyufaundlend yozgi vaqti", "ART": "Argentina standart vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "MST": "MST", "WIB": "Gʻarbiy Indoneziya vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "COT": "Kolumbiya standart vaqti", "UYST": "Urugvay yozgi vaqti", "HNT": "Nyufaundlend standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "COST": "Kolumbiya yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "BT": "Butan vaqti", "CLST": "Chili yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "MYT": "Malayziya vaqti", "JDT": "Yaponiya yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "BOT": "Boliviya vaqti", "GFT": "Fransuz Gvianasi vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "MDT": "MDT", "WEZ": "G‘arbiy Yevropa standart vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "LHDT": "Lord-Xau yozgi vaqti", "CHADT": "Chatem yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "GYT": "Gayana vaqti", "VET": "Venesuela vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "ChST": "Chamorro standart vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "HNCU": "Kuba standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "JST": "Yaponiya standart vaqti", "HKST": "Gonkong yozgi vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "AKST": "Alyaska standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "HECU": "Kuba yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "UYT": "Urugvay standart vaqti", "CST": "Markaziy Amerika standart vaqti", "ADT": "Atlantika yozgi vaqti", "∅∅∅": "Amazonka yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "GMT": "Grinvich o‘rtacha vaqti", "WIT": "Sharqiy Indoneziya vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "IST": "Hindiston vaqti", "WITA": "Markaziy Indoneziya vaqti", "ECT": "Ekvador vaqti", "SGT": "Singapur vaqti", "AST": "Atlantika standart vaqti", "PDT": "Tinch okeani yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "HKT": "Gonkong standart vaqti", "CAT": "Markaziy Afrika vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "LHST": "Lord-Xau standart vaqti", "HAST": "Gavayi-aleut standart vaqti", "SRT": "Surinam vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "CHAST": "Chatem standart vaqti", "CDT": "Markaziy Amerika yozgi vaqti"}, } } @@ -304,14 +304,6 @@ func (uz *uz_Arab_AF) FmtCurrency(num float64, v uint64, currency currency.Type) b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -332,6 +324,10 @@ func (uz *uz_Arab_AF) FmtCurrency(num float64, v uint64, currency currency.Type) } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -370,26 +366,8 @@ func (uz *uz_Arab_AF) FmtAccounting(num float64, v uint64, currency currency.Typ if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -408,6 +386,15 @@ func (uz *uz_Arab_AF) FmtAccounting(num float64, v uint64, currency currency.Typ } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -449,7 +436,12 @@ func (uz *uz_Arab_AF) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +455,12 @@ func (uz *uz_Arab_AF) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,17 +472,17 @@ func (uz *uz_Arab_AF) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - return string(b) } diff --git a/uz_Cyrl/uz_Cyrl.go b/uz_Cyrl/uz_Cyrl.go index f0ae5d378..fcec1bbfe 100644 --- a/uz_Cyrl/uz_Cyrl.go +++ b/uz_Cyrl/uz_Cyrl.go @@ -22,8 +22,8 @@ type uz_Cyrl struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "؉", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "сўм", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", - monthsAbbreviated: []string{"", "Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "сўм", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"}, monthsNarrow: []string{"", "Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"}, - monthsWide: []string{"", "Январ", "Феврал", "Март", "Апрел", "Май", "Июн", "Июл", "Август", "Сентябр", "Октябр", "Ноябр", "Декабр"}, - daysAbbreviated: []string{"Якш", "Душ", "Сеш", "Чор", "Пай", "Жум", "Шан"}, + monthsWide: []string{"", "январ", "феврал", "март", "апрел", "май", "июн", "июл", "август", "сентябр", "октябр", "ноябр", "декабр"}, + daysAbbreviated: []string{"якш", "душ", "сеш", "чор", "пай", "жум", "шан"}, daysNarrow: []string{"Я", "Д", "С", "Ч", "П", "Ж", "Ш"}, - daysShort: []string{"Якш", "Душ", "Сеш", "Чор", "Пай", "Жум", "Шан"}, + daysShort: []string{"Як", "Ду", "Се", "Чо", "Па", "Жу", "Ша"}, daysWide: []string{"якшанба", "душанба", "сешанба", "чоршанба", "пайшанба", "жума", "шанба"}, - periodsAbbreviated: []string{"TO", "TK"}, - periodsNarrow: []string{"TO", "TK"}, - periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"М.А.", "Э"}, + periodsAbbreviated: []string{"ТО", "ТК"}, + periodsNarrow: []string{"ТО", "ТК"}, + periodsWide: []string{"ТО", "ТК"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"LHST": "Лорд Хове стандарт вақти", "SGT": "Сингапур вақти", "PST": "Шимолий Америка тинч океани стандарт вақти", "NZDT": "Янги Зеландия кундузги вақти", "ChST": "Каморро вақти", "CAT": "Марказий Африка вақти", "CHADT": "Чатхам кундузги вақти", "AEST": "Шарқий Австралия стандарт вақти", "AKDT": "Аляска кундузги вақти", "MST": "Шимолий Америка тоғ стандарт вақти", "HAST": "Гавайи-алеут стандарт вақти", "GYT": "Гайана вақти", "NZST": "Янги Зеландия стандарт вақти", "∅∅∅": "Бразилия ёзги вақти", "WEZ": "Ғарбий Европа стандарт вақти", "WARST": "Ғарбий Аргентина ёзги вақти", "ADT": "Атлантика кундузги вақти", "WITA": "Марказий Индонезия вақти", "MDT": "Шимолий Америка тоғ кундузги вақти", "HNT": "Ньюфаундленд стандарт вақти", "AWDT": "Ғарбий Австралия кундузги вақти", "UYT": "Уругвай стандарт вақти", "OEZ": "Шарқий Европа стандарт вақти", "COT": "Колумбия стандарт вақти", "HADT": "Гавайи-алеут кундузги вақти", "AEDT": "Шарқий Австралия кундузги вақти", "ARST": "Аргентина ёзги вақти", "MYT": "Малайзия вақти", "GMT": "Гринвич вақти", "CHAST": "Чатхам стандарт вақти", "MEZ": "Марказий Европа стандарт вақти", "EAT": "Шарқий Африка вақти", "ACWST": "Марказий Австралия Ғарбий стандарт вақти", "ACWDT": "Марказий Австралия Ғарбий кундузги вақти", "ART": "Аргентина стандарт вақти", "IST": "Ҳиндистон вақти", "AWST": "Ғарбий Австралия стандарт вақти", "UYST": "Уругвай ёзги вақти", "JST": "Япония стандарт вақти", "GFT": "Француз Гвианаси вақти", "SRT": "Суринам вақти", "VET": "Венесуэла вақти", "PDT": "Шимолий Америка тинч океани кундузги вақти", "BT": "Бутан вақти", "JDT": "Япония кундузги вақти", "EST": "Шимолий Америка шарқий стандарт вақти", "BOT": "Боливия вақти", "HKT": "Гонконг стандарт вақти", "HAT": "Ньюфаундленд кундузги вақти", "OESZ": "Шарқий Европа ёзги вақти", "ACST": "Марказий Австралия стандарт вақти", "TMST": "Туркманистон ёзги вақти", "ECT": "Эквадор вақти", "WAT": "Ғарбий Африка стандарт вақти", "WAST": "Ғарбий Африка ёзги вақти", "AKST": "Аляска стандарт вақти", "EDT": "Шимолий Америка шарқий кундузги вақти", "CST": "Шимолий Америка марказий стандарт вақти", "CDT": "Шимолий Америка марказий кундузги вақти", "LHDT": "Лорд Хове кундузги вақти", "SAST": "Жанубий Африка вақти", "WIT": "Шарқий Индонезия вақти", "WESZ": "Ғарбий Европа ёзги вақти", "TMT": "Туркманистон стандарт вақти", "CLST": "Чили ёзги вақти", "ACDT": "Марказий Австралия кундузги вақти", "WIB": "Ғарбий Индонезия вақти", "AST": "Атлантика стандарт вақти", "CLT": "Чили стандарт вақти", "HKST": "Гонконг ёзги вақти", "MESZ": "Марказий Европа ёзги вақти", "COST": "Колумбия ёзги вақти", "WART": "Ғарбий Аргентина стандарт вақти"}, + timezones: map[string]string{"BOT": "Боливия вақти", "WARST": "Ғарбий Аргентина ёзги вақти", "HNPM": "Сент-Пьер ва Микелон стандарт вақти", "MESZ": "Марказий Европа ёзги вақти", "NZDT": "Янги Зеландия кундузги вақти", "CHAST": "Чатхам стандарт вақти", "WAT": "Ғарбий Африка стандарт вақти", "ADT": "Атлантика кундузги вақти", "AWST": "Ғарбий Австралия стандарт вақти", "HNCU": "Куба стандарт вақти", "MST": "MST", "HNPMX": "Meksika Tinch okeani standart vaqti", "WIT": "Шарқий Индонезия вақти", "BT": "Бутан вақти", "WEZ": "Ғарбий Европа стандарт вақти", "HNT": "Ньюфаундленд стандарт вақти", "HEOG": "Ғарбий Гренландия ёзги вақти", "AEST": "Шарқий Австралия стандарт вақти", "JST": "Япония стандарт вақти", "TMST": "Туркманистон ёзги вақти", "SGT": "Сингапур вақти", "HECU": "Куба кундузги вақти", "CST": "Шимолий Америка марказий стандарт вақти", "ACWDT": "Марказий Австралия Ғарбий кундузги вақти", "CLST": "Чили ёзги вақти", "WART": "Ғарбий Аргентина стандарт вақти", "GMT": "Гринвич вақти", "WIB": "Ғарбий Индонезия вақти", "TMT": "Туркманистон стандарт вақти", "GYT": "Гайана вақти", "SRT": "Суринам вақти", "PST": "Шимолий Америка тинч океани стандарт вақти", "PDT": "Шимолий Америка тинч океани кундузги вақти", "ACST": "Марказий Австралия стандарт вақти", "ECT": "Эквадор вақти", "COST": "Колумбия ёзги вақти", "HADT": "Гавайи-алеут кундузги вақти", "HAT": "Ньюфаундленд кундузги вақти", "GFT": "Француз Гвианаси вақти", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "AST": "Атлантика стандарт вақти", "UYST": "Уругвай ёзги вақти", "HKT": "Гонконг стандарт вақти", "HEPM": "Сент-Пьер ва Микелон кундузги вақти", "IST": "Ҳиндистон вақти", "CLT": "Чили стандарт вақти", "JDT": "Япония кундузги вақти", "OESZ": "Шарқий Европа ёзги вақти", "EDT": "Шимолий Америка шарқий кундузги вақти", "ACWST": "Марказий Австралия Ғарбий стандарт вақти", "ARST": "Аргентина ёзги вақти", "WITA": "Марказий Индонезия вақти", "NZST": "Янги Зеландия стандарт вақти", "ChST": "Каморро вақти", "HNEG": "Шарқий Гренландия стандарт вақти", "EST": "Шимолий Америка шарқий стандарт вақти", "AEDT": "Шарқий Австралия кундузги вақти", "MEZ": "Марказий Европа стандарт вақти", "LHST": "Лорд Хове стандарт вақти", "CHADT": "Чатхам кундузги вақти", "WAST": "Ғарбий Африка ёзги вақти", "∅∅∅": "Перу ёзги вақти", "COT": "Колумбия стандарт вақти", "HAST": "Гавайи-алеут стандарт вақти", "ART": "Аргентина стандарт вақти", "HKST": "Гонконг ёзги вақти", "HEEG": "Шарқий Гренландия ёзги вақти", "ACDT": "Марказий Австралия кундузги вақти", "EAT": "Шарқий Африка вақти", "OEZ": "Шарқий Европа стандарт вақти", "MDT": "MDT", "CDT": "Шимолий Америка марказий кундузги вақти", "VET": "Венесуэла вақти", "HNOG": "Ғарбий Гренландия стандарт вақти", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "AKST": "Аляска стандарт вақти", "CAT": "Марказий Африка вақти", "MYT": "Малайзия вақти", "UYT": "Уругвай стандарт вақти", "WESZ": "Ғарбий Европа ёзги вақти", "LHDT": "Лорд Хове кундузги вақти", "SAST": "Жанубий Африка вақти", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "AKDT": "Аляска кундузги вақти", "AWDT": "Ғарбий Австралия кундузги вақти"}, } } @@ -310,14 +310,6 @@ func (uz *uz_Cyrl) FmtCurrency(num float64, v uint64, currency currency.Type) st b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -338,6 +330,10 @@ func (uz *uz_Cyrl) FmtCurrency(num float64, v uint64, currency currency.Type) st } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -378,26 +374,8 @@ func (uz *uz_Cyrl) FmtAccounting(num float64, v uint64, currency currency.Type) if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -416,6 +394,15 @@ func (uz *uz_Cyrl) FmtAccounting(num float64, v uint64, currency currency.Type) } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -453,11 +440,16 @@ func (uz *uz_Cyrl) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -467,11 +459,16 @@ func (uz *uz_Cyrl) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2c, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -483,16 +480,21 @@ func (uz *uz_Cyrl) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) - b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) if t.Day() < 10 { b = append(b, '0') } b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x20}...) + b = append(b, uz.monthsWide[t.Month()]...) + b = append(b, []byte{0x2c, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -570,11 +572,13 @@ func (uz *uz_Cyrl) FmtTimeLong(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x20, 0x28}...) tz, _ := t.Zone() b = append(b, tz...) + b = append(b, []byte{0x29}...) + return string(b) } @@ -602,7 +606,7 @@ func (uz *uz_Cyrl) FmtTimeFull(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x20, 0x28}...) tz, _ := t.Zone() @@ -612,5 +616,7 @@ func (uz *uz_Cyrl) FmtTimeFull(t time.Time) string { b = append(b, tz...) } + b = append(b, []byte{0x29}...) + return string(b) } diff --git a/uz_Cyrl_UZ/uz_Cyrl_UZ.go b/uz_Cyrl_UZ/uz_Cyrl_UZ.go index da82dec5c..f189940dd 100644 --- a/uz_Cyrl_UZ/uz_Cyrl_UZ.go +++ b/uz_Cyrl_UZ/uz_Cyrl_UZ.go @@ -22,8 +22,8 @@ type uz_Cyrl_UZ struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avg", "sen", "okt", "noy", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "Sentabr", "Oktabr", "noyabr", "dekabr"}, - daysAbbreviated: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, + monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "sentabr", "oktabr", "noyabr", "dekabr"}, + daysAbbreviated: []string{"Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"}, daysNarrow: []string{"Y", "D", "S", "C", "P", "J", "S"}, daysShort: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, daysWide: []string{"yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba"}, periodsAbbreviated: []string{"TO", "TK"}, periodsNarrow: []string{"TO", "TK"}, periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"m.a.", "milodiy"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"ACST": "Markaziy Avstraliya standart vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "AKST": "Alyaska standart vaqti", "TMT": "Turkmaniston standart vaqti", "CAT": "Markaziy Afrika vaqti", "BT": "Butan vaqti", "JDT": "Yaponiya yozgi vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "ART": "Argentina standart vaqti", "WITA": "Markaziy Indoneziya vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "GYT": "Gayana vaqti", "MYT": "Malayziya vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "CHAST": "Chatem standart vaqti", "CHADT": "Chatem yozgi vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "∅∅∅": "Peru yozgi vaqti", "NZST": "Yangi Zelandiya standart vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "BOT": "Boliviya vaqti", "CLST": "Chili yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ADT": "Atlantika yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "HNT": "Nyufaundlend standart vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "GMT": "Grinvich o‘rtacha vaqti", "LHST": "Lord-Xau standart vaqti", "SRT": "Surinam vaqti", "GFT": "Fransuz Gvianasi vaqti", "COST": "Kolumbiya yozgi vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "LHDT": "Lord-Xau yozgi vaqti", "JST": "Yaponiya standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "ARST": "Argentina yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "HAT": "Nyufaundlend yozgi vaqti", "COT": "Kolumbiya standart vaqti", "EAT": "Sharqiy Afrika vaqti", "IST": "Hindiston vaqti", "ChST": "Chamorro standart vaqti", "UYT": "Urugvay standart vaqti", "HKT": "Gonkong standart vaqti", "HKST": "Gonkong yozgi vaqti", "CLT": "Chili standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "SGT": "Singapur vaqti", "SAST": "Janubiy Afrika standart vaqti", "CST": "Markaziy Amerika standart vaqti", "UYST": "Urugvay yozgi vaqti", "ECT": "Ekvador vaqti", "VET": "Venesuela vaqti", "HAST": "Gavayi-aleut standart vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "AST": "Atlantika standart vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "WIT": "Sharqiy Indoneziya vaqti"}, + timezones: map[string]string{"WITA": "Markaziy Indoneziya vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "HKST": "Gonkong yozgi vaqti", "GMT": "Grinvich o‘rtacha vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "AST": "Atlantika standart vaqti", "GYT": "Gayana vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "HAT": "Nyufaundlend yozgi vaqti", "PDT": "Tinch okeani yozgi vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "AKST": "Alyaska standart vaqti", "CST": "Markaziy Amerika standart vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "∅∅∅": "Peru yozgi vaqti", "PST": "Tinch okeani standart vaqti", "LHST": "Lord-Xau standart vaqti", "JST": "Yaponiya standart vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "HNCU": "Kuba standart vaqti", "HAST": "Gavayi-aleut standart vaqti", "SRT": "Surinam vaqti", "ARST": "Argentina yozgi vaqti", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "MYT": "Malayziya vaqti", "BOT": "Boliviya vaqti", "NZST": "Yangi Zelandiya standart vaqti", "CHADT": "Chatem yozgi vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "HECU": "Kuba yozgi vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "WIT": "Sharqiy Indoneziya vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "COST": "Kolumbiya yozgi vaqti", "ADT": "Atlantika yozgi vaqti", "UYT": "Urugvay standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "VET": "Venesuela vaqti", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "ChST": "Chamorro standart vaqti", "JDT": "Yaponiya yozgi vaqti", "CLT": "Chili standart vaqti", "GFT": "Fransuz Gvianasi vaqti", "AKDT": "Alyaska yozgi vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "HKT": "Gonkong standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "CAT": "Markaziy Afrika vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "BT": "Butan vaqti", "CHAST": "Chatem standart vaqti", "ECT": "Ekvador vaqti", "MST": "MST", "UYST": "Urugvay yozgi vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "IST": "Hindiston vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "HNT": "Nyufaundlend standart vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "CLST": "Chili yozgi vaqti", "TMST": "Turkmaniston yozgi vaqti", "COT": "Kolumbiya standart vaqti", "SGT": "Singapur vaqti", "MDT": "MDT", "ART": "Argentina standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti"}, } } @@ -304,14 +304,6 @@ func (uz *uz_Cyrl_UZ) FmtCurrency(num float64, v uint64, currency currency.Type) b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -332,6 +324,10 @@ func (uz *uz_Cyrl_UZ) FmtCurrency(num float64, v uint64, currency currency.Type) } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -370,26 +366,8 @@ func (uz *uz_Cyrl_UZ) FmtAccounting(num float64, v uint64, currency currency.Typ if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -408,6 +386,15 @@ func (uz *uz_Cyrl_UZ) FmtAccounting(num float64, v uint64, currency currency.Typ } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -449,7 +436,12 @@ func (uz *uz_Cyrl_UZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +455,12 @@ func (uz *uz_Cyrl_UZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,17 +472,17 @@ func (uz *uz_Cyrl_UZ) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - return string(b) } diff --git a/uz_Latn/uz_Latn.go b/uz_Latn/uz_Latn.go index 256024582..ff7acd58c 100644 --- a/uz_Latn/uz_Latn.go +++ b/uz_Latn/uz_Latn.go @@ -22,8 +22,8 @@ type uz_Latn struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avg", "sen", "okt", "noy", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "Sentabr", "Oktabr", "noyabr", "dekabr"}, - daysAbbreviated: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, + monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "sentabr", "oktabr", "noyabr", "dekabr"}, + daysAbbreviated: []string{"Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"}, daysNarrow: []string{"Y", "D", "S", "C", "P", "J", "S"}, daysShort: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, daysWide: []string{"yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba"}, periodsAbbreviated: []string{"TO", "TK"}, periodsNarrow: []string{"TO", "TK"}, periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"m.a.", "milodiy"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"SAST": "Janubiy Afrika standart vaqti", "∅∅∅": "∅∅∅", "WEZ": "G‘arbiy Yevropa standart vaqti", "HKT": "Gonkong standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "SGT": "Singapur vaqti", "ECT": "Ekvador vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "AST": "Atlantika standart vaqti", "ADT": "Atlantika yozgi vaqti", "ChST": "Chamorro standart vaqti", "HAT": "Nyufaundlend yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "GFT": "Fransuz Gvianasi vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "IST": "Hindiston vaqti", "AKDT": "Alyaska yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "JDT": "Yaponiya yozgi vaqti", "HAST": "Gavayi-aleut standart vaqti", "BOT": "Boliviya vaqti", "CAT": "Markaziy Afrika vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "CLST": "Chili yozgi vaqti", "UYST": "Urugvay yozgi vaqti", "JST": "Yaponiya standart vaqti", "HKST": "Gonkong yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "AKST": "Alyaska standart vaqti", "BT": "Butan vaqti", "GMT": "Grinvich o‘rtacha vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "CHAST": "Chatem standart vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "NZST": "Yangi Zelandiya standart vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "GYT": "Gayana vaqti", "LHST": "Lord-Xau standart vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "WITA": "Markaziy Indoneziya vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "ART": "Argentina standart vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "HNT": "Nyufaundlend standart vaqti", "UYT": "Urugvay standart vaqti", "ARST": "Argentina yozgi vaqti", "LHDT": "Lord-Xau yozgi vaqti", "SRT": "Surinam vaqti", "COT": "Kolumbiya standart vaqti", "CST": "Markaziy Amerika standart vaqti", "COST": "Kolumbiya yozgi vaqti", "VET": "Venesuela vaqti", "EAT": "Sharqiy Afrika vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "MYT": "Malayziya vaqti", "CHADT": "Chatem yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "CLT": "Chili standart vaqti"}, + timezones: map[string]string{"CDT": "Markaziy Amerika yozgi vaqti", "UYT": "Urugvay standart vaqti", "AKST": "Alyaska standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "SRT": "Surinam vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "CHADT": "Chatem yozgi vaqti", "GFT": "Fransuz Gvianasi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "∅∅∅": "Azor orollari yozgi vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "MYT": "Malayziya vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "ChST": "Chamorro standart vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "CST": "Markaziy Amerika standart vaqti", "UYST": "Urugvay yozgi vaqti", "HNT": "Nyufaundlend standart vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "BOT": "Boliviya vaqti", "CAT": "Markaziy Afrika vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "SGT": "Singapur vaqti", "HAST": "Gavayi-aleut standart vaqti", "PDT": "Tinch okeani yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "HNCU": "Kuba standart vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "CLT": "Chili standart vaqti", "ECT": "Ekvador vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "VET": "Venesuela vaqti", "WITA": "Markaziy Indoneziya vaqti", "JST": "Yaponiya standart vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "MST": "MST", "GYT": "Gayana vaqti", "HAT": "Nyufaundlend yozgi vaqti", "ARST": "Argentina yozgi vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "COT": "Kolumbiya standart vaqti", "HECU": "Kuba yozgi vaqti", "PST": "Tinch okeani standart vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "HKST": "Gonkong yozgi vaqti", "TMST": "Turkmaniston yozgi vaqti", "AST": "Atlantika standart vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "CHAST": "Chatem standart vaqti", "NZST": "Yangi Zelandiya standart vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "MDT": "MDT", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "BT": "Butan vaqti", "HKT": "Gonkong standart vaqti", "EAT": "Sharqiy Afrika vaqti", "ADT": "Atlantika yozgi vaqti", "AKDT": "Alyaska yozgi vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "LHST": "Lord-Xau standart vaqti", "COST": "Kolumbiya yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "IST": "Hindiston vaqti", "GMT": "Grinvich o‘rtacha vaqti", "ART": "Argentina standart vaqti", "CLST": "Chili yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti"}, } } @@ -304,14 +304,6 @@ func (uz *uz_Latn) FmtCurrency(num float64, v uint64, currency currency.Type) st b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -332,6 +324,10 @@ func (uz *uz_Latn) FmtCurrency(num float64, v uint64, currency currency.Type) st } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -370,26 +366,8 @@ func (uz *uz_Latn) FmtAccounting(num float64, v uint64, currency currency.Type) if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -408,6 +386,15 @@ func (uz *uz_Latn) FmtAccounting(num float64, v uint64, currency currency.Type) } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -449,7 +436,12 @@ func (uz *uz_Latn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +455,12 @@ func (uz *uz_Latn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,17 +472,17 @@ func (uz *uz_Latn) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - return string(b) } diff --git a/uz_Latn_UZ/uz_Latn_UZ.go b/uz_Latn_UZ/uz_Latn_UZ.go index f8343e2d9..32082b982 100644 --- a/uz_Latn_UZ/uz_Latn_UZ.go +++ b/uz_Latn_UZ/uz_Latn_UZ.go @@ -22,8 +22,8 @@ type uz_Latn_UZ struct { timeSeparator string inifinity string currencies []string // idx = enum of currency code - currencyPositivePrefix string - currencyNegativePrefix string + currencyPositiveSuffix string + currencyNegativeSuffix string monthsAbbreviated []string monthsNarrow []string monthsWide []string @@ -55,23 +55,23 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyPositivePrefix: " ", - currencyNegativePrefix: " ", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "yan", "fev", "mar", "apr", "may", "iyn", "iyl", "avg", "sen", "okt", "noy", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "Sentabr", "Oktabr", "noyabr", "dekabr"}, - daysAbbreviated: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, + monthsWide: []string{"", "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "sentabr", "oktabr", "noyabr", "dekabr"}, + daysAbbreviated: []string{"Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"}, daysNarrow: []string{"Y", "D", "S", "C", "P", "J", "S"}, daysShort: []string{"Ya", "Du", "Se", "Ch", "Pa", "Ju", "Sh"}, daysWide: []string{"yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba"}, periodsAbbreviated: []string{"TO", "TK"}, periodsNarrow: []string{"TO", "TK"}, periodsWide: []string{"TO", "TK"}, - erasAbbreviated: []string{"", ""}, + erasAbbreviated: []string{"m.a.", "milodiy"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"WAST": "Gʻarbiy Afrika yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "CLT": "Chili standart vaqti", "GMT": "Grinvich o‘rtacha vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "CHAST": "Chatem standart vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "SAST": "Janubiy Afrika standart vaqti", "COST": "Kolumbiya yozgi vaqti", "ECT": "Ekvador vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "HNT": "Nyufaundlend standart vaqti", "COT": "Kolumbiya standart vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "WITA": "Markaziy Indoneziya vaqti", "LHST": "Lord-Xau standart vaqti", "SGT": "Singapur vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "VET": "Venesuela vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "ChST": "Chamorro standart vaqti", "GYT": "Gayana vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "HKST": "Gonkong yozgi vaqti", "PDT": "Shimoliy Amerika Tinch okeani yozgi vaqti", "NZST": "Yangi Zelandiya standart vaqti", "CLST": "Chili yozgi vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "SRT": "Surinam vaqti", "AKST": "Alyaska standart vaqti", "MDT": "Shimoliy Amerika togʻ yozgi vaqti", "ADT": "Atlantika yozgi vaqti", "∅∅∅": "Azor orollari yozgi vaqti", "GFT": "Fransuz Gvianasi vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "HAST": "Gavayi-aleut standart vaqti", "EST": "Sharqiy Amerika standart vaqti", "AKDT": "Alyaska yozgi vaqti", "MST": "Shimoliy Amerika togʻ standart vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "HAT": "Nyufaundlend yozgi vaqti", "LHDT": "Lord-Xau yozgi vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ARST": "Argentina yozgi vaqti", "AWST": "G‘arbiy Avstraliya standart vaqti", "MYT": "Malayziya vaqti", "BOT": "Boliviya vaqti", "AST": "Atlantika standart vaqti", "TMT": "Turkmaniston standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "BT": "Butan vaqti", "WIT": "Sharqiy Indoneziya vaqti", "JST": "Yaponiya standart vaqti", "PST": "Shimoliy Amerika Tinch okeani standart vaqti", "UYT": "Urugvay standart vaqti", "UYST": "Urugvay yozgi vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "CHADT": "Chatem yozgi vaqti", "ART": "Argentina standart vaqti", "CST": "Markaziy Amerika standart vaqti", "CAT": "Markaziy Afrika vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "HKT": "Gonkong standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "IST": "Hindiston vaqti"}, + timezones: map[string]string{"AWST": "G‘arbiy Avstraliya standart vaqti", "AWDT": "G‘arbiy Avstraliya yozgi vaqti", "NZST": "Yangi Zelandiya standart vaqti", "IST": "Hindiston vaqti", "ACST": "Markaziy Avstraliya standart vaqti", "CST": "Markaziy Amerika standart vaqti", "AST": "Atlantika standart vaqti", "WITA": "Markaziy Indoneziya vaqti", "HECU": "Kuba yozgi vaqti", "HKST": "Gonkong yozgi vaqti", "MEZ": "Markaziy Yevropa standart vaqti", "COT": "Kolumbiya standart vaqti", "MESZ": "Markaziy Yevropa yozgi vaqti", "∅∅∅": "Amazonka yozgi vaqti", "JST": "Yaponiya standart vaqti", "UYT": "Urugvay standart vaqti", "HKT": "Gonkong standart vaqti", "AEDT": "Sharqiy Avstraliya yozgi vaqti", "JDT": "Yaponiya yozgi vaqti", "HAST": "Gavayi-aleut standart vaqti", "HADT": "Gavayi-aleut yozgi vaqti", "EST": "Sharqiy Amerika standart vaqti", "HEPMX": "Meksika Tinch okeani yozgi vaqti", "WESZ": "G‘arbiy Yevropa yozgi vaqti", "CLST": "Chili yozgi vaqti", "WAT": "Gʻarbiy Afrika standart vaqti", "TMST": "Turkmaniston yozgi vaqti", "ChST": "Chamorro standart vaqti", "CDT": "Markaziy Amerika yozgi vaqti", "WIT": "Sharqiy Indoneziya vaqti", "HEPM": "Sen-Pyer va Mikelon yozgi vaqti", "WAST": "Gʻarbiy Afrika yozgi vaqti", "WART": "Gʻarbiy Argentina standart vaqti", "SGT": "Singapur vaqti", "ADT": "Atlantika yozgi vaqti", "SRT": "Surinam vaqti", "CHAST": "Chatem standart vaqti", "CHADT": "Chatem yozgi vaqti", "HEEG": "Sharqiy Grenlandiya yozgi vaqti", "GFT": "Fransuz Gvianasi vaqti", "ARST": "Argentina yozgi vaqti", "TMT": "Turkmaniston standart vaqti", "ECT": "Ekvador vaqti", "COST": "Kolumbiya yozgi vaqti", "EDT": "Sharqiy Amerika yozgi vaqti", "GYT": "Gayana vaqti", "MYT": "Malayziya vaqti", "HNT": "Nyufaundlend standart vaqti", "HNOG": "G‘arbiy Grenlandiya standart vaqti", "HEOG": "G‘arbiy Grenlandiya yozgi vaqti", "PDT": "Tinch okeani yozgi vaqti", "HNPM": "Sen-Pyer va Mikelon standart vaqti", "HNPMX": "Meksika Tinch okeani standart vaqti", "AKST": "Alyaska standart vaqti", "MDT": "Tog‘ yozgi vaqti (AQSH)", "BT": "Butan vaqti", "NZDT": "Yangi Zelandiya yozgi vaqti", "SAST": "Janubiy Afrika standart vaqti", "GMT": "Grinvich o‘rtacha vaqti", "AKDT": "Alyaska yozgi vaqti", "WIB": "Gʻarbiy Indoneziya vaqti", "ACWST": "Markaziy Avstraliya g‘arbiy standart vaqti", "PST": "Tinch okeani standart vaqti", "HNEG": "Sharqiy Grenlandiya standart vaqti", "ACDT": "Markaziy Avstraliya yozgi vaqti", "OEZ": "Sharqiy Yevropa standart vaqti", "CAT": "Markaziy Afrika vaqti", "UYST": "Urugvay yozgi vaqti", "MST": "Tog‘ standart vaqti (AQSH)", "ART": "Argentina standart vaqti", "WEZ": "G‘arbiy Yevropa standart vaqti", "LHDT": "Lord-Xau yozgi vaqti", "HNNOMX": "Shimoli-g‘arbiy Meksika standart vaqti", "HENOMX": "Shimoli-g‘arbiy Meksika yozgi vaqti", "WARST": "Gʻarbiy Argentina yozgi vaqti", "AEST": "Sharqiy Avstraliya standart vaqti", "LHST": "Lord-Xau standart vaqti", "BOT": "Boliviya vaqti", "CLT": "Chili standart vaqti", "OESZ": "Sharqiy Yevropa yozgi vaqti", "EAT": "Sharqiy Afrika vaqti", "HNCU": "Kuba standart vaqti", "VET": "Venesuela vaqti", "ACWDT": "Markaziy Avstraliya g‘arbiy yozgi vaqti", "HAT": "Nyufaundlend yozgi vaqti"}, } } @@ -304,14 +304,6 @@ func (uz *uz_Latn_UZ) FmtCurrency(num float64, v uint64, currency currency.Type) b = append(b, s[i]) } - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - if num < 0 { b = append(b, uz.minus[0]) } @@ -332,6 +324,10 @@ func (uz *uz_Latn_UZ) FmtCurrency(num float64, v uint64, currency currency.Type) } } + b = append(b, uz.currencyPositiveSuffix...) + + b = append(b, symbol...) + return string(b) } @@ -370,26 +366,8 @@ func (uz *uz_Latn_UZ) FmtAccounting(num float64, v uint64, currency currency.Typ if num < 0 { - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyNegativePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyNegativePrefix[j]) - } - b = append(b, uz.minus[0]) - } else { - - for j := len(symbol) - 1; j >= 0; j-- { - b = append(b, symbol[j]) - } - - for j := len(uz.currencyPositivePrefix) - 1; j >= 0; j-- { - b = append(b, uz.currencyPositivePrefix[j]) - } - } // reverse @@ -408,6 +386,15 @@ func (uz *uz_Latn_UZ) FmtAccounting(num float64, v uint64, currency currency.Typ } } + if num < 0 { + b = append(b, uz.currencyNegativeSuffix...) + b = append(b, symbol...) + } else { + + b = append(b, uz.currencyPositiveSuffix...) + b = append(b, symbol...) + } + return string(b) } @@ -449,7 +436,12 @@ func (uz *uz_Latn_UZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -463,7 +455,12 @@ func (uz *uz_Latn_UZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -475,17 +472,17 @@ func (uz *uz_Latn_UZ) FmtDateFull(t time.Time) string { b = append(b, uz.daysWide[t.Weekday()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - b = append(b, []byte{0x20}...) + b = strconv.AppendInt(b, int64(t.Day()), 10) + b = append(b, []byte{0x2d}...) b = append(b, uz.monthsWide[t.Month()]...) - b = append(b, []byte{0x20}...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Day() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Day()), 10) - return string(b) } diff --git a/vai/vai.go b/vai/vai.go index c706d82ed..71db3c291 100644 --- a/vai/vai.go +++ b/vai/vai.go @@ -51,12 +51,12 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsWide: []string{"", "ꖨꕪꖃ ꔞꕮ", "ꕒꕡꖝꖕ", "ꕾꖺ", "ꖢꖕ", "ꖑꕱ", "6", "7", "ꗛꔕ", "ꕢꕌ", "ꕭꖃ", "ꔞꘋꕔꕿ ꕸꖃꗏ", "ꖨꕪꕱ ꗏꕮ"}, daysWide: []string{"ꕞꕌꔵ", "ꗳꗡꘉ", "ꕚꕞꕚ", "ꕉꕞꕒ", "ꕉꔤꕆꕢ", "ꕉꔤꕀꕮ", "ꔻꔬꔳ"}, - timezones: map[string]string{"ACWDT": "ACWDT", "PST": "PST", "TMT": "TMT", "MST": "MST", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "VET": "VET", "MYT": "MYT", "ACWST": "ACWST", "WARST": "WARST", "IST": "IST", "CAT": "CAT", "AKDT": "AKDT", "HAT": "HAT", "GMT": "GMT", "LHDT": "LHDT", "UYST": "UYST", "CHADT": "CHADT", "GFT": "GFT", "EAT": "EAT", "WITA": "WITA", "BT": "BT", "WIT": "WIT", "HKT": "HKT", "SRT": "SRT", "ECT": "ECT", "COST": "COST", "HAST": "HAST", "ARST": "ARST", "CST": "CST", "LHST": "LHST", "JST": "JST", "MEZ": "MEZ", "SGT": "SGT", "WAST": "WAST", "EDT": "EDT", "CLT": "CLT", "ACST": "ACST", "ADT": "ADT", "TMST": "TMST", "NZDT": "NZDT", "AWST": "AWST", "CLST": "CLST", "MESZ": "MESZ", "COT": "COT", "EST": "EST", "HNT": "HNT", "WIB": "WIB", "PDT": "PDT", "UYT": "UYT", "AEDT": "AEDT", "WAT": "WAT", "WART": "WART", "NZST": "NZST", "BOT": "BOT", "JDT": "JDT", "ACDT": "ACDT", "AST": "AST", "WESZ": "WESZ", "AKST": "AKST", "CDT": "CDT", "ChST": "ChST", "AWDT": "AWDT", "WEZ": "WEZ", "HKST": "HKST", "CHAST": "CHAST", "HADT": "HADT", "AEST": "AEST", "ART": "ART", "SAST": "SAST", "GYT": "GYT", "MDT": "MDT", "OESZ": "OESZ"}, + timezones: map[string]string{"VET": "VET", "LHDT": "LHDT", "JDT": "JDT", "CAT": "CAT", "OESZ": "OESZ", "AKDT": "AKDT", "CST": "CST", "CDT": "CDT", "HADT": "HADT", "WESZ": "WESZ", "OEZ": "OEZ", "SGT": "SGT", "HECU": "HECU", "HNCU": "HNCU", "BT": "BT", "HEPM": "HEPM", "CHADT": "CHADT", "CLT": "CLT", "∅∅∅": "∅∅∅", "WAST": "WAST", "UYST": "UYST", "AKST": "AKST", "AWDT": "AWDT", "HKST": "HKST", "WITA": "WITA", "NZST": "NZST", "COST": "COST", "MDT": "MDT", "HNPMX": "HNPMX", "AWST": "AWST", "HEEG": "HEEG", "EAT": "EAT", "WART": "WART", "UYT": "UYT", "ADT": "ADT", "PST": "PST", "BOT": "BOT", "ECT": "ECT", "EDT": "EDT", "MEZ": "MEZ", "CHAST": "CHAST", "ACST": "ACST", "HNNOMX": "HNNOMX", "HEPMX": "HEPMX", "COT": "COT", "HENOMX": "HENOMX", "PDT": "PDT", "ARST": "ARST", "CLST": "CLST", "TMT": "TMT", "HAST": "HAST", "SRT": "SRT", "ART": "ART", "AEST": "AEST", "TMST": "TMST", "AST": "AST", "MST": "MST", "HNT": "HNT", "HKT": "HKT", "HNPM": "HNPM", "ChST": "ChST", "EST": "EST", "WIT": "WIT", "HEOG": "HEOG", "MESZ": "MESZ", "HNEG": "HNEG", "GFT": "GFT", "ACWST": "ACWST", "HAT": "HAT", "LHST": "LHST", "ACDT": "ACDT", "ACWDT": "ACWDT", "NZDT": "NZDT", "IST": "IST", "WARST": "WARST", "WAT": "WAT", "MYT": "MYT", "GYT": "GYT", "WIB": "WIB", "HNOG": "HNOG", "AEDT": "AEDT", "SAST": "SAST", "JST": "JST", "WEZ": "WEZ", "GMT": "GMT"}, } } @@ -358,7 +358,12 @@ func (vai *vai) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +377,12 @@ func (vai *vai) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +396,12 @@ func (vai *vai) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +417,12 @@ func (vai *vai) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vai_Latn/vai_Latn.go b/vai_Latn/vai_Latn.go index 39e765ccb..383855167 100644 --- a/vai_Latn/vai_Latn.go +++ b/vai_Latn/vai_Latn.go @@ -51,12 +51,12 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "$", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsWide: []string{"", "luukao kemã", "ɓandaɓu", "vɔɔ", "fulu", "goo", "6", "7", "kɔnde", "saah", "galo", "kenpkato ɓololɔ", "luukao lɔma"}, daysWide: []string{"lahadi", "tɛɛnɛɛ", "talata", "alaba", "aimisa", "aijima", "siɓiti"}, - timezones: map[string]string{"MST": "MST", "MDT": "MDT", "AWST": "AWST", "LHDT": "LHDT", "COT": "COT", "EST": "EST", "TMT": "TMT", "HNT": "HNT", "HKT": "HKT", "MEZ": "MEZ", "ACWDT": "ACWDT", "ART": "ART", "AWDT": "AWDT", "WESZ": "WESZ", "BOT": "BOT", "HAT": "HAT", "GMT": "GMT", "ADT": "ADT", "CDT": "CDT", "UYST": "UYST", "CHAST": "CHAST", "OEZ": "OEZ", "ACST": "ACST", "WIB": "WIB", "WARST": "WARST", "EDT": "EDT", "TMST": "TMST", "ChST": "ChST", "CLT": "CLT", "UYT": "UYT", "ACDT": "ACDT", "AEDT": "AEDT", "HAST": "HAST", "SAST": "SAST", "NZST": "NZST", "JST": "JST", "WAT": "WAT", "AKST": "AKST", "EAT": "EAT", "MYT": "MYT", "JDT": "JDT", "GFT": "GFT", "SRT": "SRT", "COST": "COST", "AEST": "AEST", "CST": "CST", "CAT": "CAT", "LHST": "LHST", "SGT": "SGT", "ARST": "ARST", "PDT": "PDT", "WITA": "WITA", "BT": "BT", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "WAST": "WAST", "PST": "PST", "AST": "AST", "HADT": "HADT", "CHADT": "CHADT", "ACWST": "ACWST", "WEZ": "WEZ", "MESZ": "MESZ", "CLST": "CLST", "VET": "VET", "WIT": "WIT", "IST": "IST", "AKDT": "AKDT", "GYT": "GYT", "NZDT": "NZDT", "HKST": "HKST", "ECT": "ECT", "WART": "WART"}, + timezones: map[string]string{"CLT": "CLT", "BOT": "BOT", "ACDT": "ACDT", "GMT": "GMT", "HNCU": "HNCU", "HNPMX": "HNPMX", "UYST": "UYST", "BT": "BT", "IST": "IST", "AST": "AST", "GYT": "GYT", "AKDT": "AKDT", "AEST": "AEST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "OESZ": "OESZ", "EAT": "EAT", "MDT": "MDT", "ARST": "ARST", "HNOG": "HNOG", "AWDT": "AWDT", "MEZ": "MEZ", "JDT": "JDT", "OEZ": "OEZ", "WIT": "WIT", "ART": "ART", "PST": "PST", "WITA": "WITA", "AWST": "AWST", "LHDT": "LHDT", "ACST": "ACST", "COST": "COST", "HENOMX": "HENOMX", "HNT": "HNT", "AEDT": "AEDT", "HKST": "HKST", "HNPM": "HNPM", "JST": "JST", "HAST": "HAST", "EST": "EST", "MST": "MST", "CST": "CST", "SRT": "SRT", "HEOG": "HEOG", "TMST": "TMST", "COT": "COT", "HADT": "HADT", "WAST": "WAST", "HEPMX": "HEPMX", "UYT": "UYT", "PDT": "PDT", "ACWDT": "ACWDT", "LHST": "LHST", "NZST": "NZST", "SAST": "SAST", "WARST": "WARST", "HNNOMX": "HNNOMX", "SGT": "SGT", "HECU": "HECU", "MESZ": "MESZ", "NZDT": "NZDT", "ECT": "ECT", "ADT": "ADT", "WIB": "WIB", "HAT": "HAT", "WEZ": "WEZ", "GFT": "GFT", "CAT": "CAT", "CDT": "CDT", "VET": "VET", "CLST": "CLST", "TMT": "TMT", "EDT": "EDT", "WESZ": "WESZ", "HEPM": "HEPM", "CHAST": "CHAST", "HEEG": "HEEG", "WAT": "WAT", "CHADT": "CHADT", "ChST": "ChST", "WART": "WART", "MYT": "MYT", "AKST": "AKST", "ACWST": "ACWST", "HKT": "HKT"}, } } @@ -358,7 +358,12 @@ func (vai *vai_Latn) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +377,12 @@ func (vai *vai_Latn) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +396,12 @@ func (vai *vai_Latn) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +417,12 @@ func (vai *vai_Latn) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vai_Latn_LR/vai_Latn_LR.go b/vai_Latn_LR/vai_Latn_LR.go index 99df03e0d..0821e4b79 100644 --- a/vai_Latn_LR/vai_Latn_LR.go +++ b/vai_Latn_LR/vai_Latn_LR.go @@ -51,12 +51,12 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsWide: []string{"", "ꖨꕪꖃ ꔞꕮ", "ꕒꕡꖝꖕ", "ꕾꖺ", "ꖢꖕ", "ꖑꕱ", "6", "7", "ꗛꔕ", "ꕢꕌ", "ꕭꖃ", "ꔞꘋꕔꕿ ꕸꖃꗏ", "ꖨꕪꕱ ꗏꕮ"}, daysWide: []string{"ꕞꕌꔵ", "ꗳꗡꘉ", "ꕚꕞꕚ", "ꕉꕞꕒ", "ꕉꔤꕆꕢ", "ꕉꔤꕀꕮ", "ꔻꔬꔳ"}, - timezones: map[string]string{"BOT": "BOT", "CHADT": "CHADT", "ACST": "ACST", "WARST": "WARST", "HADT": "HADT", "CST": "CST", "JST": "JST", "∅∅∅": "∅∅∅", "SGT": "SGT", "AEST": "AEST", "WART": "WART", "WAST": "WAST", "OEZ": "OEZ", "WEZ": "WEZ", "HAST": "HAST", "ACWST": "ACWST", "WAT": "WAT", "EDT": "EDT", "WITA": "WITA", "TMT": "TMT", "WESZ": "WESZ", "VET": "VET", "AEDT": "AEDT", "WIB": "WIB", "WIT": "WIT", "JDT": "JDT", "COST": "COST", "PDT": "PDT", "CLST": "CLST", "GFT": "GFT", "ARST": "ARST", "BT": "BT", "NZST": "NZST", "NZDT": "NZDT", "PST": "PST", "ADT": "ADT", "SAST": "SAST", "MDT": "MDT", "CDT": "CDT", "ChST": "ChST", "ECT": "ECT", "MESZ": "MESZ", "CAT": "CAT", "ACWDT": "ACWDT", "AST": "AST", "AWDT": "AWDT", "UYT": "UYT", "SRT": "SRT", "AWST": "AWST", "GMT": "GMT", "MYT": "MYT", "IST": "IST", "AKST": "AKST", "EST": "EST", "GYT": "GYT", "HNT": "HNT", "MEZ": "MEZ", "ART": "ART", "UYST": "UYST", "LHST": "LHST", "OESZ": "OESZ", "ACDT": "ACDT", "HAT": "HAT", "CHAST": "CHAST", "MST": "MST", "HKST": "HKST", "COT": "COT", "AKDT": "AKDT", "EAT": "EAT", "TMST": "TMST", "CLT": "CLT", "LHDT": "LHDT", "HKT": "HKT"}, + timezones: map[string]string{"PST": "PST", "COT": "COT", "HADT": "HADT", "LHST": "LHST", "IST": "IST", "GFT": "GFT", "OESZ": "OESZ", "COST": "COST", "CST": "CST", "ADT": "ADT", "AWST": "AWST", "MESZ": "MESZ", "ACST": "ACST", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "AKDT": "AKDT", "MDT": "MDT", "HNT": "HNT", "JST": "JST", "GYT": "GYT", "WIB": "WIB", "WIT": "WIT", "HAT": "HAT", "ACDT": "ACDT", "WARST": "WARST", "SGT": "SGT", "HAST": "HAST", "EDT": "EDT", "HEPMX": "HEPMX", "ACWDT": "ACWDT", "WITA": "WITA", "BOT": "BOT", "HEEG": "HEEG", "TMST": "TMST", "CAT": "CAT", "HNCU": "HNCU", "AKST": "AKST", "MYT": "MYT", "WEZ": "WEZ", "HKST": "HKST", "HENOMX": "HENOMX", "TMT": "TMT", "CDT": "CDT", "AST": "AST", "UYT": "UYT", "SRT": "SRT", "MEZ": "MEZ", "CHADT": "CHADT", "SAST": "SAST", "HECU": "HECU", "UYST": "UYST", "MST": "MST", "HEOG": "HEOG", "CLT": "CLT", "GMT": "GMT", "BT": "BT", "HNOG": "HNOG", "HKT": "HKT", "EAT": "EAT", "WAST": "WAST", "WESZ": "WESZ", "AEDT": "AEDT", "AWDT": "AWDT", "HNPM": "HNPM", "NZST": "NZST", "∅∅∅": "∅∅∅", "HNEG": "HNEG", "VET": "VET", "PDT": "PDT", "ACWST": "ACWST", "HEPM": "HEPM", "NZDT": "NZDT", "CHAST": "CHAST", "CLST": "CLST", "WAT": "WAT", "ECT": "ECT", "HNPMX": "HNPMX", "AEST": "AEST", "LHDT": "LHDT", "JDT": "JDT", "ChST": "ChST", "WART": "WART", "ART": "ART", "ARST": "ARST", "EST": "EST"}, } } @@ -358,7 +358,12 @@ func (vai *vai_Latn_LR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +377,12 @@ func (vai *vai_Latn_LR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +396,12 @@ func (vai *vai_Latn_LR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +417,12 @@ func (vai *vai_Latn_LR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vai_Vaii/vai_Vaii.go b/vai_Vaii/vai_Vaii.go index 0a4e4f7f0..f38dfe16a 100644 --- a/vai_Vaii/vai_Vaii.go +++ b/vai_Vaii/vai_Vaii.go @@ -51,12 +51,12 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsWide: []string{"", "ꖨꕪꖃ ꔞꕮ", "ꕒꕡꖝꖕ", "ꕾꖺ", "ꖢꖕ", "ꖑꕱ", "6", "7", "ꗛꔕ", "ꕢꕌ", "ꕭꖃ", "ꔞꘋꕔꕿ ꕸꖃꗏ", "ꖨꕪꕱ ꗏꕮ"}, daysWide: []string{"ꕞꕌꔵ", "ꗳꗡꘉ", "ꕚꕞꕚ", "ꕉꕞꕒ", "ꕉꔤꕆꕢ", "ꕉꔤꕀꕮ", "ꔻꔬꔳ"}, - timezones: map[string]string{"MEZ": "MEZ", "SGT": "SGT", "TMT": "TMT", "NZST": "NZST", "NZDT": "NZDT", "LHST": "LHST", "WEZ": "WEZ", "SRT": "SRT", "AEDT": "AEDT", "AWST": "AWST", "GMT": "GMT", "EAT": "EAT", "WAST": "WAST", "ADT": "ADT", "TMST": "TMST", "CST": "CST", "MST": "MST", "MYT": "MYT", "HAT": "HAT", "UYT": "UYT", "GFT": "GFT", "ACST": "ACST", "WAT": "WAT", "AWDT": "AWDT", "JDT": "JDT", "HADT": "HADT", "EDT": "EDT", "BT": "BT", "OEZ": "OEZ", "CHADT": "CHADT", "HAST": "HAST", "WARST": "WARST", "GYT": "GYT", "∅∅∅": "∅∅∅", "HKST": "HKST", "ARST": "ARST", "PDT": "PDT", "CLT": "CLT", "WIT": "WIT", "ACDT": "ACDT", "ACWST": "ACWST", "AEST": "AEST", "WART": "WART", "WITA": "WITA", "OESZ": "OESZ", "CHAST": "CHAST", "MESZ": "MESZ", "ECT": "ECT", "ART": "ART", "CLST": "CLST", "EST": "EST", "PST": "PST", "COT": "COT", "WIB": "WIB", "IST": "IST", "AKST": "AKST", "MDT": "MDT", "BOT": "BOT", "HNT": "HNT", "COST": "COST", "UYST": "UYST", "ACWDT": "ACWDT", "CAT": "CAT", "JST": "JST", "VET": "VET", "SAST": "SAST", "AKDT": "AKDT", "CDT": "CDT", "LHDT": "LHDT", "AST": "AST", "ChST": "ChST", "WESZ": "WESZ", "HKT": "HKT"}, + timezones: map[string]string{"AKDT": "AKDT", "PST": "PST", "JST": "JST", "ACDT": "ACDT", "OEZ": "OEZ", "EAT": "EAT", "GMT": "GMT", "HNCU": "HNCU", "HEOG": "HEOG", "CAT": "CAT", "WART": "WART", "COST": "COST", "ART": "ART", "LHDT": "LHDT", "TMST": "TMST", "OESZ": "OESZ", "SGT": "SGT", "UYT": "UYT", "CHAST": "CHAST", "CLT": "CLT", "TMT": "TMT", "COT": "COT", "ARST": "ARST", "HKST": "HKST", "HNNOMX": "HNNOMX", "GYT": "GYT", "BT": "BT", "∅∅∅": "∅∅∅", "HENOMX": "HENOMX", "HECU": "HECU", "MDT": "MDT", "CDT": "CDT", "WIB": "WIB", "VET": "VET", "ChST": "ChST", "AST": "AST", "WARST": "WARST", "SRT": "SRT", "AEST": "AEST", "AEDT": "AEDT", "HEPM": "HEPM", "NZDT": "NZDT", "GFT": "GFT", "ECT": "ECT", "AKST": "AKST", "HADT": "HADT", "WIT": "WIT", "AWDT": "AWDT", "LHST": "LHST", "HNPMX": "HNPMX", "MYT": "MYT", "CHADT": "CHADT", "HEEG": "HEEG", "MST": "MST", "ACWDT": "ACWDT", "EST": "EST", "CST": "CST", "ADT": "ADT", "HAST": "HAST", "AWST": "AWST", "MESZ": "MESZ", "ACST": "ACST", "HNT": "HNT", "HNOG": "HNOG", "WESZ": "WESZ", "MEZ": "MEZ", "NZST": "NZST", "SAST": "SAST", "HNEG": "HNEG", "HAT": "HAT", "PDT": "PDT", "WAST": "WAST", "HEPMX": "HEPMX", "ACWST": "ACWST", "WITA": "WITA", "HKT": "HKT", "CLST": "CLST", "BOT": "BOT", "WEZ": "WEZ", "HNPM": "HNPM", "IST": "IST", "JDT": "JDT", "WAT": "WAT", "EDT": "EDT", "UYST": "UYST"}, } } @@ -358,7 +358,12 @@ func (vai *vai_Vaii) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +377,12 @@ func (vai *vai_Vaii) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +396,12 @@ func (vai *vai_Vaii) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +417,12 @@ func (vai *vai_Vaii) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vai_Vaii_LR/vai_Vaii_LR.go b/vai_Vaii_LR/vai_Vaii_LR.go index b014de4db..460867465 100644 --- a/vai_Vaii_LR/vai_Vaii_LR.go +++ b/vai_Vaii_LR/vai_Vaii_LR.go @@ -51,12 +51,12 @@ func New() locales.Translator { decimal: ".", group: ",", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsWide: []string{"", "ꖨꕪꖃ ꔞꕮ", "ꕒꕡꖝꖕ", "ꕾꖺ", "ꖢꖕ", "ꖑꕱ", "6", "7", "ꗛꔕ", "ꕢꕌ", "ꕭꖃ", "ꔞꘋꕔꕿ ꕸꖃꗏ", "ꖨꕪꕱ ꗏꕮ"}, daysWide: []string{"ꕞꕌꔵ", "ꗳꗡꘉ", "ꕚꕞꕚ", "ꕉꕞꕒ", "ꕉꔤꕆꕢ", "ꕉꔤꕀꕮ", "ꔻꔬꔳ"}, - timezones: map[string]string{"HAST": "HAST", "AST": "AST", "CDT": "CDT", "BOT": "BOT", "WITA": "WITA", "OEZ": "OEZ", "HKT": "HKT", "CHAST": "CHAST", "AEST": "AEST", "CHADT": "CHADT", "PDT": "PDT", "GYT": "GYT", "BT": "BT", "ACWST": "ACWST", "ACWDT": "ACWDT", "AKST": "AKST", "IST": "IST", "JDT": "JDT", "COT": "COT", "WART": "WART", "HADT": "HADT", "SAST": "SAST", "TMST": "TMST", "NZST": "NZST", "CLST": "CLST", "LHDT": "LHDT", "MESZ": "MESZ", "EST": "EST", "MDT": "MDT", "CST": "CST", "MYT": "MYT", "NZDT": "NZDT", "HAT": "HAT", "JST": "JST", "ECT": "ECT", "AEDT": "AEDT", "EDT": "EDT", "CLT": "CLT", "GFT": "GFT", "OESZ": "OESZ", "WIB": "WIB", "ADT": "ADT", "PST": "PST", "EAT": "EAT", "MST": "MST", "ChST": "ChST", "WESZ": "WESZ", "VET": "VET", "SGT": "SGT", "ARST": "ARST", "UYST": "UYST", "COST": "COST", "WARST": "WARST", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "WAT": "WAT", "LHST": "LHST", "TMT": "TMT", "CAT": "CAT", "MEZ": "MEZ", "GMT": "GMT", "ACDT": "ACDT", "WIT": "WIT", "HNT": "HNT", "AWST": "AWST", "UYT": "UYT", "SRT": "SRT", "HKST": "HKST", "WAST": "WAST", "WEZ": "WEZ", "ACST": "ACST", "ART": "ART", "AWDT": "AWDT"}, + timezones: map[string]string{"CST": "CST", "ACWST": "ACWST", "AWST": "AWST", "JST": "JST", "CLT": "CLT", "GFT": "GFT", "ACST": "ACST", "WART": "WART", "HNCU": "HNCU", "HEPM": "HEPM", "HECU": "HECU", "EDT": "EDT", "HAST": "HAST", "VET": "VET", "WEZ": "WEZ", "WITA": "WITA", "AEST": "AEST", "MYT": "MYT", "HADT": "HADT", "HNT": "HNT", "ChST": "ChST", "HNNOMX": "HNNOMX", "SGT": "SGT", "HEPMX": "HEPMX", "AKST": "AKST", "GYT": "GYT", "HEOG": "HEOG", "NZDT": "NZDT", "MEZ": "MEZ", "ADT": "ADT", "CAT": "CAT", "WARST": "WARST", "COT": "COT", "WESZ": "WESZ", "LHST": "LHST", "∅∅∅": "∅∅∅", "HEEG": "HEEG", "TMST": "TMST", "GMT": "GMT", "AKDT": "AKDT", "CDT": "CDT", "WIB": "WIB", "BT": "BT", "SAST": "SAST", "HNEG": "HNEG", "BOT": "BOT", "NZST": "NZST", "ACDT": "ACDT", "EAT": "EAT", "TMT": "TMT", "OESZ": "OESZ", "ECT": "ECT", "AST": "AST", "ART": "ART", "MESZ": "MESZ", "CLST": "CLST", "WAST": "WAST", "COST": "COST", "IST": "IST", "MDT": "MDT", "SRT": "SRT", "ACWDT": "ACWDT", "HNOG": "HNOG", "CHADT": "CHADT", "JDT": "JDT", "WAT": "WAT", "OEZ": "OEZ", "MST": "MST", "WIT": "WIT", "ARST": "ARST", "AEDT": "AEDT", "AWDT": "AWDT", "UYST": "UYST", "PST": "PST", "PDT": "PDT", "HKT": "HKT", "HKST": "HKST", "HENOMX": "HENOMX", "CHAST": "CHAST", "LHDT": "LHDT", "UYT": "UYT", "HAT": "HAT", "HNPM": "HNPM", "HNPMX": "HNPMX", "EST": "EST"}, } } @@ -358,7 +358,12 @@ func (vai *vai_Vaii_LR) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +377,12 @@ func (vai *vai_Vaii_LR) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -386,7 +396,12 @@ func (vai *vai_Vaii_LR) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -402,7 +417,12 @@ func (vai *vai_Vaii_LR) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vai.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vi/vi.go b/vi/vi.go index ff3e64515..8ec5f2e4e 100644 --- a/vi/vi.go +++ b/vi/vi.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "thg 1", "thg 2", "thg 3", "thg 4", "thg 5", "thg 6", "thg 7", "thg 8", "thg 9", "thg 10", "thg 11", "thg 12"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"SA", "CH"}, periodsNarrow: []string{"s", "c"}, periodsWide: []string{"SA", "CH"}, - erasAbbreviated: []string{"tr. CN", "sau CN"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"tr. CN", "sau CN"}, - erasWide: []string{"tr. CN", "sau CN"}, - timezones: map[string]string{"OEZ": "Giờ Chuẩn Đông Âu", "∅∅∅": "Giờ Mùa Hè Azores", "CST": "Giờ chuẩn miền trung", "GMT": "Giờ Trung bình Greenwich", "ECT": "Giờ Ecuador", "WART": "Giờ chuẩn miền mây Argentina", "WAT": "Giờ Chuẩn Tây Phi", "WITA": "Giờ Miền Trung Indonesia", "TMT": "Giờ Chuẩn Turkmenistan", "NZDT": "Giờ Mùa Hè New Zealand", "VET": "Giờ Venezuela", "HAST": "Giờ Chuẩn Hawaii-Aleutian", "SAST": "Giờ Chuẩn Nam Phi", "CAT": "Giờ Trung Phi", "HAT": "Giờ Mùa Hè Newfoundland", "MEZ": "Giờ Chuẩn Trung Âu", "WAST": "Giờ Mùa Hè Tây Phi", "BOT": "Giờ Bolivia", "MST": "Giờ chuẩn miền núi", "ART": "Giờ Chuẩn Argentina", "AST": "Giờ Chuẩn Đại Tây Dương", "MYT": "Giờ Malaysia", "CLST": "Giờ Mùa Hè Chile", "SRT": "Giờ Suriname", "WEZ": "Giờ Chuẩn Tây Âu", "EDT": "Giờ ban ngày miền đông", "GYT": "Giờ Guyana", "ChST": "Giờ Chamorro", "HADT": "Giờ Mùa Hè Hawaii-Aleutian", "TMST": "Giờ Mùa Hè Turkmenistan", "MESZ": "Giờ Mùa Hè Trung Âu", "SGT": "Giờ Singapore", "AEDT": "Giờ Mùa Hè Miền Đông Nước Úc", "HKST": "Giờ Mùa Hè Hồng Kông", "EAT": "Giờ Đông Phi", "AWST": "Giờ Chuẩn Miền Tây Nước Úc", "WESZ": "Giờ Mùa hè Tây Âu", "CHAST": "Giờ Chuẩn Chatham", "ARST": "Giờ Mùa Hè Argentina", "ADT": "Giờ Mùa hè Đại Tây Dương", "ACDT": "Giờ Mùa Hè Miền Trung Nước Úc", "WARST": "Giờ mùa hè miền tây Argentina", "JDT": "Giờ Mùa Hè Nhật Bản", "WIT": "Giờ Miền Đông Indonesia", "WIB": "Giờ Miền Tây Indonesia", "PST": "Giờ chuẩn Thái Bình Dương", "PDT": "Giờ ban ngày Thái Bình Dương", "NZST": "Giờ Chuẩn New Zealand", "AWDT": "Giờ Mùa Hè Miền Tây Nước Úc", "JST": "Giờ Chuẩn Nhật Bản", "GFT": "Giờ Guiana thuộc Pháp", "OESZ": "Giờ Mùa Hè Đông Âu", "COT": "Giờ Chuẩn Colombia", "CDT": "Giờ ban ngày miền trung", "MDT": "Giờ ban ngày miền núi", "COST": "Giờ Mùa Hè Colombia", "HNT": "Giờ Chuẩn Newfoundland", "LHDT": "Giờ Mùa Hè Lord Howe", "UYST": "Giờ Mùa Hè Uruguay", "ACST": "Giờ Chuẩn Miền Trung Nước Úc", "AKDT": "Giờ Mùa Hè Alaska", "EST": "Giờ chuẩn miền đông", "UYT": "Giờ Chuẩn Uruguay", "CHADT": "Giờ Mùa Hè Chatham", "ACWST": "Giờ Chuẩn Miền Trung Tây Nước Úc", "IST": "Giờ Chuẩn Ấn Độ", "HKT": "Giờ Chuẩn Hồng Kông", "BT": "Giờ Bhutan", "LHST": "Giờ Chuẩn Lord Howe", "AKST": "Giờ Chuẩn Alaska", "CLT": "Giờ Chuẩn Chile", "ACWDT": "Giờ Mùa Hè Miền Trung Tây Nước Úc", "AEST": "Giờ Chuẩn Miền Đông Nước Úc"}, + erasWide: []string{"", ""}, + timezones: map[string]string{"HADT": "Giờ Mùa Hè Hawaii-Aleutian", "BT": "Giờ Bhutan", "CHADT": "Giờ Mùa Hè Chatham", "CLST": "Giờ Mùa Hè Chile", "GFT": "Giờ Guiana thuộc Pháp", "OEZ": "Giờ Chuẩn Đông Âu", "SGT": "Giờ Singapore", "UYT": "Giờ Chuẩn Uruguay", "PST": "Giờ chuẩn Thái Bình Dương", "PDT": "Giờ Mùa hè Thái Bình Dương", "CLT": "Giờ Chuẩn Chile", "WART": "Giờ chuẩn miền mây Argentina", "SRT": "Giờ Suriname", "HNEG": "Giờ Chuẩn Miền Đông Greenland", "HENOMX": "Giờ Mùa Hè Tây Bắc Mexico", "HECU": "Giờ Mùa Hè Cuba", "GYT": "Giờ Guyana", "HEPM": "Giờ Mùa Hè Saint Pierre và Miquelon", "GMT": "Giờ Trung bình Greenwich", "HEPMX": "Giờ Mùa Hè Thái Bình Dương Mexico", "CST": "Giờ chuẩn miền trung", "HNPM": "Giờ Chuẩn St. Pierre và Miquelon", "NZST": "Giờ Chuẩn New Zealand", "HNNOMX": "Giờ Chuẩn Tây Bắc Mexico", "EST": "Giờ chuẩn miền đông", "WESZ": "Giờ Mùa hè Tây Âu", "ARST": "Giờ Mùa Hè Argentina", "ChST": "Giờ Chamorro", "OESZ": "Giờ Mùa Hè Đông Âu", "WIT": "Giờ Miền Đông Indonesia", "HEEG": "Giờ Mùa Hè Miền Đông Greenland", "ACDT": "Giờ Mùa Hè Miền Trung Nước Úc", "AEDT": "Giờ Mùa Hè Miền Đông Nước Úc", "BOT": "Giờ Bolivia", "COT": "Giờ Chuẩn Colombia", "MDT": "Giờ Mùa Hè Ma Cao", "AKST": "Giờ Chuẩn Alaska", "HAST": "Giờ Chuẩn Hawaii-Aleutian", "WEZ": "Giờ Chuẩn Tây Âu", "JST": "Giờ Chuẩn Nhật Bản", "HNPMX": "Giờ Chuẩn Thái Bình Dương Mexico", "CDT": "Giờ mùa hè miền trung", "UYST": "Giờ Mùa Hè Uruguay", "HKST": "Giờ Mùa Hè Hồng Kông", "AWDT": "Giờ Mùa Hè Miền Tây Nước Úc", "CAT": "Giờ Trung Phi", "WAST": "Giờ Mùa Hè Tây Phi", "WARST": "Giờ mùa hè miền tây Argentina", "WIB": "Giờ Miền Tây Indonesia", "ACWST": "Giờ Chuẩn Miền Trung Tây Nước Úc", "HNOG": "Giờ Chuẩn Miền Tây Greenland", "TMST": "Giờ Mùa Hè Turkmenistan", "ECT": "Giờ Ecuador", "HNCU": "Giờ Chuẩn Cuba", "LHDT": "Giờ Mùa Hè Lord Howe", "SAST": "Giờ Chuẩn Nam Phi", "VET": "Giờ Venezuela", "ART": "Giờ Chuẩn Argentina", "WITA": "Giờ Miền Trung Indonesia", "HEOG": "Giờ Mùa Hè Miền Tây Greenland", "LHST": "Giờ Chuẩn Lord Howe", "IST": "Giờ Chuẩn Ấn Độ", "ACST": "Giờ Chuẩn Miền Trung Nước Úc", "EAT": "Giờ Đông Phi", "ADT": "Giờ Mùa hè Đại Tây Dương", "MYT": "Giờ Malaysia", "NZDT": "Giờ Mùa Hè New Zealand", "HNT": "Giờ Chuẩn Newfoundland", "AEST": "Giờ Chuẩn Miền Đông Nước Úc", "AWST": "Giờ Chuẩn Miền Tây Nước Úc", "CHAST": "Giờ Chuẩn Chatham", "∅∅∅": "Giờ Mùa Hè Amazon", "WAT": "Giờ Chuẩn Tây Phi", "MST": "Giờ Chuẩn Ma Cao", "AST": "Giờ Chuẩn Đại Tây Dương", "HAT": "Giờ Mùa Hè Newfoundland", "AKDT": "Giờ Mùa Hè Alaska", "ACWDT": "Giờ Mùa Hè Miền Trung Tây Nước Úc", "MEZ": "Giờ Chuẩn Trung Âu", "MESZ": "Giờ Mùa Hè Trung Âu", "JDT": "Giờ Mùa Hè Nhật Bản", "TMT": "Giờ Chuẩn Turkmenistan", "COST": "Giờ Mùa Hè Colombia", "EDT": "Giờ mùa hè miền đông", "HKT": "Giờ Chuẩn Hồng Kông"}, } } @@ -400,7 +400,12 @@ func (vi *vi) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -414,7 +419,12 @@ func (vi *vi) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -424,27 +434,17 @@ func (vi *vi) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, []byte{0x4e, 0x67, 0xc3, 0xa0, 0x79}...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x20, 0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67}...) b = append(b, []byte{0x20}...) + b = append(b, vi.monthsWide[t.Month()]...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x20, 0x6e, 0xc4, 0x83, 0x6d}...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - return string(b) } @@ -454,19 +454,17 @@ func (vi *vi) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, vi.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79}...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, vi.monthsWide[t.Month()]...) - b = append(b, []byte{0x20, 0x6e, 0xc4, 0x83, 0x6d}...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2c, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vi_VN/vi_VN.go b/vi_VN/vi_VN.go index ec44fdcdb..bb8073a9b 100644 --- a/vi_VN/vi_VN.go +++ b/vi_VN/vi_VN.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "thg 1", "thg 2", "thg 3", "thg 4", "thg 5", "thg 6", "thg 7", "thg 8", "thg 9", "thg 10", "thg 11", "thg 12"}, @@ -68,10 +68,10 @@ func New() locales.Translator { periodsAbbreviated: []string{"SA", "CH"}, periodsNarrow: []string{"s", "c"}, periodsWide: []string{"SA", "CH"}, - erasAbbreviated: []string{"tr. CN", "sau CN"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"tr. CN", "sau CN"}, - erasWide: []string{"tr. CN", "sau CN"}, - timezones: map[string]string{"MDT": "Giờ ban ngày miền núi", "NZST": "Giờ Chuẩn New Zealand", "BT": "Giờ Bhutan", "GFT": "Giờ Guiana thuộc Pháp", "HAST": "Giờ Chuẩn Hawaii-Aleutian", "ACWDT": "Giờ Mùa Hè Miền Trung Tây Nước Úc", "IST": "Giờ Chuẩn Ấn Độ", "AKST": "Giờ Chuẩn Alaska", "WEZ": "Giờ Chuẩn Tây Âu", "WITA": "Giờ Miền Trung Indonesia", "HKT": "Giờ Chuẩn Hồng Kông", "ECT": "Giờ Ecuador", "MEZ": "Giờ Chuẩn Trung Âu", "ACWST": "Giờ Chuẩn Miền Trung Tây Nước Úc", "EST": "Giờ chuẩn miền đông", "ARST": "Giờ Mùa Hè Argentina", "TMST": "Giờ Mùa Hè Turkmenistan", "AWST": "Giờ Chuẩn Miền Tây Nước Úc", "HAT": "Giờ Mùa Hè Newfoundland", "AST": "Giờ Chuẩn Đại Tây Dương", "UYST": "Giờ Mùa Hè Uruguay", "JDT": "Giờ Mùa Hè Nhật Bản", "UYT": "Giờ Chuẩn Uruguay", "CHAST": "Giờ Chuẩn Chatham", "SRT": "Giờ Suriname", "CST": "Giờ chuẩn miền trung", "AWDT": "Giờ Mùa Hè Miền Tây Nước Úc", "HNT": "Giờ Chuẩn Newfoundland", "CLT": "Giờ Chuẩn Chile", "∅∅∅": "Giờ Mùa Hè Azores", "OEZ": "Giờ Chuẩn Đông Âu", "OESZ": "Giờ Mùa Hè Đông Âu", "WESZ": "Giờ Mùa hè Tây Âu", "CLST": "Giờ Mùa Hè Chile", "ACST": "Giờ Chuẩn Miền Trung Nước Úc", "WART": "Giờ chuẩn miền mây Argentina", "WAST": "Giờ Mùa Hè Tây Phi", "TMT": "Giờ Chuẩn Turkmenistan", "VET": "Giờ Venezuela", "PST": "Giờ chuẩn Thái Bình Dương", "BOT": "Giờ Bolivia", "SGT": "Giờ Singapore", "WARST": "Giờ mùa hè miền tây Argentina", "EDT": "Giờ ban ngày miền đông", "MST": "Giờ chuẩn miền núi", "WAT": "Giờ Chuẩn Tây Phi", "CAT": "Giờ Trung Phi", "JST": "Giờ Chuẩn Nhật Bản", "MYT": "Giờ Malaysia", "LHDT": "Giờ Mùa Hè Lord Howe", "WIB": "Giờ Miền Tây Indonesia", "ART": "Giờ Chuẩn Argentina", "HADT": "Giờ Mùa Hè Hawaii-Aleutian", "PDT": "Giờ ban ngày Thái Bình Dương", "AEDT": "Giờ Mùa Hè Miền Đông Nước Úc", "AKDT": "Giờ Mùa Hè Alaska", "ADT": "Giờ Mùa hè Đại Tây Dương", "NZDT": "Giờ Mùa Hè New Zealand", "COST": "Giờ Mùa Hè Colombia", "MESZ": "Giờ Mùa Hè Trung Âu", "ACDT": "Giờ Mùa Hè Miền Trung Nước Úc", "AEST": "Giờ Chuẩn Miền Đông Nước Úc", "GMT": "Giờ Trung bình Greenwich", "LHST": "Giờ Chuẩn Lord Howe", "CHADT": "Giờ Mùa Hè Chatham", "GYT": "Giờ Guyana", "ChST": "Giờ Chamorro", "WIT": "Giờ Miền Đông Indonesia", "HKST": "Giờ Mùa Hè Hồng Kông", "COT": "Giờ Chuẩn Colombia", "EAT": "Giờ Đông Phi", "SAST": "Giờ Chuẩn Nam Phi", "CDT": "Giờ ban ngày miền trung"}, + erasWide: []string{"", ""}, + timezones: map[string]string{"AEST": "Giờ Chuẩn Miền Đông Nước Úc", "GFT": "Giờ Guiana thuộc Pháp", "SRT": "Giờ Suriname", "WEZ": "Giờ Chuẩn Tây Âu", "HNT": "Giờ Chuẩn Newfoundland", "AWDT": "Giờ Mùa Hè Miền Tây Nước Úc", "HKT": "Giờ Chuẩn Hồng Kông", "HNPM": "Giờ Chuẩn St. Pierre và Miquelon", "MEZ": "Giờ Chuẩn Trung Âu", "LHDT": "Giờ Mùa Hè Lord Howe", "ECT": "Giờ Ecuador", "WART": "Giờ chuẩn miền mây Argentina", "GMT": "Giờ Trung bình Greenwich", "NZDT": "Giờ Mùa Hè New Zealand", "IST": "Giờ Chuẩn Ấn Độ", "TMST": "Giờ Mùa Hè Turkmenistan", "HEPMX": "Giờ Mùa Hè Thái Bình Dương Mexico", "WIB": "Giờ Miền Tây Indonesia", "HAST": "Giờ Chuẩn Hawaii-Aleutian", "HADT": "Giờ Mùa Hè Hawaii-Aleutian", "VET": "Giờ Venezuela", "∅∅∅": "Giờ Mùa Hè Peru", "OEZ": "Giờ Chuẩn Đông Âu", "HNCU": "Giờ Chuẩn Cuba", "MESZ": "Giờ Mùa Hè Trung Âu", "CLT": "Giờ Chuẩn Chile", "BOT": "Giờ Bolivia", "PDT": "Giờ Mùa hè Thái Bình Dương", "HNOG": "Giờ Chuẩn Miền Tây Greenland", "CHAST": "Giờ Chuẩn Chatham", "WIT": "Giờ Miền Đông Indonesia", "HNNOMX": "Giờ Chuẩn Tây Bắc Mexico", "SGT": "Giờ Singapore", "ADT": "Giờ Mùa hè Đại Tây Dương", "SAST": "Giờ Chuẩn Nam Phi", "WAST": "Giờ Mùa Hè Tây Phi", "HAT": "Giờ Mùa Hè Newfoundland", "LHST": "Giờ Chuẩn Lord Howe", "HEEG": "Giờ Mùa Hè Miền Đông Greenland", "HNPMX": "Giờ Chuẩn Thái Bình Dương Mexico", "ARST": "Giờ Mùa Hè Argentina", "WITA": "Giờ Miền Trung Indonesia", "CDT": "Giờ mùa hè miền trung", "HENOMX": "Giờ Mùa Hè Tây Bắc Mexico", "EST": "Giờ chuẩn miền đông", "MST": "Giờ Chuẩn Ma Cao", "HNEG": "Giờ Chuẩn Miền Đông Greenland", "OESZ": "Giờ Mùa Hè Đông Âu", "BT": "Giờ Bhutan", "HEOG": "Giờ Mùa Hè Miền Tây Greenland", "EAT": "Giờ Đông Phi", "EDT": "Giờ mùa hè miền đông", "AKST": "Giờ Chuẩn Alaska", "AWST": "Giờ Chuẩn Miền Tây Nước Úc", "HKST": "Giờ Mùa Hè Hồng Kông", "AEDT": "Giờ Mùa Hè Miền Đông Nước Úc", "TMT": "Giờ Chuẩn Turkmenistan", "ACST": "Giờ Chuẩn Miền Trung Nước Úc", "COT": "Giờ Chuẩn Colombia", "HECU": "Giờ Mùa Hè Cuba", "WESZ": "Giờ Mùa hè Tây Âu", "PST": "Giờ chuẩn Thái Bình Dương", "NZST": "Giờ Chuẩn New Zealand", "CHADT": "Giờ Mùa Hè Chatham", "JDT": "Giờ Mùa Hè Nhật Bản", "ChST": "Giờ Chamorro", "WARST": "Giờ mùa hè miền tây Argentina", "CST": "Giờ chuẩn miền trung", "GYT": "Giờ Guyana", "AST": "Giờ Chuẩn Đại Tây Dương", "ACWST": "Giờ Chuẩn Miền Trung Tây Nước Úc", "ACWDT": "Giờ Mùa Hè Miền Trung Tây Nước Úc", "ACDT": "Giờ Mùa Hè Miền Trung Nước Úc", "WAT": "Giờ Chuẩn Tây Phi", "MDT": "Giờ Mùa Hè Ma Cao", "UYT": "Giờ Chuẩn Uruguay", "AKDT": "Giờ Mùa Hè Alaska", "HEPM": "Giờ Mùa Hè Saint Pierre và Miquelon", "CLST": "Giờ Mùa Hè Chile", "JST": "Giờ Chuẩn Nhật Bản", "COST": "Giờ Mùa Hè Colombia", "MYT": "Giờ Malaysia", "UYST": "Giờ Mùa Hè Uruguay", "CAT": "Giờ Trung Phi", "ART": "Giờ Chuẩn Argentina"}, } } @@ -400,7 +400,12 @@ func (vi *vi_VN) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -414,7 +419,12 @@ func (vi *vi_VN) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -424,27 +434,17 @@ func (vi *vi_VN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = append(b, []byte{0x4e, 0x67, 0xc3, 0xa0, 0x79}...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - b = strconv.AppendInt(b, int64(t.Day()), 10) - b = append(b, []byte{0x20, 0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67}...) b = append(b, []byte{0x20}...) + b = append(b, vi.monthsWide[t.Month()]...) + b = append(b, []byte{0x2c, 0x20}...) - if t.Month() < 10 { - b = append(b, '0') + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) } - b = strconv.AppendInt(b, int64(t.Month()), 10) - - b = append(b, []byte{0x20, 0x6e, 0xc4, 0x83, 0x6d}...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) - return string(b) } @@ -454,19 +454,17 @@ func (vi *vi_VN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) b = append(b, vi.daysWide[t.Weekday()]...) - b = append(b, []byte{0x2c, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79}...) - b = append(b, []byte{0x20}...) - - if t.Day() < 10 { - b = append(b, '0') - } - + b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x20}...) b = append(b, vi.monthsWide[t.Month()]...) - b = append(b, []byte{0x20, 0x6e, 0xc4, 0x83, 0x6d}...) - b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + b = append(b, []byte{0x2c, 0x20}...) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vo/vo.go b/vo/vo.go index c3a728904..6c29b878d 100644 --- a/vo/vo.go +++ b/vo/vo.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "yan", "feb", "mäz", "prl", "may", "yun", "yul", "gst", "set", "ton", "nov", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "P", "M", "Y", "Y", "G", "S", "T", "N", "D"}, monthsWide: []string{"", "yanul", "febul", "mäzul", "prilul", "mayul", "yunul", "yulul", "gustul", "setul", "tobul", "novul", "dekul"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"b. t. kr.", "p. t. kr."}, erasNarrow: []string{"", ""}, erasWide: []string{"b. t. kr.", "p. t. kr."}, - timezones: map[string]string{"CHADT": "CHADT", "ACST": "ACST", "ART": "ART", "TMST": "TMST", "MYT": "MYT", "CLT": "CLT", "LHST": "LHST", "ACWST": "ACWST", "WART": "WART", "EST": "EST", "CDT": "CDT", "HNT": "HNT", "COST": "COST", "AKDT": "AKDT", "AST": "AST", "MDT": "MDT", "SAST": "SAST", "OEZ": "OEZ", "ACDT": "ACDT", "MESZ": "MESZ", "EDT": "EDT", "NZST": "NZST", "NZDT": "NZDT", "WIT": "WIT", "SRT": "SRT", "ChST": "ChST", "WAT": "WAT", "IST": "IST", "AKST": "AKST", "PST": "PST", "GYT": "GYT", "HAST": "HAST", "WESZ": "WESZ", "OESZ": "OESZ", "AEST": "AEST", "HADT": "HADT", "WAST": "WAST", "GMT": "GMT", "HKST": "HKST", "MST": "MST", "HAT": "HAT", "COT": "COT", "JST": "JST", "ACWDT": "ACWDT", "UYT": "UYT", "TMT": "TMT", "CST": "CST", "GFT": "GFT", "JDT": "JDT", "HKT": "HKT", "SGT": "SGT", "WARST": "WARST", "BT": "BT", "CLST": "CLST", "LHDT": "LHDT", "ECT": "ECT", "WIB": "WIB", "AEDT": "AEDT", "ARST": "ARST", "BOT": "BOT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "VET": "VET", "PDT": "PDT", "ADT": "ADT", "WITA": "WITA", "AWST": "AWST", "AWDT": "AWDT", "UYST": "UYST", "MEZ": "MEZ", "EAT": "EAT", "CAT": "CAT", "CHAST": "CHAST"}, + timezones: map[string]string{"WEZ": "WEZ", "AEDT": "AEDT", "AKDT": "AKDT", "ADT": "ADT", "GYT": "GYT", "MESZ": "MESZ", "COST": "COST", "ART": "ART", "MEZ": "MEZ", "CLST": "CLST", "BOT": "BOT", "∅∅∅": "∅∅∅", "OESZ": "OESZ", "HNNOMX": "HNNOMX", "MDT": "MDT", "MYT": "MYT", "CDT": "CDT", "HADT": "HADT", "HNEG": "HNEG", "ACST": "ACST", "WESZ": "WESZ", "ACWDT": "ACWDT", "NZDT": "NZDT", "JST": "JST", "HECU": "HECU", "SRT": "SRT", "AST": "AST", "WIT": "WIT", "HNPM": "HNPM", "LHDT": "LHDT", "OEZ": "OEZ", "MST": "MST", "BT": "BT", "PST": "PST", "ARST": "ARST", "AWDT": "AWDT", "LHST": "LHST", "GFT": "GFT", "SGT": "SGT", "HEPMX": "HEPMX", "CST": "CST", "HNOG": "HNOG", "AEST": "AEST", "HEPM": "HEPM", "WAST": "WAST", "GMT": "GMT", "EDT": "EDT", "AKST": "AKST", "HAST": "HAST", "VET": "VET", "ACWST": "ACWST", "HAT": "HAT", "EAT": "EAT", "HENOMX": "HENOMX", "WITA": "WITA", "JDT": "JDT", "HNPMX": "HNPMX", "AWST": "AWST", "HKT": "HKT", "IST": "IST", "COT": "COT", "PDT": "PDT", "UYT": "UYT", "UYST": "UYST", "CHADT": "CHADT", "ChST": "ChST", "ECT": "ECT", "EST": "EST", "HNT": "HNT", "CLT": "CLT", "ACDT": "ACDT", "WAT": "WAT", "HNCU": "HNCU", "HKST": "HKST", "HEEG": "HEEG", "TMST": "TMST", "WIB": "WIB", "NZST": "NZST", "CHAST": "CHAST", "CAT": "CAT", "WART": "WART", "HEOG": "HEOG", "SAST": "SAST", "TMT": "TMT", "WARST": "WARST"}, } } @@ -207,7 +207,12 @@ func (vo *vo) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -232,7 +237,12 @@ func (vo *vo) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) @@ -246,7 +256,12 @@ func (vo *vo) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -260,7 +275,12 @@ func (vo *vo) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsWide[t.Month()]...) b = append(b, []byte{0x61}...) diff --git a/vo_001/vo_001.go b/vo_001/vo_001.go index 61943b9cc..b2248cb93 100644 --- a/vo_001/vo_001.go +++ b/vo_001/vo_001.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "yan", "feb", "mäz", "prl", "may", "yun", "yul", "gst", "set", "ton", "nov", "dek"}, monthsNarrow: []string{"", "Y", "F", "M", "P", "M", "Y", "Y", "G", "S", "T", "N", "D"}, monthsWide: []string{"", "yanul", "febul", "mäzul", "prilul", "mayul", "yunul", "yulul", "gustul", "setul", "tobul", "novul", "dekul"}, @@ -57,7 +57,7 @@ func New() locales.Translator { erasAbbreviated: []string{"b. t. kr.", "p. t. kr."}, erasNarrow: []string{"", ""}, erasWide: []string{"b. t. kr.", "p. t. kr."}, - timezones: map[string]string{"AST": "AST", "MYT": "MYT", "SRT": "SRT", "COT": "COT", "CST": "CST", "WAT": "WAT", "ChST": "ChST", "AWDT": "AWDT", "ACST": "ACST", "WART": "WART", "EST": "EST", "MST": "MST", "AWST": "AWST", "OESZ": "OESZ", "JST": "JST", "JDT": "JDT", "COST": "COST", "AEDT": "AEDT", "EDT": "EDT", "MDT": "MDT", "NZST": "NZST", "UYST": "UYST", "OEZ": "OEZ", "ACDT": "ACDT", "HAST": "HAST", "GYT": "GYT", "HKST": "HKST", "MEZ": "MEZ", "VET": "VET", "HADT": "HADT", "ARST": "ARST", "BOT": "BOT", "CAT": "CAT", "NZDT": "NZDT", "CLST": "CLST", "HKT": "HKT", "CHADT": "CHADT", "WIB": "WIB", "WARST": "WARST", "PST": "PST", "IST": "IST", "CDT": "CDT", "WIT": "WIT", "WESZ": "WESZ", "GFT": "GFT", "AEST": "AEST", "EAT": "EAT", "WITA": "WITA", "∅∅∅": "∅∅∅", "GMT": "GMT", "CHAST": "CHAST", "ART": "ART", "PDT": "PDT", "ADT": "ADT", "BT": "BT", "CLT": "CLT", "LHDT": "LHDT", "ACWST": "ACWST", "HAT": "HAT", "ACWDT": "ACWDT", "LHST": "LHST", "WEZ": "WEZ", "ECT": "ECT", "SAST": "SAST", "HNT": "HNT", "UYT": "UYT", "TMST": "TMST", "MESZ": "MESZ", "SGT": "SGT", "WAST": "WAST", "AKST": "AKST", "AKDT": "AKDT", "TMT": "TMT"}, + timezones: map[string]string{"HADT": "HADT", "HNT": "HNT", "ARST": "ARST", "ACWST": "ACWST", "AEST": "AEST", "∅∅∅": "∅∅∅", "HAST": "HAST", "CHADT": "CHADT", "JDT": "JDT", "ECT": "ECT", "EDT": "EDT", "ADT": "ADT", "SRT": "SRT", "ACWDT": "ACWDT", "HKST": "HKST", "HNEG": "HNEG", "HNNOMX": "HNNOMX", "GMT": "GMT", "HAT": "HAT", "SAST": "SAST", "OESZ": "OESZ", "HNOG": "HNOG", "HEOG": "HEOG", "AWST": "AWST", "NZDT": "NZDT", "TMST": "TMST", "ChST": "ChST", "HNPMX": "HNPMX", "IST": "IST", "ACST": "ACST", "GYT": "GYT", "UYT": "UYT", "UYST": "UYST", "LHDT": "LHDT", "CLT": "CLT", "BOT": "BOT", "HEPMX": "HEPMX", "MDT": "MDT", "PDT": "PDT", "MESZ": "MESZ", "JST": "JST", "EST": "EST", "MYT": "MYT", "SGT": "SGT", "MST": "MST", "WIT": "WIT", "AEDT": "AEDT", "NZST": "NZST", "CAT": "CAT", "WAT": "WAT", "COT": "COT", "AKDT": "AKDT", "VET": "VET", "BT": "BT", "CHAST": "CHAST", "WART": "WART", "AST": "AST", "WITA": "WITA", "MEZ": "MEZ", "CLST": "CLST", "WARST": "WARST", "WEZ": "WEZ", "AWDT": "AWDT", "LHST": "LHST", "TMT": "TMT", "HEPM": "HEPM", "COST": "COST", "HENOMX": "HENOMX", "CDT": "CDT", "EAT": "EAT", "CST": "CST", "WAST": "WAST", "WIB": "WIB", "ART": "ART", "WESZ": "WESZ", "HKT": "HKT", "GFT": "GFT", "ACDT": "ACDT", "OEZ": "OEZ", "PST": "PST", "HNPM": "HNPM", "HEEG": "HEEG", "HNCU": "HNCU", "HECU": "HECU", "AKST": "AKST"}, } } @@ -207,7 +207,12 @@ func (vo *vo_001) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2d}...) if t.Month() < 10 { @@ -232,7 +237,12 @@ func (vo *vo_001) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2e, 0x20}...) @@ -246,7 +256,12 @@ func (vo *vo_001) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) @@ -260,7 +275,12 @@ func (vo *vo_001) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x20}...) b = append(b, vo.monthsWide[t.Month()]...) b = append(b, []byte{0x61}...) diff --git a/vun/vun.go b/vun/vun.go index 5cfa5024d..6d71c516b 100644 --- a/vun/vun.go +++ b/vun/vun.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TSh", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"WITA": "WITA", "NZDT": "NZDT", "WIT": "WIT", "ACWDT": "ACWDT", "EDT": "EDT", "MST": "MST", "MYT": "MYT", "UYT": "UYT", "CHAST": "CHAST", "AKST": "AKST", "SRT": "SRT", "ACWST": "ACWST", "AST": "AST", "AKDT": "AKDT", "AWST": "AWST", "UYST": "UYST", "JST": "JST", "CLST": "CLST", "WIB": "WIB", "ECT": "ECT", "GYT": "GYT", "HKT": "HKT", "AEST": "AEST", "TMST": "TMST", "CAT": "CAT", "HNT": "HNT", "∅∅∅": "∅∅∅", "ART": "ART", "PST": "PST", "EST": "EST", "CDT": "CDT", "LHST": "LHST", "WESZ": "WESZ", "WARST": "WARST", "GFT": "GFT", "WEZ": "WEZ", "COST": "COST", "HADT": "HADT", "CST": "CST", "NZST": "NZST", "OESZ": "OESZ", "CHADT": "CHADT", "VET": "VET", "TMT": "TMT", "ChST": "ChST", "OEZ": "OEZ", "HKST": "HKST", "SGT": "SGT", "SAST": "SAST", "WAT": "WAT", "WAST": "WAST", "CLT": "CLT", "GMT": "GMT", "MESZ": "MESZ", "ACST": "ACST", "COT": "COT", "ADT": "ADT", "WART": "WART", "IST": "IST", "AWDT": "AWDT", "JDT": "JDT", "ARST": "ARST", "ACDT": "ACDT", "PDT": "PDT", "BT": "BT", "HAT": "HAT", "LHDT": "LHDT", "EAT": "EAT", "MDT": "MDT", "BOT": "BOT", "MEZ": "MEZ", "HAST": "HAST", "AEDT": "AEDT"}, + timezones: map[string]string{"HNNOMX": "HNNOMX", "MDT": "MDT", "UYST": "UYST", "WAT": "WAT", "HNPMX": "HNPMX", "CDT": "CDT", "AWST": "AWST", "WITA": "WITA", "MESZ": "MESZ", "GFT": "GFT", "OESZ": "OESZ", "GMT": "GMT", "HNCU": "HNCU", "BT": "BT", "HAT": "HAT", "NZDT": "NZDT", "ECT": "ECT", "ACWST": "ACWST", "AEDT": "AEDT", "WESZ": "WESZ", "ACWDT": "ACWDT", "JDT": "JDT", "TMT": "TMT", "WAST": "WAST", "HAST": "HAST", "PDT": "PDT", "WEZ": "WEZ", "AEST": "AEST", "CAT": "CAT", "SGT": "SGT", "AST": "AST", "HKT": "HKT", "HNPM": "HNPM", "HEPM": "HEPM", "COT": "COT", "EDT": "EDT", "AKST": "AKST", "HNT": "HNT", "ARST": "ARST", "HKST": "HKST", "SAST": "SAST", "CLST": "CLST", "∅∅∅": "∅∅∅", "WARST": "WARST", "ART": "ART", "HNOG": "HNOG", "WIT": "WIT", "MST": "MST", "SRT": "SRT", "ACST": "ACST", "OEZ": "OEZ", "EST": "EST", "PST": "PST", "HEOG": "HEOG", "LHDT": "LHDT", "HADT": "HADT", "VET": "VET", "BOT": "BOT", "EAT": "EAT", "WART": "WART", "HENOMX": "HENOMX", "HECU": "HECU", "MYT": "MYT", "CHADT": "CHADT", "GYT": "GYT", "UYT": "UYT", "CLT": "CLT", "ChST": "ChST", "ACDT": "ACDT", "COST": "COST", "AKDT": "AKDT", "CST": "CST", "WIB": "WIB", "AWDT": "AWDT", "LHST": "LHST", "TMST": "TMST", "HEPMX": "HEPMX", "ADT": "ADT", "NZST": "NZST", "JST": "JST", "HNEG": "HNEG", "HEEG": "HEEG", "MEZ": "MEZ", "CHAST": "CHAST", "IST": "IST"}, } } @@ -329,7 +329,12 @@ func (vun *vun) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (vun *vun) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (vun *vun) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (vun *vun) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/vun_TZ/vun_TZ.go b/vun_TZ/vun_TZ.go index 9507f4a09..bdee97377 100644 --- a/vun_TZ/vun_TZ.go +++ b/vun_TZ/vun_TZ.go @@ -47,7 +47,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, monthsAbbreviated: []string{"", "Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}, monthsNarrow: []string{"", "J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"}, monthsWide: []string{"", "Januari", "Februari", "Machi", "Aprilyi", "Mei", "Junyi", "Julyai", "Agusti", "Septemba", "Oktoba", "Novemba", "Desemba"}, @@ -59,7 +59,7 @@ func New() locales.Translator { erasAbbreviated: []string{"KK", "BK"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kabla ya Kristu", "Baada ya Kristu"}, - timezones: map[string]string{"ARST": "ARST", "SAST": "SAST", "WITA": "WITA", "CLST": "CLST", "AEDT": "AEDT", "WAST": "WAST", "OEZ": "OEZ", "WIB": "WIB", "MESZ": "MESZ", "AKDT": "AKDT", "PDT": "PDT", "HNT": "HNT", "OESZ": "OESZ", "COT": "COT", "CAT": "CAT", "VET": "VET", "HADT": "HADT", "MST": "MST", "ChST": "ChST", "LHDT": "LHDT", "GMT": "GMT", "WESZ": "WESZ", "CHAST": "CHAST", "AEST": "AEST", "WART": "WART", "CST": "CST", "NZDT": "NZDT", "JDT": "JDT", "SGT": "SGT", "COST": "COST", "SRT": "SRT", "AST": "AST", "EAT": "EAT", "TMT": "TMT", "MDT": "MDT", "WEZ": "WEZ", "CHADT": "CHADT", "GFT": "GFT", "PST": "PST", "LHST": "LHST", "HAST": "HAST", "IST": "IST", "TMST": "TMST", "WIT": "WIT", "AKST": "AKST", "EST": "EST", "BOT": "BOT", "HAT": "HAT", "CLT": "CLT", "HKST": "HKST", "ACDT": "ACDT", "WARST": "WARST", "AWDT": "AWDT", "JST": "JST", "CDT": "CDT", "BT": "BT", "AWST": "AWST", "UYT": "UYT", "UYST": "UYST", "EDT": "EDT", "ADT": "ADT", "GYT": "GYT", "MYT": "MYT", "∅∅∅": "∅∅∅", "ACWDT": "ACWDT", "WAT": "WAT", "NZST": "NZST", "ART": "ART", "ACST": "ACST", "ACWST": "ACWST", "HKT": "HKT", "ECT": "ECT", "MEZ": "MEZ"}, + timezones: map[string]string{"AST": "AST", "MYT": "MYT", "MST": "MST", "MDT": "MDT", "ART": "ART", "WESZ": "WESZ", "CLT": "CLT", "CDT": "CDT", "HEEG": "HEEG", "OESZ": "OESZ", "ChST": "ChST", "WITA": "WITA", "NZST": "NZST", "WAT": "WAT", "EST": "EST", "WIT": "WIT", "GFT": "GFT", "ACST": "ACST", "ACDT": "ACDT", "HENOMX": "HENOMX", "HNPMX": "HNPMX", "∅∅∅": "∅∅∅", "CAT": "CAT", "HNOG": "HNOG", "HEPM": "HEPM", "SGT": "SGT", "HNT": "HNT", "AKST": "AKST", "HAT": "HAT", "HEOG": "HEOG", "AEST": "AEST", "WART": "WART", "UYST": "UYST", "ACWST": "ACWST", "WIB": "WIB", "HKST": "HKST", "HNPM": "HNPM", "MESZ": "MESZ", "LHST": "LHST", "JDT": "JDT", "WARST": "WARST", "HNCU": "HNCU", "GYT": "GYT", "HECU": "HECU", "SRT": "SRT", "SAST": "SAST", "TMT": "TMT", "EAT": "EAT", "WAST": "WAST", "COST": "COST", "HNNOMX": "HNNOMX", "CST": "CST", "AEDT": "AEDT", "AWST": "AWST", "JST": "JST", "GMT": "GMT", "HAST": "HAST", "VET": "VET", "BT": "BT", "CHADT": "CHADT", "HADT": "HADT", "PDT": "PDT", "LHDT": "LHDT", "TMST": "TMST", "EDT": "EDT", "UYT": "UYT", "AKDT": "AKDT", "ARST": "ARST", "PST": "PST", "IST": "IST", "CLST": "CLST", "BOT": "BOT", "COT": "COT", "ADT": "ADT", "HNEG": "HNEG", "ECT": "ECT", "HEPMX": "HEPMX", "HKT": "HKT", "AWDT": "AWDT", "OEZ": "OEZ", "ACWDT": "ACWDT", "CHAST": "CHAST", "MEZ": "MEZ", "NZDT": "NZDT", "WEZ": "WEZ"}, } } @@ -329,7 +329,12 @@ func (vun *vun_TZ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -343,7 +348,12 @@ func (vun *vun_TZ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -357,7 +367,12 @@ func (vun *vun_TZ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -373,7 +388,12 @@ func (vun *vun_TZ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, vun.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/wae/wae.go b/wae/wae.go index 8b5241cb9..c9fef7b7e 100644 --- a/wae/wae.go +++ b/wae/wae.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: "’", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"GMT": "GMT", "IST": "IST", "TMT": "TMT", "CST": "CST", "BOT": "BOT", "HAT": "HAT", "CLT": "CLT", "OESZ": "Ošteuropäiši Summerzit", "WAT": "WAT", "WAST": "WAST", "MDT": "MDT", "WIB": "WIB", "ACDT": "ACDT", "WART": "WART", "HNT": "HNT", "NZST": "NZST", "AWDT": "AWDT", "CHAST": "CHAST", "WESZ": "Wešteuropäiši Summerzit", "VET": "VET", "CDT": "CDT", "MESZ": "Mitteleuropäiši Summerzit", "ACWST": "ACWST", "CLST": "CLST", "WIT": "WIT", "HKST": "HKST", "SGT": "SGT", "ECT": "ECT", "AKST": "AKST", "HKT": "HKT", "CHADT": "CHADT", "WEZ": "Wešteuropäiši Standardzit", "BT": "BT", "JDT": "JDT", "EDT": "EDT", "NZDT": "NZDT", "AKDT": "AKDT", "EST": "EST", "PST": "PST", "AST": "Atlantiši Standardzit", "∅∅∅": "∅∅∅", "MEZ": "Mitteleuropäiši Standardzit", "ACST": "ACST", "AEST": "AEST", "WITA": "WITA", "UYT": "UYT", "GYT": "GYT", "COT": "COT", "ART": "ART", "ARST": "ARST", "AWST": "AWST", "ADT": "Atlantiši Summerzit", "SAST": "SAST", "CAT": "CAT", "UYST": "UYST", "WARST": "WARST", "HAST": "HAST", "HADT": "HADT", "LHST": "LHST", "OEZ": "Ošteuropäiši Standardzit", "TMST": "TMST", "MYT": "MYT", "LHDT": "LHDT", "AEDT": "AEDT", "PDT": "PDT", "MST": "MST", "GFT": "GFT", "ACWDT": "ACWDT", "ChST": "ChST", "JST": "JST", "SRT": "SRT", "COST": "COST", "EAT": "EAT"}, + timezones: map[string]string{"JDT": "JDT", "HNCU": "HNCU", "HKT": "HKT", "SRT": "SRT", "AWDT": "AWDT", "CHAST": "CHAST", "SAST": "SAST", "WAST": "WAST", "HNNOMX": "HNNOMX", "MST": "MST", "CST": "CST", "NZST": "NZST", "VET": "VET", "ART": "ART", "PDT": "PDT", "HNPM": "HNPM", "TMST": "TMST", "ChST": "ChST", "ACST": "ACST", "WARST": "WARST", "HEPMX": "HEPMX", "HNOG": "HNOG", "MEZ": "Mitteleuropäiši Standardzit", "∅∅∅": "∅∅∅", "HNPMX": "HNPMX", "WIB": "WIB", "BT": "BT", "HAT": "HAT", "LHDT": "LHDT", "WART": "WART", "AKDT": "AKDT", "HNT": "HNT", "JST": "JST", "OESZ": "Ošteuropäiši Summerzit", "HENOMX": "HENOMX", "MESZ": "Mitteleuropäiši Summerzit", "IST": "IST", "EST": "EST", "WITA": "WITA", "CHADT": "CHADT", "GFT": "GFT", "TMT": "TMT", "OEZ": "Ošteuropäiši Standardzit", "COT": "COT", "AST": "Atlantiši Standardzit", "LHST": "LHST", "WAT": "WAT", "GMT": "GMT", "MDT": "MDT", "UYST": "UYST", "ACWST": "ACWST", "ACDT": "ACDT", "COST": "COST", "HEOG": "HEOG", "WESZ": "Wešteuropäiši Summerzit", "HNEG": "HNEG", "AKST": "AKST", "AEST": "AEST", "AEDT": "AEDT", "AWST": "AWST", "HKST": "HKST", "HEEG": "HEEG", "CAT": "CAT", "EDT": "EDT", "HAST": "HAST", "NZDT": "NZDT", "CLST": "CLST", "ECT": "ECT", "ARST": "ARST", "ACWDT": "ACWDT", "CLT": "CLT", "SGT": "SGT", "GYT": "GYT", "HADT": "HADT", "PST": "PST", "WEZ": "Wešteuropäiši Standardzit", "MYT": "MYT", "UYT": "UYT", "HEPM": "HEPM", "BOT": "BOT", "EAT": "EAT", "HECU": "HECU", "CDT": "CDT", "ADT": "Atlantiši Summerzit", "WIT": "WIT"}, } } @@ -312,7 +312,12 @@ func (wae *wae) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (wae *wae) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +352,12 @@ func (wae *wae) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/wae_CH/wae_CH.go b/wae_CH/wae_CH.go index ca400e13e..905ec502e 100644 --- a/wae_CH/wae_CH.go +++ b/wae_CH/wae_CH.go @@ -53,7 +53,7 @@ func New() locales.Translator { decimal: ",", group: "’", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -67,7 +67,7 @@ func New() locales.Translator { erasAbbreviated: []string{"v. Chr.", "n. Chr"}, erasNarrow: []string{"", ""}, erasWide: []string{"", ""}, - timezones: map[string]string{"TMT": "TMT", "ChST": "ChST", "CLT": "CLT", "CLST": "CLST", "WARST": "WARST", "ACWDT": "ACWDT", "AKST": "AKST", "AST": "Atlantiši Standardzit", "GMT": "GMT", "HKT": "HKT", "MDT": "MDT", "MYT": "MYT", "WEZ": "Wešteuropäiši Standardzit", "CHAST": "CHAST", "HAST": "HAST", "HADT": "HADT", "∅∅∅": "∅∅∅", "GYT": "GYT", "ACST": "ACST", "TMST": "TMST", "MST": "MST", "LHST": "LHST", "OESZ": "Ošteuropäiši Summerzit", "SAST": "SAST", "WAT": "WAT", "CDT": "CDT", "ADT": "Atlantiši Summerzit", "WIT": "WIT", "WAST": "WAST", "IST": "IST", "OEZ": "Ošteuropäiši Standardzit", "WIB": "WIB", "PDT": "PDT", "NZST": "NZST", "JDT": "JDT", "HKST": "HKST", "HAT": "HAT", "LHDT": "LHDT", "UYT": "UYT", "MESZ": "Mitteleuropäiši Summerzit", "AEDT": "AEDT", "ARST": "ARST", "AKDT": "AKDT", "PST": "PST", "WITA": "WITA", "AWST": "AWST", "JST": "JST", "ART": "ART", "EAT": "EAT", "ECT": "ECT", "MEZ": "Mitteleuropäiši Standardzit", "WART": "WART", "EST": "EST", "NZDT": "NZDT", "AWDT": "AWDT", "CST": "CST", "SRT": "SRT", "COT": "COT", "AEST": "AEST", "UYST": "UYST", "COST": "COST", "BOT": "BOT", "CHADT": "CHADT", "ACDT": "ACDT", "EDT": "EDT", "CAT": "CAT", "VET": "VET", "SGT": "SGT", "WESZ": "Wešteuropäiši Summerzit", "ACWST": "ACWST", "BT": "BT", "HNT": "HNT", "GFT": "GFT"}, + timezones: map[string]string{"MESZ": "Mitteleuropäiši Summerzit", "JDT": "JDT", "ACDT": "ACDT", "OEZ": "Ošteuropäiši Standardzit", "WAST": "WAST", "HNPMX": "HNPMX", "PDT": "PDT", "ECT": "ECT", "AST": "Atlantiši Standardzit", "MYT": "MYT", "OESZ": "Ošteuropäiši Summerzit", "CAT": "CAT", "WARST": "WARST", "HENOMX": "HENOMX", "HNCU": "HNCU", "HECU": "HECU", "BOT": "BOT", "LHST": "LHST", "LHDT": "LHDT", "IST": "IST", "HEPMX": "HEPMX", "ARST": "ARST", "HKT": "HKT", "NZDT": "NZDT", "WAT": "WAT", "COT": "COT", "HNPM": "HNPM", "MEZ": "Mitteleuropäiši Standardzit", "TMT": "TMT", "ACWST": "ACWST", "WITA": "WITA", "ACST": "ACST", "GMT": "GMT", "EDT": "EDT", "MST": "MST", "PST": "PST", "SAST": "SAST", "JST": "JST", "SGT": "SGT", "WIB": "WIB", "HNNOMX": "HNNOMX", "HAT": "HAT", "HNOG": "HNOG", "AEST": "AEST", "AEDT": "AEDT", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "ChST": "ChST", "EST": "EST", "CST": "CST", "HAST": "HAST", "VET": "VET", "HEOG": "HEOG", "ACWDT": "ACWDT", "HNEG": "HNEG", "WART": "WART", "COST": "COST", "HADT": "HADT", "WIT": "WIT", "BT": "BT", "NZST": "NZST", "GFT": "GFT", "MDT": "MDT", "CDT": "CDT", "ART": "ART", "HKST": "HKST", "HEPM": "HEPM", "EAT": "EAT", "UYT": "UYT", "SRT": "SRT", "WEZ": "Wešteuropäiši Standardzit", "WESZ": "Wešteuropäiši Summerzit", "AWDT": "AWDT", "CLT": "CLT", "HEEG": "HEEG", "UYST": "UYST", "HNT": "HNT", "CHADT": "CHADT", "CLST": "CLST", "ADT": "Atlantiši Summerzit", "GYT": "GYT", "AWST": "AWST", "TMST": "TMST", "AKST": "AKST", "AKDT": "AKDT"}, } } @@ -312,7 +312,12 @@ func (wae *wae_CH) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -326,7 +331,12 @@ func (wae *wae_CH) FmtDateLong(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +352,12 @@ func (wae *wae_CH) FmtDateFull(t time.Time) string { b = append(b, []byte{0x2e, 0x20}...) b = append(b, wae.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/xog/xog.go b/xog/xog.go index 936c0cb8d..3f0a44a65 100644 --- a/xog/xog.go +++ b/xog/xog.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "USh", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apu", "Maa", "Juu", "Jul", "Agu", "Seb", "Oki", "Nov", "Des"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AZ", "AF"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kulisto nga azilawo", "Kulisto nga affile"}, - timezones: map[string]string{"ACDT": "ACDT", "HADT": "HADT", "ACWST": "ACWST", "PST": "PST", "GMT": "GMT", "WIB": "WIB", "ACST": "ACST", "JDT": "JDT", "GFT": "GFT", "CAT": "CAT", "WITA": "WITA", "GYT": "GYT", "MESZ": "MESZ", "IST": "IST", "CDT": "CDT", "JST": "JST", "WEZ": "WEZ", "WAT": "WAT", "AWDT": "AWDT", "UYST": "UYST", "HKST": "HKST", "MST": "MST", "CST": "CST", "HAT": "HAT", "OESZ": "OESZ", "EST": "EST", "WIT": "WIT", "COT": "COT", "AST": "AST", "ART": "ART", "CLT": "CLT", "CHADT": "CHADT", "WART": "WART", "TMST": "TMST", "LHDT": "LHDT", "VET": "VET", "EDT": "EDT", "BT": "BT", "HNT": "HNT", "∅∅∅": "∅∅∅", "OEZ": "OEZ", "MDT": "MDT", "NZST": "NZST", "NZDT": "NZDT", "BOT": "BOT", "LHST": "LHST", "ECT": "ECT", "AEST": "AEST", "SRT": "SRT", "TMT": "TMT", "AEDT": "AEDT", "MYT": "MYT", "AWST": "AWST", "UYT": "UYT", "HKT": "HKT", "SGT": "SGT", "HAST": "HAST", "PDT": "PDT", "ADT": "ADT", "EAT": "EAT", "SAST": "SAST", "WAST": "WAST", "WESZ": "WESZ", "WARST": "WARST", "ARST": "ARST", "AKST": "AKST", "ChST": "ChST", "MEZ": "MEZ", "ACWDT": "ACWDT", "AKDT": "AKDT", "CLST": "CLST", "CHAST": "CHAST", "COST": "COST"}, + timezones: map[string]string{"CST": "CST", "BT": "BT", "SRT": "SRT", "HNT": "HNT", "NZST": "NZST", "SAST": "SAST", "UYT": "UYT", "WAT": "WAT", "NZDT": "NZDT", "CDT": "CDT", "WESZ": "WESZ", "ACWST": "ACWST", "ART": "ART", "HEOG": "HEOG", "HKT": "HKT", "MESZ": "MESZ", "HNNOMX": "HNNOMX", "ACST": "ACST", "GFT": "GFT", "MEZ": "MEZ", "ACDT": "ACDT", "ECT": "ECT", "WIB": "WIB", "AST": "AST", "ACWDT": "ACWDT", "HNPM": "HNPM", "CHAST": "CHAST", "MDT": "MDT", "HECU": "HECU", "UYST": "UYST", "ADT": "ADT", "WIT": "WIT", "WEZ": "WEZ", "AEDT": "AEDT", "HEPM": "HEPM", "HNCU": "HNCU", "TMT": "TMT", "JST": "JST", "MYT": "MYT", "AEST": "AEST", "BOT": "BOT", "COT": "COT", "PDT": "PDT", "WITA": "WITA", "LHDT": "LHDT", "OESZ": "OESZ", "HEPMX": "HEPMX", "WAST": "WAST", "WARST": "WARST", "HADT": "HADT", "PST": "PST", "OEZ": "OEZ", "AKST": "AKST", "VET": "VET", "HAT": "HAT", "CLT": "CLT", "CLST": "CLST", "HAST": "HAST", "EDT": "EDT", "CHADT": "CHADT", "COST": "COST", "HNPMX": "HNPMX", "IST": "IST", "WART": "WART", "GMT": "GMT", "∅∅∅": "∅∅∅", "EST": "EST", "AWDT": "AWDT", "LHST": "LHST", "ChST": "ChST", "TMST": "TMST", "HENOMX": "HENOMX", "EAT": "EAT", "CAT": "CAT", "JDT": "JDT", "HEEG": "HEEG", "AWST": "AWST", "MST": "MST", "AKDT": "AKDT", "GYT": "GYT", "ARST": "ARST", "HNOG": "HNOG", "HKST": "HKST", "HNEG": "HNEG", "SGT": "SGT"}, } } @@ -332,7 +332,12 @@ func (xog *xog) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +351,12 @@ func (xog *xog) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -360,7 +370,12 @@ func (xog *xog) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -376,7 +391,12 @@ func (xog *xog) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/xog_UG/xog_UG.go b/xog_UG/xog_UG.go index d4c03f084..1c064d875 100644 --- a/xog_UG/xog_UG.go +++ b/xog_UG/xog_UG.go @@ -49,7 +49,7 @@ func New() locales.Translator { pluralsOrdinal: nil, pluralsRange: nil, timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativeSuffix: " ", monthsAbbreviated: []string{"", "Jan", "Feb", "Mar", "Apu", "Maa", "Juu", "Jul", "Agu", "Seb", "Oki", "Nov", "Des"}, @@ -63,7 +63,7 @@ func New() locales.Translator { erasAbbreviated: []string{"AZ", "AF"}, erasNarrow: []string{"", ""}, erasWide: []string{"Kulisto nga azilawo", "Kulisto nga affile"}, - timezones: map[string]string{"ART": "ART", "HAST": "HAST", "AKDT": "AKDT", "TMST": "TMST", "CLT": "CLT", "CHADT": "CHADT", "∅∅∅": "∅∅∅", "ECT": "ECT", "AEST": "AEST", "PDT": "PDT", "HAT": "HAT", "HKT": "HKT", "WAST": "WAST", "MYT": "MYT", "AWST": "AWST", "HNT": "HNT", "LHST": "LHST", "LHDT": "LHDT", "ACDT": "ACDT", "COST": "COST", "BOT": "BOT", "JDT": "JDT", "AST": "AST", "ADT": "ADT", "EAT": "EAT", "JST": "JST", "ARST": "ARST", "WART": "WART", "GYT": "GYT", "HKST": "HKST", "COT": "COT", "MEZ": "MEZ", "ACWDT": "ACWDT", "CST": "CST", "UYST": "UYST", "OEZ": "OEZ", "WIB": "WIB", "HADT": "HADT", "CAT": "CAT", "ACST": "ACST", "WARST": "WARST", "TMT": "TMT", "NZST": "NZST", "BT": "BT", "VET": "VET", "IST": "IST", "EST": "EST", "WITA": "WITA", "CLST": "CLST", "WEZ": "WEZ", "WESZ": "WESZ", "SRT": "SRT", "OESZ": "OESZ", "MST": "MST", "ChST": "ChST", "AWDT": "AWDT", "CHAST": "CHAST", "MESZ": "MESZ", "AEDT": "AEDT", "NZDT": "NZDT", "WAT": "WAT", "AKST": "AKST", "MDT": "MDT", "CDT": "CDT", "SGT": "SGT", "ACWST": "ACWST", "PST": "PST", "UYT": "UYT", "GFT": "GFT", "SAST": "SAST", "EDT": "EDT", "WIT": "WIT", "GMT": "GMT"}, + timezones: map[string]string{"WAST": "WAST", "HAT": "HAT", "MESZ": "MESZ", "JST": "JST", "TMT": "TMT", "OESZ": "OESZ", "ChST": "ChST", "MST": "MST", "AWDT": "AWDT", "LHDT": "LHDT", "ACST": "ACST", "WARST": "WARST", "CDT": "CDT", "UYT": "UYT", "ACWDT": "ACWDT", "ECT": "ECT", "HNNOMX": "HNNOMX", "SGT": "SGT", "HNCU": "HNCU", "AST": "AST", "GYT": "GYT", "AEST": "AEST", "HKST": "HKST", "HNPM": "HNPM", "MEZ": "MEZ", "LHST": "LHST", "BOT": "BOT", "EDT": "EDT", "AKDT": "AKDT", "AWST": "AWST", "CHADT": "CHADT", "GFT": "GFT", "WAT": "WAT", "OEZ": "OEZ", "WART": "WART", "MDT": "MDT", "HADT": "HADT", "ARST": "ARST", "CAT": "CAT", "COT": "COT", "CLST": "CLST", "HENOMX": "HENOMX", "AKST": "AKST", "BT": "BT", "WEZ": "WEZ", "HEOG": "HEOG", "ACDT": "ACDT", "∅∅∅": "∅∅∅", "COST": "COST", "GMT": "GMT", "SRT": "SRT", "HKT": "HKT", "CLT": "CLT", "EST": "EST", "WIB": "WIB", "HAST": "HAST", "TMST": "TMST", "MYT": "MYT", "WIT": "WIT", "ACWST": "ACWST", "NZST": "NZST", "HNPMX": "HNPMX", "CST": "CST", "WESZ": "WESZ", "ART": "ART", "CHAST": "CHAST", "ADT": "ADT", "VET": "VET", "PST": "PST", "PDT": "PDT", "HNOG": "HNOG", "AEDT": "AEDT", "IST": "IST", "HNEG": "HNEG", "HEEG": "HEEG", "EAT": "EAT", "HEPMX": "HEPMX", "UYST": "UYST", "HNT": "HNT", "WITA": "WITA", "HEPM": "HEPM", "SAST": "SAST", "JDT": "JDT", "HECU": "HECU", "NZDT": "NZDT"}, } } @@ -332,7 +332,12 @@ func (xog *xog_UG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -346,7 +351,12 @@ func (xog *xog_UG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -360,7 +370,12 @@ func (xog *xog_UG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -376,7 +391,12 @@ func (xog *xog_UG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, xog.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/yav/yav.go b/yav/yav.go index 2fbc0df60..f59175c3e 100644 --- a/yav/yav.go +++ b/yav/yav.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"k.Y.", "+J.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"katikupíen Yésuse", "ékélémkúnupíén n"}, - timezones: map[string]string{"HKST": "HKST", "VET": "VET", "MEZ": "MEZ", "JDT": "JDT", "WESZ": "WESZ", "ARST": "ARST", "WAST": "WAST", "LHST": "LHST", "AEST": "AEST", "UYST": "UYST", "SGT": "SGT", "ART": "ART", "BOT": "BOT", "HNT": "HNT", "WEZ": "WEZ", "HKT": "HKT", "WARST": "WARST", "CHAST": "CHAST", "AEDT": "AEDT", "WAT": "WAT", "WIT": "WIT", "AKST": "AKST", "PDT": "PDT", "CDT": "CDT", "BT": "BT", "ACDT": "ACDT", "HADT": "HADT", "ACWST": "ACWST", "NZDT": "NZDT", "GFT": "GFT", "COST": "COST", "ECT": "ECT", "PST": "PST", "AWDT": "AWDT", "GMT": "GMT", "LHDT": "LHDT", "UYT": "UYT", "HAST": "HAST", "AKDT": "AKDT", "AST": "AST", "ADT": "ADT", "EAT": "EAT", "WITA": "WITA", "IST": "IST", "SAST": "SAST", "GYT": "GYT", "MST": "MST", "HAT": "HAT", "SRT": "SRT", "COT": "COT", "MDT": "MDT", "CLST": "CLST", "CHADT": "CHADT", "ACWDT": "ACWDT", "TMT": "TMT", "JST": "JST", "OEZ": "OEZ", "WIB": "WIB", "∅∅∅": "∅∅∅", "CST": "CST", "ChST": "ChST", "CLT": "CLT", "AWST": "AWST", "MESZ": "MESZ", "EDT": "EDT", "MYT": "MYT", "NZST": "NZST", "CAT": "CAT", "WART": "WART", "EST": "EST", "OESZ": "OESZ", "ACST": "ACST", "TMST": "TMST"}, + timezones: map[string]string{"ECT": "ECT", "WART": "WART", "COT": "COT", "AKST": "AKST", "PDT": "PDT", "WEZ": "WEZ", "LHST": "LHST", "JDT": "JDT", "AWST": "AWST", "AWDT": "AWDT", "ACDT": "ACDT", "CLT": "CLT", "HEEG": "HEEG", "TMST": "TMST", "HADT": "HADT", "WESZ": "WESZ", "MEZ": "MEZ", "SAST": "SAST", "WAST": "WAST", "HNNOMX": "HNNOMX", "MST": "MST", "HNPMX": "HNPMX", "HEPMX": "HEPMX", "GYT": "GYT", "HNPM": "HNPM", "HEPM": "HEPM", "SRT": "SRT", "AEDT": "AEDT", "HNOG": "HNOG", "HKT": "HKT", "ACST": "ACST", "HNCU": "HNCU", "WAT": "WAT", "WARST": "WARST", "MDT": "MDT", "UYT": "UYT", "HAST": "HAST", "HEOG": "HEOG", "NZDT": "NZDT", "CHAST": "CHAST", "EST": "EST", "NZST": "NZST", "ChST": "ChST", "GFT": "GFT", "OEZ": "OEZ", "OESZ": "OESZ", "HKST": "HKST", "LHDT": "LHDT", "CLST": "CLST", "GMT": "GMT", "SGT": "SGT", "UYST": "UYST", "AST": "AST", "WIT": "WIT", "ACWST": "ACWST", "CAT": "CAT", "EAT": "EAT", "HNT": "HNT", "WITA": "WITA", "VET": "VET", "HECU": "HECU", "ADT": "ADT", "MYT": "MYT", "CST": "CST", "CDT": "CDT", "ARST": "ARST", "IST": "IST", "JST": "JST", "AKDT": "AKDT", "BT": "BT", "HAT": "HAT", "AEST": "AEST", "CHADT": "CHADT", "HENOMX": "HENOMX", "COST": "COST", "HNEG": "HNEG", "TMT": "TMT", "ART": "ART", "BOT": "BOT", "WIB": "WIB", "EDT": "EDT", "PST": "PST", "ACWDT": "ACWDT", "MESZ": "MESZ", "∅∅∅": "∅∅∅"}, } } @@ -384,7 +384,12 @@ func (yav *yav) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -398,7 +403,12 @@ func (yav *yav) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -412,7 +422,12 @@ func (yav *yav) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +443,12 @@ func (yav *yav) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/yav_CM/yav_CM.go b/yav_CM/yav_CM.go index 12e937cf9..08bab37e8 100644 --- a/yav_CM/yav_CM.go +++ b/yav_CM/yav_CM.go @@ -52,7 +52,7 @@ func New() locales.Translator { decimal: ",", group: " ", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: " ", currencyNegativePrefix: "(", currencyNegativeSuffix: " )", @@ -66,7 +66,7 @@ func New() locales.Translator { erasAbbreviated: []string{"k.Y.", "+J.C."}, erasNarrow: []string{"", ""}, erasWide: []string{"katikupíen Yésuse", "ékélémkúnupíén n"}, - timezones: map[string]string{"SAST": "SAST", "HAT": "HAT", "HKT": "HKT", "ADT": "ADT", "AKST": "AKST", "CLST": "CLST", "CAT": "CAT", "COT": "COT", "GYT": "GYT", "ECT": "ECT", "ACDT": "ACDT", "ACWST": "ACWST", "ACWDT": "ACWDT", "AKDT": "AKDT", "MYT": "MYT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "IST": "IST", "CHAST": "CHAST", "ART": "ART", "EDT": "EDT", "PST": "PST", "MST": "MST", "MDT": "MDT", "JDT": "JDT", "MESZ": "MESZ", "AEST": "AEST", "WAST": "WAST", "AST": "AST", "ChST": "ChST", "BOT": "BOT", "GFT": "GFT", "SRT": "SRT", "HADT": "HADT", "EST": "EST", "EAT": "EAT", "WITA": "WITA", "CLT": "CLT", "JST": "JST", "HKST": "HKST", "ARST": "ARST", "WARST": "WARST", "TMST": "TMST", "NZDT": "NZDT", "OESZ": "OESZ", "VET": "VET", "WART": "WART", "LHDT": "LHDT", "CHADT": "CHADT", "COST": "COST", "BT": "BT", "UYT": "UYT", "UYST": "UYST", "AWDT": "AWDT", "OEZ": "OEZ", "TMT": "TMT", "AEDT": "AEDT", "PDT": "PDT", "AWST": "AWST", "WIT": "WIT", "GMT": "GMT", "WIB": "WIB", "HAST": "HAST", "LHST": "LHST", "SGT": "SGT", "WAT": "WAT", "CDT": "CDT", "HNT": "HNT", "WESZ": "WESZ", "MEZ": "MEZ", "NZST": "NZST", "ACST": "ACST", "CST": "CST"}, + timezones: map[string]string{"WIB": "WIB", "HEOG": "HEOG", "CAT": "CAT", "WART": "WART", "MYT": "MYT", "GMT": "GMT", "CST": "CST", "CDT": "CDT", "WEZ": "WEZ", "NZST": "NZST", "OESZ": "OESZ", "ECT": "ECT", "COT": "COT", "JST": "JST", "EDT": "EDT", "AKST": "AKST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "UYT": "UYT", "ARST": "ARST", "MEZ": "MEZ", "ACST": "ACST", "ACDT": "ACDT", "COST": "COST", "JDT": "JDT", "PDT": "PDT", "CHADT": "CHADT", "PST": "PST", "AEST": "AEST", "CHAST": "CHAST", "IST": "IST", "HNEG": "HNEG", "WAST": "WAST", "HECU": "HECU", "HNOG": "HNOG", "SAST": "SAST", "ChST": "ChST", "HEEG": "HEEG", "TMST": "TMST", "HADT": "HADT", "HNT": "HNT", "NZDT": "NZDT", "HKT": "HKT", "HKST": "HKST", "LHST": "LHST", "WAT": "WAT", "MDT": "MDT", "ACWDT": "ACWDT", "AWDT": "AWDT", "WITA": "WITA", "CLT": "CLT", "SGT": "SGT", "HNCU": "HNCU", "AST": "AST", "LHDT": "LHDT", "MST": "MST", "AEDT": "AEDT", "AWST": "AWST", "HEPMX": "HEPMX", "ART": "ART", "HAT": "HAT", "TMT": "TMT", "WARST": "WARST", "HAST": "HAST", "SRT": "SRT", "HNPM": "HNPM", "OEZ": "OEZ", "UYST": "UYST", "AKDT": "AKDT", "BT": "BT", "WESZ": "WESZ", "BOT": "BOT", "GFT": "GFT", "ADT": "ADT", "VET": "VET", "WIT": "WIT", "CLST": "CLST", "HNPMX": "HNPMX", "GYT": "GYT", "HEPM": "HEPM", "ACWST": "ACWST", "MESZ": "MESZ", "∅∅∅": "∅∅∅", "EAT": "EAT", "EST": "EST"}, } } @@ -384,7 +384,12 @@ func (yav *yav_CM) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -398,7 +403,12 @@ func (yav *yav_CM) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -412,7 +422,12 @@ func (yav *yav_CM) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -428,7 +443,12 @@ func (yav *yav_CM) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yav.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/yi/yi.go b/yi/yi.go index c0770ec90..44ac98943 100644 --- a/yi/yi.go +++ b/yi/yi.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -69,7 +69,7 @@ func New() locales.Translator { daysWide: []string{"זונטיק", "מאָנטיק", "דינסטיק", "מיטוואך", "דאנערשטיק", "פֿרײַטיק", "שבת"}, periodsAbbreviated: []string{"פֿאַרמיטאָג", "נאָכמיטאָג"}, periodsWide: []string{"פֿאַרמיטאָג", "נאָכמיטאָג"}, - timezones: map[string]string{"CST": "CST", "MYT": "MYT", "NZST": "NZST", "AWST": "AWST", "ECT": "ECT", "WAST": "WAST", "PST": "PST", "CLT": "CLT", "LHST": "LHST", "GFT": "GFT", "WIB": "WIB", "MDT": "MDT", "UYT": "UYT", "HKT": "HKT", "MEZ": "MEZ", "TMT": "TMT", "JST": "JST", "MESZ": "MESZ", "ACDT": "ACDT", "VET": "VET", "TMST": "TMST", "∅∅∅": "∅∅∅", "CLST": "CLST", "ACST": "ACST", "WITA": "WITA", "MST": "MST", "HAT": "HAT", "CHAST": "CHAST", "ACWST": "ACWST", "AEDT": "AEDT", "ChST": "ChST", "BOT": "BOT", "AKDT": "AKDT", "EST": "EST", "CDT": "CDT", "CHADT": "CHADT", "COT": "COT", "AEST": "AEST", "OESZ": "OESZ", "AST": "AST", "IST": "IST", "AWDT": "AWDT", "WIT": "WIT", "JDT": "JDT", "CAT": "CAT", "SRT": "SRT", "HAST": "HAST", "ART": "ART", "ARST": "ARST", "AKST": "AKST", "BT": "BT", "UYST": "UYST", "COST": "COST", "ADT": "ADT", "WEZ": "WEZ", "WESZ": "WESZ", "ACWDT": "ACWDT", "WART": "WART", "WAT": "WAT", "HNT": "HNT", "LHDT": "LHDT", "HKST": "HKST", "SAST": "SAST", "EDT": "EDT", "PDT": "PDT", "GYT": "GYT", "GMT": "GMT", "EAT": "EAT", "NZDT": "NZDT", "OEZ": "OEZ", "SGT": "SGT", "HADT": "HADT", "WARST": "WARST"}, + timezones: map[string]string{"HEEG": "HEEG", "EST": "EST", "AKST": "AKST", "WIB": "WIB", "HAT": "HAT", "HNEG": "HNEG", "JDT": "JDT", "BOT": "BOT", "EDT": "EDT", "HNPMX": "HNPMX", "HADT": "HADT", "ARST": "ARST", "HKST": "HKST", "JST": "JST", "TMT": "TMT", "WIT": "WIT", "SRT": "SRT", "ACWST": "ACWST", "AEDT": "AEDT", "AWDT": "AWDT", "CHADT": "CHADT", "IST": "IST", "OESZ": "OESZ", "WARST": "WARST", "MDT": "MDT", "CDT": "CDT", "HNT": "HNT", "MESZ": "MESZ", "GYT": "GYT", "HAST": "HAST", "HENOMX": "HENOMX", "MST": "MST", "UYT": "UYT", "UYST": "UYST", "AKDT": "AKDT", "AWST": "AWST", "WITA": "WITA", "CLST": "CLST", "WAT": "WAT", "OEZ": "OEZ", "HNNOMX": "HNNOMX", "SGT": "SGT", "HNCU": "HNCU", "HECU": "HECU", "PDT": "PDT", "CST": "CST", "HNPM": "HNPM", "CLT": "CLT", "ACDT": "ACDT", "WEZ": "WEZ", "WESZ": "WESZ", "HNOG": "HNOG", "HEOG": "HEOG", "MEZ": "MEZ", "CAT": "CAT", "COT": "COT", "COST": "COST", "BT": "BT", "ART": "ART", "NZST": "NZST", "WAST": "WAST", "ECT": "ECT", "WART": "WART", "ADT": "ADT", "PST": "PST", "SAST": "SAST", "TMST": "TMST", "GMT": "GMT", "LHDT": "LHDT", "AST": "AST", "HKT": "HKT", "CHAST": "CHAST", "GFT": "GFT", "EAT": "EAT", "HEPMX": "HEPMX", "MYT": "MYT", "VET": "VET", "AEST": "AEST", "LHST": "LHST", "ACST": "ACST", "∅∅∅": "∅∅∅", "ACWDT": "ACWDT", "HEPM": "HEPM", "NZDT": "NZDT", "ChST": "ChST"}, } } @@ -336,7 +336,12 @@ func (yi *yi) FmtDateMedium(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +355,12 @@ func (yi *yi) FmtDateLong(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +376,12 @@ func (yi *yi) FmtDateFull(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/yi_001/yi_001.go b/yi_001/yi_001.go index 1c9c04b77..abeca58b4 100644 --- a/yi_001/yi_001.go +++ b/yi_001/yi_001.go @@ -57,7 +57,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositivePrefix: " ", currencyPositiveSuffix: "K", currencyNegativePrefix: " ", @@ -69,7 +69,7 @@ func New() locales.Translator { daysWide: []string{"זונטיק", "מאָנטיק", "דינסטיק", "מיטוואך", "דאנערשטיק", "פֿרײַטיק", "שבת"}, periodsAbbreviated: []string{"פֿאַרמיטאָג", "נאָכמיטאָג"}, periodsWide: []string{"פֿאַרמיטאָג", "נאָכמיטאָג"}, - timezones: map[string]string{"WIT": "WIT", "LHST": "LHST", "JST": "JST", "HKT": "HKT", "HKST": "HKST", "CHAST": "CHAST", "HADT": "HADT", "AEDT": "AEDT", "SRT": "SRT", "SGT": "SGT", "COT": "COT", "MEZ": "MEZ", "WART": "WART", "EST": "EST", "MYT": "MYT", "ACDT": "ACDT", "WEZ": "WEZ", "OEZ": "OEZ", "OESZ": "OESZ", "ChST": "ChST", "UYST": "UYST", "ACWST": "ACWST", "WAT": "WAT", "HAT": "HAT", "ACST": "ACST", "WAST": "WAST", "WITA": "WITA", "LHDT": "LHDT", "GFT": "GFT", "WARST": "WARST", "HAST": "HAST", "IST": "IST", "ADT": "ADT", "∅∅∅": "∅∅∅", "CST": "CST", "CDT": "CDT", "CLT": "CLT", "ECT": "ECT", "AEST": "AEST", "ART": "ART", "ARST": "ARST", "AST": "AST", "CAT": "CAT", "COST": "COST", "ACWDT": "ACWDT", "EDT": "EDT", "PDT": "PDT", "GYT": "GYT", "BT": "BT", "AWST": "AWST", "VET": "VET", "JDT": "JDT", "MST": "MST", "AKDT": "AKDT", "PST": "PST", "TMST": "TMST", "NZST": "NZST", "CLST": "CLST", "GMT": "GMT", "WESZ": "WESZ", "MESZ": "MESZ", "CHADT": "CHADT", "BOT": "BOT", "HNT": "HNT", "UYT": "UYT", "NZDT": "NZDT", "TMT": "TMT", "SAST": "SAST", "MDT": "MDT", "AKST": "AKST", "EAT": "EAT", "AWDT": "AWDT", "WIB": "WIB"}, + timezones: map[string]string{"HKT": "HKT", "WITA": "WITA", "CLST": "CLST", "ChST": "ChST", "OEZ": "OEZ", "HECU": "HECU", "HNPMX": "HNPMX", "CST": "CST", "AST": "AST", "AWST": "AWST", "LHDT": "LHDT", "ACWDT": "ACWDT", "HAT": "HAT", "HEOG": "HEOG", "LHST": "LHST", "ART": "ART", "AWDT": "AWDT", "CHADT": "CHADT", "GMT": "GMT", "EDT": "EDT", "MST": "MST", "ADT": "ADT", "IST": "IST", "∅∅∅": "∅∅∅", "WART": "WART", "COT": "COT", "HNOG": "HNOG", "CHAST": "CHAST", "ACST": "ACST", "ACWST": "ACWST", "HNT": "HNT", "MEZ": "MEZ", "MESZ": "MESZ", "NZST": "NZST", "JST": "JST", "TMST": "TMST", "WAT": "WAT", "HADT": "HADT", "MDT": "MDT", "AKST": "AKST", "AKDT": "AKDT", "CDT": "CDT", "WIB": "WIB", "WIT": "WIT", "HNEG": "HNEG", "SGT": "SGT", "HAST": "HAST", "ARST": "ARST", "AEDT": "AEDT", "WAST": "WAST", "WARST": "WARST", "AEST": "AEST", "HKST": "HKST", "HNPM": "HNPM", "HEPM": "HEPM", "HEPMX": "HEPMX", "VET": "VET", "WEZ": "WEZ", "WESZ": "WESZ", "CLT": "CLT", "ACDT": "ACDT", "HEEG": "HEEG", "GFT": "GFT", "OESZ": "OESZ", "PST": "PST", "NZDT": "NZDT", "JDT": "JDT", "EAT": "EAT", "ECT": "ECT", "MYT": "MYT", "SRT": "SRT", "PDT": "PDT", "SAST": "SAST", "COST": "COST", "HNNOMX": "HNNOMX", "HENOMX": "HENOMX", "HNCU": "HNCU", "GYT": "GYT", "UYT": "UYT", "UYST": "UYST", "BOT": "BOT", "TMT": "TMT", "CAT": "CAT", "EST": "EST", "BT": "BT"}, } } @@ -336,7 +336,12 @@ func (yi *yi_001) FmtDateMedium(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -350,7 +355,12 @@ func (yi *yi_001) FmtDateLong(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -366,7 +376,12 @@ func (yi *yi_001) FmtDateFull(t time.Time) string { b = append(b, []byte{0xd7, 0x98, 0xd7, 0x9f, 0x20}...) b = append(b, yi.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } diff --git a/yo/yo.go b/yo/yo.go index 6395a7a84..bac72e8e4 100644 --- a/yo/yo.go +++ b/yo/yo.go @@ -48,20 +48,29 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "₦", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ṣẹ́rẹ́", "Èrèlè", "Ẹrẹ̀nà", "Ìgbé", "Ẹ̀bibi", "Òkúdu", "Agẹmọ", "Ògún", "Owewe", "Ọ̀wàrà", "Bélú", "Ọ̀pẹ̀"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Oṣù Ṣẹ́rẹ́", "Oṣù Èrèlè", "Oṣù Ẹrẹ̀nà", "Oṣù Ìgbé", "Oṣù Ẹ̀bibi", "Oṣù Òkúdu", "Oṣù Agẹmọ", "Oṣù Ògún", "Oṣù Owewe", "Oṣù Ọ̀wàrà", "Oṣù Bélú", "Oṣù Ọ̀pẹ̀"}, daysAbbreviated: []string{"Àìkú", "Ajé", "Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ẹtì", "Àbámẹ́ta"}, + daysShort: []string{"Àìkú", "Ajé", "Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ẹtì", "Àbámẹ́ta"}, daysWide: []string{"Ọjọ́ Àìkú", "Ọjọ́ Ajé", "Ọjọ́ Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ọjọ́ Ẹtì", "Ọjọ́ Àbámẹ́ta"}, periodsAbbreviated: []string{"Àárọ̀", "Ọ̀sán"}, + periodsNarrow: []string{"Àárọ̀", "Ọ̀sán"}, periodsWide: []string{"Àárọ̀", "Ọ̀sán"}, - erasAbbreviated: []string{"SK", "LK"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"Saju Kristi", "Lehin Kristi"}, - timezones: map[string]string{"CDT": "CDT", "UYT": "UYT", "COST": "COST", "WARST": "WARST", "WITA": "WITA", "HAT": "HAT", "GMT": "GMT", "JDT": "JDT", "WESZ": "WESZ", "CHAST": "CHAST", "IST": "IST", "MDT": "MDT", "UYST": "UYST", "HAST": "HAST", "CST": "CST", "AWST": "AWST", "SGT": "SGT", "HADT": "HADT", "ACWST": "ACWST", "ACWDT": "ACWDT", "AEST": "AEST", "SAST": "SAST", "NZDT": "NZDT", "ARST": "ARST", "TMT": "TMT", "TMST": "TMST", "ChST": "ChST", "CAT": "CAT", "LHST": "LHST", "HKT": "HKT", "ADT": "ADT", "BOT": "BOT", "OESZ": "OESZ", "ACST": "ACST", "COT": "COT", "AST": "AST", "EAT": "EAT", "AKST": "AKST", "AKDT": "AKDT", "∅∅∅": "∅∅∅", "AWDT": "AWDT", "HNT": "HNT", "JST": "JST", "ART": "ART", "GYT": "GYT", "LHDT": "LHDT", "AEDT": "AEDT", "PST": "PST", "PDT": "PDT", "CHADT": "CHADT", "ECT": "ECT", "CLST": "CLST", "GFT": "GFT", "MEZ": "MEZ", "VET": "VET", "EDT": "EDT", "ACDT": "ACDT", "WART": "WART", "WAST": "WAST", "MYT": "MYT", "BT": "BT", "SRT": "SRT", "WIB": "WIB", "WIT": "WIT", "WAT": "WAT", "EST": "EST", "MST": "MST", "NZST": "NZST", "CLT": "CLT", "OEZ": "OEZ", "WEZ": "WEZ", "HKST": "HKST", "MESZ": "MESZ"}, + timezones: map[string]string{"HEEG": "HEEG", "ACST": "ACST", "ADT": "ADT", "WITA": "WITA", "SAST": "SAST", "JDT": "JDT", "HNCU": "HNCU", "EST": "EST", "HNPMX": "HNPMX", "ART": "ART", "HKT": "HKT", "HEPM": "HEPM", "MESZ": "MESZ", "LHDT": "LHDT", "CLST": "CLST", "AEST": "AEST", "HNPM": "HNPM", "VET": "VET", "EAT": "EAT", "WAT": "WAT", "TMT": "TMT", "ACDT": "ACDT", "HEPMX": "HEPMX", "AKDT": "AKDT", "PST": "PST", "ChST": "ChST", "HNEG": "HNEG", "SGT": "SGT", "WEZ": "WEZ", "HNOG": "HNOG", "HKST": "HKST", "OEZ": "OEZ", "WIB": "WIB", "BT": "BT", "HNT": "HNT", "ARST": "ARST", "AEDT": "AEDT", "WAST": "WAST", "HAST": "HAST", "ACWDT": "ACWDT", "HEOG": "HEOG", "BOT": "BOT", "UYT": "UYT", "GYT": "GYT", "WIT": "WIT", "HENOMX": "HENOMX", "MDT": "MDT", "CAT": "CAT", "WART": "WART", "COST": "COST", "MEZ": "MEZ", "CLT": "CLT", "AST": "AST", "∅∅∅": "∅∅∅", "COT": "COT", "ECT": "ECT", "WARST": "WARST", "EDT": "EDT", "UYST": "UYST", "CST": "CST", "ACWST": "ACWST", "CHADT": "CHADT", "OESZ": "OESZ", "IST": "IST", "GFT": "GFT", "AWST": "AWST", "NZDT": "NZDT", "MST": "MST", "AKST": "AKST", "CDT": "CDT", "WESZ": "WESZ", "JST": "JST", "HECU": "HECU", "CHAST": "CHAST", "TMST": "TMST", "MYT": "MYT", "HADT": "HADT", "SRT": "SRT", "HAT": "HAT", "AWDT": "AWDT", "NZST": "NZST", "GMT": "GMT", "PDT": "PDT", "LHST": "LHST", "HNNOMX": "HNNOMX"}, } } @@ -117,7 +126,7 @@ func (yo *yo) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (yo *yo) MonthsNarrow() []string { - return nil + return yo.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -173,13 +182,73 @@ func (yo *yo) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'yo' and handles both Whole and Real numbers based on 'v' func (yo *yo) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, yo.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'yo' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (yo *yo) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, yo.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'yo' @@ -187,7 +256,7 @@ func (yo *yo) FmtCurrency(num float64, v uint64, currency currency.Type) string s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -245,7 +314,7 @@ func (yo *yo) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -328,7 +397,12 @@ func (yo *yo) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +416,12 @@ func (yo *yo) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +435,12 @@ func (yo *yo) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +456,12 @@ func (yo *yo) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,13 +471,11 @@ func (yo *yo) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -396,13 +483,6 @@ func (yo *yo) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -412,13 +492,11 @@ func (yo *yo) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -433,13 +511,6 @@ func (yo *yo) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -449,13 +520,11 @@ func (yo *yo) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -472,14 +541,6 @@ func (yo *yo) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -491,13 +552,11 @@ func (yo *yo) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -514,14 +573,6 @@ func (yo *yo) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := yo.timezones[tz]; ok { diff --git a/yo_BJ/yo_BJ.go b/yo_BJ/yo_BJ.go index 5346ec6e1..536e8ee32 100644 --- a/yo_BJ/yo_BJ.go +++ b/yo_BJ/yo_BJ.go @@ -48,20 +48,29 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Shɛ́rɛ́", "Èrèlè", "Ɛrɛ̀nà", "Ìgbé", "Ɛ̀bibi", "Òkúdu", "Agɛmɔ", "Ògún", "Owewe", "Ɔ̀wàrà", "Bélú", "Ɔ̀pɛ̀"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Oshù Shɛ́rɛ́", "Oshù Èrèlè", "Oshù Ɛrɛ̀nà", "Oshù Ìgbé", "Oshù Ɛ̀bibi", "Oshù Òkúdu", "Oshù Agɛmɔ", "Oshù Ògún", "Oshù Owewe", "Oshù Ɔ̀wàrà", "Oshù Bélú", "Oshù Ɔ̀pɛ̀"}, daysAbbreviated: []string{"Àìkú", "Ajé", "Ìsɛ́gun", "Ɔjɔ́rú", "Ɔjɔ́bɔ", "Ɛtì", "Àbámɛ́ta"}, + daysShort: []string{"Àìkú", "Ajé", "Ìsɛ́gun", "Ɔjɔ́rú", "Ɔjɔ́bɔ", "Ɛtì", "Àbámɛ́ta"}, daysWide: []string{"Ɔjɔ́ Àìkú", "Ɔjɔ́ Ajé", "Ɔjɔ́ Ìsɛ́gun", "Ɔjɔ́rú", "Ɔjɔ́bɔ", "Ɔjɔ́ Ɛtì", "Ɔjɔ́ Àbámɛ́ta"}, periodsAbbreviated: []string{"Àárɔ̀", "Ɔ̀sán"}, + periodsNarrow: []string{"Àárɔ̀", "Ɔ̀sán"}, periodsWide: []string{"Àárɔ̀", "Ɔ̀sán"}, - erasAbbreviated: []string{"SK", "LK"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"Saju Kristi", "Lehin Kristi"}, - timezones: map[string]string{"AST": "AST", "HNT": "HNT", "CAT": "CAT", "CHADT": "CHADT", "MYT": "MYT", "HKST": "HKST", "WEZ": "WEZ", "OESZ": "OESZ", "MESZ": "MESZ", "WARST": "WARST", "CLST": "CLST", "JST": "JST", "HKT": "HKT", "MEZ": "MEZ", "AKDT": "AKDT", "ChST": "ChST", "WESZ": "WESZ", "VET": "VET", "WIT": "WIT", "ADT": "ADT", "NZDT": "NZDT", "AWST": "AWST", "CLT": "CLT", "AEDT": "AEDT", "ACWST": "ACWST", "TMST": "TMST", "GYT": "GYT", "BOT": "BOT", "SGT": "SGT", "ACST": "ACST", "AEST": "AEST", "HAST": "HAST", "IST": "IST", "AKST": "AKST", "MST": "MST", "CHAST": "CHAST", "WIB": "WIB", "EAT": "EAT", "NZST": "NZST", "COST": "COST", "EDT": "EDT", "LHDT": "LHDT", "ECT": "ECT", "OEZ": "OEZ", "HADT": "HADT", "ACWDT": "ACWDT", "∅∅∅": "∅∅∅", "GMT": "GMT", "SRT": "SRT", "WAT": "WAT", "EST": "EST", "SAST": "SAST", "WITA": "WITA", "TMT": "TMT", "LHST": "LHST", "COT": "COT", "ART": "ART", "BT": "BT", "UYT": "UYT", "WAST": "WAST", "PST": "PST", "MDT": "MDT", "CDT": "CDT", "AWDT": "AWDT", "WART": "WART", "JDT": "JDT", "GFT": "GFT", "ARST": "ARST", "ACDT": "ACDT", "PDT": "PDT", "CST": "CST", "HAT": "HAT", "UYST": "UYST"}, + timezones: map[string]string{"WIB": "WIB", "ACWST": "ACWST", "CHADT": "CHADT", "JDT": "JDT", "MEZ": "MEZ", "LHST": "LHST", "TMT": "TMT", "AKDT": "AKDT", "HADT": "HADT", "BT": "BT", "PST": "PST", "AEST": "AEST", "HAST": "HAST", "WIT": "WIT", "ART": "ART", "EAT": "EAT", "HKST": "HKST", "MESZ": "MESZ", "HEEG": "HEEG", "WAST": "WAST", "HNCU": "HNCU", "WEZ": "WEZ", "LHDT": "LHDT", "CLST": "CLST", "OESZ": "OESZ", "WARST": "WARST", "MYT": "MYT", "HNT": "HNT", "SAST": "SAST", "BOT": "BOT", "OEZ": "OEZ", "UYST": "UYST", "CST": "CST", "HNEG": "HNEG", "GFT": "GFT", "SGT": "SGT", "HNOG": "HNOG", "ChST": "ChST", "MST": "MST", "SRT": "SRT", "HAT": "HAT", "TMST": "TMST", "ECT": "ECT", "HNNOMX": "HNNOMX", "ADT": "ADT", "HKT": "HKT", "HNPM": "HNPM", "HEPM": "HEPM", "CAT": "CAT", "CLT": "CLT", "∅∅∅": "∅∅∅", "COT": "COT", "CDT": "CDT", "VET": "VET", "WESZ": "WESZ", "ACWDT": "ACWDT", "HEOG": "HEOG", "GMT": "GMT", "HNPMX": "HNPMX", "AST": "AST", "AWST": "AWST", "CHAST": "CHAST", "EST": "EST", "MDT": "MDT", "ARST": "ARST", "HECU": "HECU", "WAT": "WAT", "WART": "WART", "COST": "COST", "AKST": "AKST", "WITA": "WITA", "NZST": "NZST", "NZDT": "NZDT", "ACDT": "ACDT", "HEPMX": "HEPMX", "GYT": "GYT", "JST": "JST", "EDT": "EDT", "ACST": "ACST", "HENOMX": "HENOMX", "UYT": "UYT", "PDT": "PDT", "AEDT": "AEDT", "AWDT": "AWDT", "IST": "IST"}, } } @@ -117,7 +126,7 @@ func (yo *yo_BJ) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (yo *yo_BJ) MonthsNarrow() []string { - return nil + return yo.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -173,13 +182,73 @@ func (yo *yo_BJ) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'yo_BJ' and handles both Whole and Real numbers based on 'v' func (yo *yo_BJ) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, yo.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'yo_BJ' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (yo *yo_BJ) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, yo.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'yo_BJ' @@ -187,7 +256,7 @@ func (yo *yo_BJ) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -245,7 +314,7 @@ func (yo *yo_BJ) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -328,7 +397,12 @@ func (yo *yo_BJ) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +416,12 @@ func (yo *yo_BJ) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +435,12 @@ func (yo *yo_BJ) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +456,12 @@ func (yo *yo_BJ) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,13 +471,11 @@ func (yo *yo_BJ) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -396,13 +483,6 @@ func (yo *yo_BJ) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -412,13 +492,11 @@ func (yo *yo_BJ) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -433,13 +511,6 @@ func (yo *yo_BJ) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -449,13 +520,11 @@ func (yo *yo_BJ) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -472,14 +541,6 @@ func (yo *yo_BJ) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -491,13 +552,11 @@ func (yo *yo_BJ) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -514,14 +573,6 @@ func (yo *yo_BJ) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := yo.timezones[tz]; ok { diff --git a/yo_NG/yo_NG.go b/yo_NG/yo_NG.go index 333c41c64..ab9a276bf 100644 --- a/yo_NG/yo_NG.go +++ b/yo_NG/yo_NG.go @@ -48,20 +48,29 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: nil, pluralsRange: nil, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Ṣẹ́rẹ́", "Èrèlè", "Ẹrẹ̀nà", "Ìgbé", "Ẹ̀bibi", "Òkúdu", "Agẹmọ", "Ògún", "Owewe", "Ọ̀wàrà", "Bélú", "Ọ̀pẹ̀"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, monthsWide: []string{"", "Oṣù Ṣẹ́rẹ́", "Oṣù Èrèlè", "Oṣù Ẹrẹ̀nà", "Oṣù Ìgbé", "Oṣù Ẹ̀bibi", "Oṣù Òkúdu", "Oṣù Agẹmọ", "Oṣù Ògún", "Oṣù Owewe", "Oṣù Ọ̀wàrà", "Oṣù Bélú", "Oṣù Ọ̀pẹ̀"}, daysAbbreviated: []string{"Àìkú", "Ajé", "Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ẹtì", "Àbámẹ́ta"}, + daysShort: []string{"Àìkú", "Ajé", "Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ẹtì", "Àbámẹ́ta"}, daysWide: []string{"Ọjọ́ Àìkú", "Ọjọ́ Ajé", "Ọjọ́ Ìsẹ́gun", "Ọjọ́rú", "Ọjọ́bọ", "Ọjọ́ Ẹtì", "Ọjọ́ Àbámẹ́ta"}, periodsAbbreviated: []string{"Àárọ̀", "Ọ̀sán"}, + periodsNarrow: []string{"Àárọ̀", "Ọ̀sán"}, periodsWide: []string{"Àárọ̀", "Ọ̀sán"}, - erasAbbreviated: []string{"SK", "LK"}, + erasAbbreviated: []string{"", ""}, erasNarrow: []string{"", ""}, erasWide: []string{"Saju Kristi", "Lehin Kristi"}, - timezones: map[string]string{"LHST": "LHST", "HKT": "HKT", "HADT": "HADT", "WART": "WART", "BOT": "BOT", "MEZ": "MEZ", "ACWDT": "ACWDT", "AEST": "AEST", "ADT": "ADT", "EDT": "EDT", "MDT": "MDT", "SRT": "SRT", "OESZ": "OESZ", "AKST": "AKST", "AKDT": "AKDT", "EST": "EST", "WITA": "WITA", "EAT": "EAT", "CST": "CST", "HAT": "HAT", "UYT": "UYT", "WIB": "WIB", "ART": "ART", "SAST": "SAST", "GYT": "GYT", "WARST": "WARST", "WAT": "WAT", "NZST": "NZST", "OEZ": "OEZ", "COT": "COT", "PST": "PST", "WAST": "WAST", "TMT": "TMT", "BT": "BT", "IST": "IST", "AWST": "AWST", "VET": "VET", "LHDT": "LHDT", "COST": "COST", "MYT": "MYT", "ChST": "ChST", "AWDT": "AWDT", "CLT": "CLT", "WIT": "WIT", "CHADT": "CHADT", "ACST": "ACST", "JDT": "JDT", "∅∅∅": "∅∅∅", "CHAST": "CHAST", "AEDT": "AEDT", "JST": "JST", "WESZ": "WESZ", "HKST": "HKST", "PDT": "PDT", "MST": "MST", "NZDT": "NZDT", "HNT": "HNT", "CLST": "CLST", "GMT": "GMT", "WEZ": "WEZ", "HAST": "HAST", "AST": "AST", "ACDT": "ACDT", "SGT": "SGT", "ACWST": "ACWST", "TMST": "TMST", "CDT": "CDT", "CAT": "CAT", "UYST": "UYST", "GFT": "GFT", "MESZ": "MESZ", "ECT": "ECT", "ARST": "ARST"}, + timezones: map[string]string{"HNCU": "HNCU", "UYT": "UYT", "CST": "CST", "SRT": "SRT", "IST": "IST", "HNEG": "HNEG", "ACDT": "ACDT", "GMT": "GMT", "EST": "EST", "MDT": "MDT", "WESZ": "WESZ", "SAST": "SAST", "CLST": "CLST", "∅∅∅": "∅∅∅", "ChST": "ChST", "CHAST": "CHAST", "EAT": "EAT", "AKDT": "AKDT", "AST": "AST", "HNOG": "HNOG", "BOT": "BOT", "COT": "COT", "CDT": "CDT", "WIT": "WIT", "MYT": "MYT", "ACWST": "ACWST", "HNT": "HNT", "ARST": "ARST", "JST": "JST", "ACST": "ACST", "OEZ": "OEZ", "HEPMX": "HEPMX", "CAT": "CAT", "HECU": "HECU", "WIB": "WIB", "HADT": "HADT", "HAT": "HAT", "AEDT": "AEDT", "WAST": "WAST", "OESZ": "OESZ", "WEZ": "WEZ", "MST": "MST", "UYST": "UYST", "HEOG": "HEOG", "PST": "PST", "HKT": "HKT", "HNPM": "HNPM", "HEPM": "HEPM", "CHADT": "CHADT", "ADT": "ADT", "HAST": "HAST", "LHST": "LHST", "TMT": "TMT", "WARST": "WARST", "GYT": "GYT", "VET": "VET", "AEST": "AEST", "MEZ": "MEZ", "ECT": "ECT", "HENOMX": "HENOMX", "WAT": "WAT", "HNPMX": "HNPMX", "BT": "BT", "ART": "ART", "WITA": "WITA", "MESZ": "MESZ", "LHDT": "LHDT", "GFT": "GFT", "CLT": "CLT", "TMST": "TMST", "HNNOMX": "HNNOMX", "ACWDT": "ACWDT", "SGT": "SGT", "AKST": "AKST", "NZDT": "NZDT", "JDT": "JDT", "HEEG": "HEEG", "COST": "COST", "AWST": "AWST", "NZST": "NZST", "PDT": "PDT", "AWDT": "AWDT", "HKST": "HKST", "WART": "WART", "EDT": "EDT"}, } } @@ -117,7 +126,7 @@ func (yo *yo_NG) MonthNarrow(month time.Month) string { // MonthsNarrow returns the locales narrow months func (yo *yo_NG) MonthsNarrow() []string { - return nil + return yo.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided @@ -173,13 +182,73 @@ func (yo *yo_NG) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'yo_NG' and handles both Whole and Real numbers based on 'v' func (yo *yo_NG) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + b = append(b, yo.group[0]) + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'yo_NG' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (yo *yo_NG) FmtPercent(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 3 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, yo.decimal[0]) + continue + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, yo.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + b = append(b, yo.percent...) + + return string(b) } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'yo_NG' @@ -187,7 +256,7 @@ func (yo *yo_NG) FmtCurrency(num float64, v uint64, currency currency.Type) stri s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 0 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -245,7 +314,7 @@ func (yo *yo_NG) FmtAccounting(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yo.currencies[currency] - l := len(s) + len(symbol) + 2 + 0*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -328,7 +397,12 @@ func (yo *yo_NG) FmtDateShort(t time.Time) string { b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -342,7 +416,12 @@ func (yo *yo_NG) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -356,7 +435,12 @@ func (yo *yo_NG) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -372,7 +456,12 @@ func (yo *yo_NG) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, yo.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -382,13 +471,11 @@ func (yo *yo_NG) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -396,13 +483,6 @@ func (yo *yo_NG) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -412,13 +492,11 @@ func (yo *yo_NG) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -433,13 +511,6 @@ func (yo *yo_NG) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } return string(b) } @@ -449,13 +520,11 @@ func (yo *yo_NG) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -472,14 +541,6 @@ func (yo *yo_NG) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -491,13 +552,11 @@ func (yo *yo_NG) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, yo.timeSeparator...) if t.Minute() < 10 { @@ -514,14 +573,6 @@ func (yo *yo_NG) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, yo.periodsAbbreviated[0]...) - } else { - b = append(b, yo.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := yo.timezones[tz]; ok { diff --git a/yue/yue.go b/yue/yue.go index 49f051f59..4f147bbb3 100644 --- a/yue/yue.go +++ b/yue/yue.go @@ -10,68 +10,64 @@ import ( ) type yue struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'yue' locale func New() locales.Translator { return &yue{ - locale: "yue", - pluralsCardinal: nil, - pluralsOrdinal: nil, - pluralsRange: nil, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"朝早", "下晝"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"西元前", "西元"}, - erasNarrow: []string{"西元前", "西元"}, - erasWide: []string{"西元前", "西元"}, - timezones: map[string]string{"LHDT": "豪勳爵島夏令時間", "CHAST": "查坦群島標準時間", "ECT": "厄瓜多時間", "UYST": "烏拉圭夏令時間", "JST": "日本標準時間", "CST": "中部標準時間", "OESZ": "東歐夏令時間", "WAST": "西非夏令時間", "GFT": "法屬圭亞那時間", "MESZ": "中歐夏令時間", "ACWDT": "澳洲中西部夏令時間", "ACDT": "澳洲中部夏令時間", "COT": "哥倫比亞標準時間", "ChST": "查莫洛時間", "WIT": "印尼東部時間", "BT": "不丹時間", "OEZ": "東歐標準時間", "HNT": "紐芬蘭標準時間", "UYT": "烏拉圭標準時間", "AEDT": "澳洲東部夏令時間", "WITA": "印尼中部時間", "EST": "東部標準時間", "ADT": "大西洋夏令時間", "EAT": "東非時間", "SAST": "南非標準時間", "GYT": "蓋亞那時間", "AWST": "澳洲西部標準時間", "AWDT": "澳洲西部夏令時間", "ARST": "阿根廷夏令時間", "PDT": "太平洋夏令時間", "TMT": "土庫曼標準時間", "TMST": "土庫曼夏令時間", "HKT": "香港標準時間", "WIB": "印尼西部時間", "MEZ": "中歐標準時間", "WARST": "阿根廷西部夏令時間", "HAST": "夏威夷-阿留申標準時間", "EDT": "東部夏令時間", "WAT": "西非標準時間", "MDT": "山區夏令時間", "NZDT": "紐西蘭夏令時間", "HAT": "紐芬蘭夏令時間", "SRT": "蘇利南時間", "CDT": "中部夏令時間", "MST": "山區標準時間", "CLT": "智利標準時間", "AKST": "阿拉斯加標準時間", "MYT": "馬來西亞時間", "JDT": "日本夏令時間", "CHADT": "查坦群島夏令時間", "HADT": "夏威夷-阿留申夏令時間", "SGT": "新加坡標準時間", "WART": "阿根廷西部標準時間", "ACWST": "澳洲中西部標準時間", "ART": "阿根廷標準時間", "BOT": "玻利維亞時間", "CLST": "智利夏令時間", "CAT": "中非時間", "ACST": "澳洲中部標準時間", "AKDT": "阿拉斯加夏令時間", "AST": "大西洋標準時間", "∅∅∅": "亞速爾群島夏令時間", "WESZ": "西歐夏令時間", "HKST": "香港夏令時間", "AEST": "澳洲東部標準時間", "NZST": "紐西蘭標準時間", "LHST": "豪勳爵島標準時間", "VET": "委內瑞拉時間", "COST": "哥倫比亞夏令時間", "GMT": "格林威治標準時間", "WEZ": "西歐標準時間", "PST": "太平洋標準時間", "IST": "印度標準時間"}, + locale: "yue", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"西元前", "西元"}, + erasNarrow: []string{"西元前", "西元"}, + erasWide: []string{"西元前", "西元"}, + timezones: map[string]string{"TMT": "土庫曼標準時間", "OEZ": "東歐標準時間", "HEPM": "聖皮埃爾和密克隆群島夏令時間", "HEPMX": "墨西哥太平洋夏令時間", "ART": "阿根廷標準時間", "HNOG": "格陵蘭西部標準時間", "WITA": "印尼中部時間", "HNPM": "聖皮埃爾和密克隆群島標準時間", "CHAST": "查坦群島標準時間", "CLST": "智利夏令時間", "EDT": "東部夏令時間", "AKST": "阿拉斯加標準時間", "ACWST": "澳洲中西部標準時間", "AWDT": "澳洲西部夏令時間", "ACST": "澳洲中部標準時間", "ACDT": "澳洲中部夏令時間", "WAST": "西非夏令時間", "SGT": "新加坡標準時間", "HNCU": "古巴標準時間", "PDT": "太平洋夏令時間", "BOT": "玻利維亞時間", "UYT": "烏拉圭標準時間", "GYT": "蓋亞那時間", "HNT": "紐芬蘭標準時間", "HAT": "紐芬蘭夏令時間", "HNPMX": "墨西哥太平洋標準時間", "ARST": "阿根廷夏令時間", "JDT": "日本夏令時間", "CAT": "中非時間", "GMT": "格林威治標準時間", "WIT": "印尼東部時間", "HKT": "香港標準時間", "MESZ": "中歐夏令時間", "HEEG": "格陵蘭東部夏令時間", "HNNOMX": "墨西哥西北部標準時間", "ACWDT": "澳洲中西部夏令時間", "ADT": "大西洋夏令時間", "MEZ": "中歐標準時間", "NZDT": "紐西蘭夏令時間", "CLT": "智利標準時間", "OESZ": "東歐夏令時間", "MST": "澳門標準時間", "AST": "大西洋標準時間", "NZST": "紐西蘭標準時間", "ChST": "查莫洛時間", "EAT": "東非時間", "CDT": "中部夏令時間", "AEDT": "澳洲東部夏令時間", "HADT": "夏威夷-阿留申夏令時間", "WEZ": "西歐標準時間", "LHDT": "豪勳爵島夏令時間", "CHADT": "查坦群島夏令時間", "JST": "日本標準時間", "AKDT": "阿拉斯加夏令時間", "MYT": "馬來西亞時間", "WIB": "印尼西部時間", "HEOG": "格陵蘭西部夏令時間", "AWST": "澳洲西部標準時間", "COT": "哥倫比亞標準時間", "HENOMX": "墨西哥西北部夏令時間", "MDT": "澳門夏令時間", "UYST": "烏拉圭夏令時間", "VET": "委內瑞拉時間", "BT": "不丹時間", "∅∅∅": "亞馬遜夏令時間", "HNEG": "格陵蘭東部標準時間", "WESZ": "西歐夏令時間", "AEST": "澳洲東部標準時間", "PST": "太平洋標準時間", "IST": "印度標準時間", "TMST": "土庫曼夏令時間", "ECT": "厄瓜多時間", "COST": "哥倫比亞夏令時間", "EST": "東部標準時間", "HAST": "夏威夷-阿留申標準時間", "HKST": "香港夏令時間", "LHST": "豪勳爵島標準時間", "SAST": "南非標準時間", "GFT": "法屬圭亞那時間", "WART": "阿根廷西部標準時間", "HECU": "古巴夏令時間", "SRT": "蘇利南時間", "WAT": "西非標準時間", "WARST": "阿根廷西部夏令時間", "CST": "中部標準時間"}, } } @@ -97,17 +93,17 @@ func (yue *yue) PluralsRange() []locales.PluralRule { // CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'yue' func (yue *yue) CardinalPluralRule(num float64, v uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'yue' func (yue *yue) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'yue' func (yue *yue) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -315,7 +311,7 @@ func (yue *yue) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yue.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (yue *yue) FmtAccounting(num float64, v uint64, currency currency.Type) str b = append(b, symbol[j]) } - b = append(b, yue.currencyNegativePrefix[0]) + b = append(b, yue.minus[0]) } else { @@ -372,10 +368,6 @@ func (yue *yue) FmtAccounting(num float64, v uint64, currency currency.Type) str } } - if num < 0 { - b = append(b, yue.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (yue *yue) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (yue *yue) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (yue *yue) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (yue *yue) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/yue_HK/yue_HK.go b/yue_HK/yue_HK.go index c4fae1706..9ee0ccf2b 100644 --- a/yue_HK/yue_HK.go +++ b/yue_HK/yue_HK.go @@ -10,68 +10,64 @@ import ( ) type yue_HK struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'yue_HK' locale func New() locales.Translator { return &yue_HK{ - locale: "yue_HK", - pluralsCardinal: nil, - pluralsOrdinal: nil, - pluralsRange: nil, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"朝早", "下晝"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"西元前", "西元"}, - erasNarrow: []string{"西元前", "西元"}, - erasWide: []string{"西元前", "西元"}, - timezones: map[string]string{"EST": "東部標準時間", "ChST": "查莫洛時間", "SRT": "蘇利南時間", "OESZ": "東歐夏令時間", "ECT": "厄瓜多時間", "ART": "阿根廷標準時間", "ARST": "阿根廷夏令時間", "WAST": "西非夏令時間", "AKDT": "阿拉斯加夏令時間", "WEZ": "西歐標準時間", "WIB": "印尼西部時間", "TMT": "土庫曼標準時間", "UYT": "烏拉圭標準時間", "WESZ": "西歐夏令時間", "MESZ": "中歐夏令時間", "CDT": "中部夏令時間", "AWST": "澳洲西部標準時間", "GMT": "格林威治標準時間", "LHDT": "豪勳爵島夏令時間", "CHADT": "查坦群島夏令時間", "VET": "委內瑞拉時間", "HADT": "夏威夷-阿留申夏令時間", "PDT": "太平洋夏令時間", "AWDT": "澳洲西部夏令時間", "CLT": "智利標準時間", "LHST": "豪勳爵島標準時間", "AEDT": "澳洲東部夏令時間", "SAST": "南非標準時間", "TMST": "土庫曼夏令時間", "CST": "中部標準時間", "IST": "印度標準時間", "WITA": "印尼中部時間", "MYT": "馬來西亞時間", "NZST": "紐西蘭標準時間", "BOT": "玻利維亞時間", "AKST": "阿拉斯加標準時間", "MDT": "澳門夏令時間", "JST": "日本標準時間", "ACST": "澳洲中部標準時間", "ADT": "大西洋夏令時間", "NZDT": "紐西蘭夏令時間", "OEZ": "東歐標準時間", "ACDT": "澳洲中部夏令時間", "COT": "哥倫比亞標準時間", "WARST": "阿根廷西部夏令時間", "AST": "大西洋標準時間", "UYST": "烏拉圭夏令時間", "JDT": "日本夏令時間", "CHAST": "查坦群島標準時間", "GFT": "法屬圭亞那時間", "WAT": "西非標準時間", "HNT": "紐芬蘭標準時間", "ACWST": "澳洲中西部標準時間", "PST": "太平洋標準時間", "HKT": "香港標準時間", "SGT": "新加坡標準時間", "COST": "哥倫比亞夏令時間", "ACWDT": "澳洲中西部夏令時間", "EDT": "東部夏令時間", "WIT": "印尼東部時間", "WART": "阿根廷西部標準時間", "MST": "澳門標準時間", "CAT": "中非時間", "CLST": "智利夏令時間", "∅∅∅": "巴西利亞夏令時間", "HKST": "香港夏令時間", "HAST": "夏威夷-阿留申標準時間", "AEST": "澳洲東部標準時間", "GYT": "蓋亞那時間", "BT": "不丹時間", "HAT": "紐芬蘭夏令時間", "MEZ": "中歐標準時間", "EAT": "東非時間"}, + locale: "yue_HK", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"西元前", "西元"}, + erasNarrow: []string{"西元前", "西元"}, + erasWide: []string{"西元前", "西元"}, + timezones: map[string]string{"MDT": "山區夏令時間", "HADT": "夏威夷-阿留申夏令時間", "GFT": "法屬圭亞那時間", "WART": "阿根廷西部標準時間", "UYST": "烏拉圭夏令時間", "BT": "不丹時間", "HEOG": "格陵蘭西部夏令時間", "CHADT": "查坦群島夏令時間", "HNEG": "格陵蘭東部標準時間", "EDT": "東部夏令時間", "WEZ": "西歐標準時間", "WESZ": "西歐夏令時間", "JST": "日本標準時間", "BOT": "玻利維亞時間", "HEEG": "格陵蘭東部夏令時間", "HECU": "古巴夏令時間", "∅∅∅": "亞馬遜夏令時間", "ART": "阿根廷標準時間", "ARST": "阿根廷夏令時間", "PDT": "太平洋夏令時間", "HNT": "紐芬蘭標準時間", "HAT": "紐芬蘭夏令時間", "HKST": "香港夏令時間", "NZST": "紐西蘭標準時間", "HNCU": "古巴標準時間", "HEPMX": "墨西哥太平洋夏令時間", "CST": "中部標準時間", "CDT": "中部夏令時間", "HNPM": "聖皮埃爾和密克隆群島標準時間", "SAST": "南非標準時間", "CLT": "智利標準時間", "TMT": "土庫曼標準時間", "AST": "大西洋標準時間", "HAST": "夏威夷-阿留申標準時間", "ACWDT": "澳洲中西部夏令時間", "OESZ": "東歐夏令時間", "COT": "哥倫比亞標準時間", "COST": "哥倫比亞夏令時間", "ADT": "大西洋夏令時間", "LHDT": "豪勳爵島夏令時間", "JDT": "日本夏令時間", "ECT": "厄瓜多時間", "HKT": "香港標準時間", "AKDT": "阿拉斯加夏令時間", "HNOG": "格陵蘭西部標準時間", "PST": "太平洋標準時間", "HEPM": "聖皮埃爾和密克隆群島夏令時間", "HENOMX": "墨西哥西北部夏令時間", "AEDT": "澳洲東部夏令時間", "MESZ": "中歐夏令時間", "EST": "東部標準時間", "GYT": "蓋亞那時間", "MYT": "馬來西亞時間", "IST": "印度標準時間", "TMST": "土庫曼夏令時間", "ChST": "查莫洛時間", "HNPMX": "墨西哥太平洋標準時間", "AKST": "阿拉斯加標準時間", "WIT": "印尼東部時間", "AWST": "澳洲西部標準時間", "MEZ": "中歐標準時間", "WAT": "西非標準時間", "WAST": "西非夏令時間", "OEZ": "東歐標準時間", "WIB": "印尼西部時間", "AWDT": "澳洲西部夏令時間", "HNNOMX": "墨西哥西北部標準時間", "SRT": "蘇利南時間", "CAT": "中非時間", "GMT": "格林威治標準時間", "WITA": "印尼中部時間", "EAT": "東非時間", "SGT": "新加坡標準時間", "CLST": "智利夏令時間", "MST": "山區標準時間", "VET": "委內瑞拉時間", "ACWST": "澳洲中西部標準時間", "AEST": "澳洲東部標準時間", "LHST": "豪勳爵島標準時間", "NZDT": "紐西蘭夏令時間", "CHAST": "查坦群島標準時間", "ACST": "澳洲中部標準時間", "ACDT": "澳洲中部夏令時間", "WARST": "阿根廷西部夏令時間", "UYT": "烏拉圭標準時間"}, } } @@ -97,17 +93,17 @@ func (yue *yue_HK) PluralsRange() []locales.PluralRule { // CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'yue_HK' func (yue *yue_HK) CardinalPluralRule(num float64, v uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'yue_HK' func (yue *yue_HK) OrdinalPluralRule(num float64, v uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'yue_HK' func (yue *yue_HK) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule { - return locales.PluralRuleUnknown + return locales.PluralRuleOther } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided @@ -315,7 +311,7 @@ func (yue *yue_HK) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := yue.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (yue *yue_HK) FmtAccounting(num float64, v uint64, currency currency.Type) b = append(b, symbol[j]) } - b = append(b, yue.currencyNegativePrefix[0]) + b = append(b, yue.minus[0]) } else { @@ -372,10 +368,6 @@ func (yue *yue_HK) FmtAccounting(num float64, v uint64, currency currency.Type) } } - if num < 0 { - b = append(b, yue.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (yue *yue_HK) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (yue *yue_HK) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (yue *yue_HK) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (yue *yue_HK) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zgh/zgh.go b/zgh/zgh.go index 82313bbf9..5810eb3c5 100644 --- a/zgh/zgh.go +++ b/zgh/zgh.go @@ -49,20 +49,27 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: " ", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, daysAbbreviated: []string{"ⴰⵙⴰ", "ⴰⵢⵏ", "ⴰⵙⵉ", "ⴰⴽⵕ", "ⴰⴽⵡ", "ⴰⵙⵉⵎ", "ⴰⵙⵉⴹ"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"ⴰⵙⴰ", "ⴰⵢⵏ", "ⴰⵙⵉ", "ⴰⴽⵕ", "ⴰⴽⵡ", "ⴰⵙⵉⵎ", "ⴰⵙⵉⴹ"}, daysWide: []string{"ⴰⵙⴰⵎⴰⵙ", "ⴰⵢⵏⴰⵙ", "ⴰⵙⵉⵏⴰⵙ", "ⴰⴽⵕⴰⵙ", "ⴰⴽⵡⴰⵙ", "ⴰⵙⵉⵎⵡⴰⵙ", "ⴰⵙⵉⴹⵢⴰⵙ"}, periodsAbbreviated: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, + periodsNarrow: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, periodsWide: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"UYST": "UYST", "GMT": "GMT", "GFT": "GFT", "ECT": "ECT", "EAT": "EAT", "CAT": "CAT", "BT": "BT", "WIT": "WIT", "OEZ": "OEZ", "CLT": "CLT", "OESZ": "OESZ", "ART": "ART", "CST": "CST", "AWST": "AWST", "AWDT": "AWDT", "WITA": "WITA", "MDT": "MDT", "WART": "WART", "WAT": "WAT", "PST": "PST", "TMST": "TMST", "CHADT": "CHADT", "MESZ": "MESZ", "ARST": "ARST", "HAST": "HAST", "ACWST": "ACWST", "ADT": "ADT", "TMT": "TMT", "GYT": "GYT", "∅∅∅": "∅∅∅", "WEZ": "WEZ", "AST": "AST", "VET": "VET", "EST": "EST", "LHDT": "LHDT", "SGT": "SGT", "LHST": "LHST", "CHAST": "CHAST", "SRT": "SRT", "WIB": "WIB", "AEST": "AEST", "PDT": "PDT", "BOT": "BOT", "JDT": "JDT", "WESZ": "WESZ", "AEDT": "AEDT", "ACWDT": "ACWDT", "HNT": "HNT", "UYT": "UYT", "NZDT": "NZDT", "CLST": "CLST", "WARST": "WARST", "WAST": "WAST", "ChST": "ChST", "NZST": "NZST", "COST": "COST", "MYT": "MYT", "AKST": "AKST", "AKDT": "AKDT", "MEZ": "MEZ", "ACDT": "ACDT", "JST": "JST", "COT": "COT", "MST": "MST", "HAT": "HAT", "ACST": "ACST", "EDT": "EDT", "HKT": "HKT", "HKST": "HKST", "SAST": "SAST", "CDT": "CDT", "HADT": "HADT", "IST": "IST"}, + timezones: map[string]string{"ChST": "ChST", "HENOMX": "HENOMX", "GYT": "GYT", "ACWST": "ACWST", "HNT": "HNT", "ART": "ART", "HKST": "HKST", "LHDT": "LHDT", "WART": "WART", "SGT": "SGT", "UYT": "UYT", "HEPM": "HEPM", "CLT": "CLT", "TMT": "TMT", "ACST": "ACST", "HNPMX": "HNPMX", "MYT": "MYT", "ARST": "ARST", "HEOG": "HEOG", "JST": "JST", "WAT": "WAT", "LHST": "LHST", "HNEG": "HNEG", "COST": "COST", "HECU": "HECU", "CST": "CST", "CDT": "CDT", "VET": "VET", "NZST": "NZST", "CHAST": "CHAST", "HEEG": "HEEG", "ACDT": "ACDT", "∅∅∅": "∅∅∅", "CAT": "CAT", "HEPMX": "HEPMX", "AST": "AST", "ADT": "ADT", "EST": "EST", "HAT": "HAT", "MEZ": "MEZ", "MESZ": "MESZ", "OEZ": "OEZ", "EDT": "EDT", "MST": "MST", "WIB": "WIB", "HADT": "HADT", "SRT": "SRT", "AWDT": "AWDT", "BOT": "BOT", "UYST": "UYST", "HAST": "HAST", "PST": "PST", "AEST": "AEST", "HKT": "HKT", "EAT": "EAT", "OESZ": "OESZ", "MDT": "MDT", "AKDT": "AKDT", "PDT": "PDT", "ACWDT": "ACWDT", "WITA": "WITA", "COT": "COT", "WESZ": "WESZ", "AEDT": "AEDT", "AWST": "AWST", "NZDT": "NZDT", "SAST": "SAST", "IST": "IST", "HNNOMX": "HNNOMX", "GMT": "GMT", "HNPM": "HNPM", "WIT": "WIT", "WEZ": "WEZ", "WAST": "WAST", "ECT": "ECT", "HNCU": "HNCU", "BT": "BT", "CHADT": "CHADT", "JDT": "JDT", "WARST": "WARST", "HNOG": "HNOG", "CLST": "CLST", "GFT": "GFT", "TMST": "TMST", "AKST": "AKST"}, } } @@ -174,14 +181,51 @@ func (zgh *zgh) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'zgh' and handles both Whole and Real numbers based on 'v' func (zgh *zgh) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, zgh.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(zgh.group) - 1; j >= 0; j-- { + b = append(b, zgh.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, zgh.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'zgh' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (zgh *zgh) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -215,7 +259,7 @@ func (zgh *zgh) FmtCurrency(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zgh.currencies[currency] - l := len(s) + len(symbol) + 1 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -273,7 +317,7 @@ func (zgh *zgh) FmtAccounting(num float64, v uint64, currency currency.Type) str s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zgh.currencies[currency] - l := len(s) + len(symbol) + 1 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -341,7 +385,12 @@ func (zgh *zgh) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +404,12 @@ func (zgh *zgh) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +423,12 @@ func (zgh *zgh) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +444,12 @@ func (zgh *zgh) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -395,6 +459,19 @@ func (zgh *zgh) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -403,6 +480,26 @@ func (zgh *zgh) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -411,6 +508,30 @@ func (zgh *zgh) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -419,5 +540,34 @@ func (zgh *zgh) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := zgh.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/zgh_MA/zgh_MA.go b/zgh_MA/zgh_MA.go index fb3f7ea34..9e9492442 100644 --- a/zgh_MA/zgh_MA.go +++ b/zgh_MA/zgh_MA.go @@ -49,20 +49,27 @@ func New() locales.Translator { pluralsRange: nil, decimal: ",", group: " ", + minus: "-", + percent: "%", + perMille: "‰", timeSeparator: ":", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: " ", monthsAbbreviated: []string{"", "ⵉⵏⵏ", "ⴱⵕⴰ", "ⵎⴰⵕ", "ⵉⴱⵔ", "ⵎⴰⵢ", "ⵢⵓⵏ", "ⵢⵓⵍ", "ⵖⵓⵛ", "ⵛⵓⵜ", "ⴽⵜⵓ", "ⵏⵓⵡ", "ⴷⵓⵊ"}, monthsNarrow: []string{"", "ⵉ", "ⴱ", "ⵎ", "ⵉ", "ⵎ", "ⵢ", "ⵢ", "ⵖ", "ⵛ", "ⴽ", "ⵏ", "ⴷ"}, monthsWide: []string{"", "ⵉⵏⵏⴰⵢⵔ", "ⴱⵕⴰⵢⵕ", "ⵎⴰⵕⵚ", "ⵉⴱⵔⵉⵔ", "ⵎⴰⵢⵢⵓ", "ⵢⵓⵏⵢⵓ", "ⵢⵓⵍⵢⵓⵣ", "ⵖⵓⵛⵜ", "ⵛⵓⵜⴰⵏⴱⵉⵔ", "ⴽⵜⵓⴱⵔ", "ⵏⵓⵡⴰⵏⴱⵉⵔ", "ⴷⵓⵊⴰⵏⴱⵉⵔ"}, daysAbbreviated: []string{"ⴰⵙⴰ", "ⴰⵢⵏ", "ⴰⵙⵉ", "ⴰⴽⵕ", "ⴰⴽⵡ", "ⴰⵙⵉⵎ", "ⴰⵙⵉⴹ"}, + daysNarrow: []string{"S", "M", "T", "W", "T", "F", "S"}, + daysShort: []string{"ⴰⵙⴰ", "ⴰⵢⵏ", "ⴰⵙⵉ", "ⴰⴽⵕ", "ⴰⴽⵡ", "ⴰⵙⵉⵎ", "ⴰⵙⵉⴹ"}, daysWide: []string{"ⴰⵙⴰⵎⴰⵙ", "ⴰⵢⵏⴰⵙ", "ⴰⵙⵉⵏⴰⵙ", "ⴰⴽⵕⴰⵙ", "ⴰⴽⵡⴰⵙ", "ⴰⵙⵉⵎⵡⴰⵙ", "ⴰⵙⵉⴹⵢⴰⵙ"}, periodsAbbreviated: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, + periodsNarrow: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, periodsWide: []string{"ⵜⵉⴼⴰⵡⵜ", "ⵜⴰⴷⴳⴳⵯⴰⵜ"}, erasAbbreviated: []string{"ⴷⴰⵄ", "ⴷⴼⵄ"}, erasNarrow: []string{"", ""}, erasWide: []string{"ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ", "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ"}, - timezones: map[string]string{"WEZ": "WEZ", "AKDT": "AKDT", "CDT": "CDT", "WIT": "WIT", "BT": "BT", "AWDT": "AWDT", "MESZ": "MESZ", "SGT": "SGT", "AEDT": "AEDT", "PDT": "PDT", "ChST": "ChST", "LHST": "LHST", "JST": "JST", "HKT": "HKT", "OEZ": "OEZ", "OESZ": "OESZ", "CHAST": "CHAST", "ACDT": "ACDT", "BOT": "BOT", "UYT": "UYT", "JDT": "JDT", "GFT": "GFT", "ECT": "ECT", "TMT": "TMT", "GYT": "GYT", "AWST": "AWST", "CLT": "CLT", "COT": "COT", "SRT": "SRT", "MEZ": "MEZ", "HNT": "HNT", "AKST": "AKST", "WART": "WART", "PST": "PST", "WAST": "WAST", "UYST": "UYST", "AST": "AST", "EAT": "EAT", "CAT": "CAT", "HAT": "HAT", "ARST": "ARST", "CHADT": "CHADT", "ACWDT": "ACWDT", "AEST": "AEST", "TMST": "TMST", "MDT": "MDT", "CLST": "CLST", "∅∅∅": "∅∅∅", "WESZ": "WESZ", "VET": "VET", "ADT": "ADT", "CST": "CST", "HAST": "HAST", "ACWST": "ACWST", "EDT": "EDT", "GMT": "GMT", "COST": "COST", "MST": "MST", "MYT": "MYT", "LHDT": "LHDT", "HADT": "HADT", "WAT": "WAT", "SAST": "SAST", "IST": "IST", "WITA": "WITA", "WIB": "WIB", "ACST": "ACST", "WARST": "WARST", "NZST": "NZST", "NZDT": "NZDT", "HKST": "HKST", "ART": "ART", "EST": "EST"}, + timezones: map[string]string{"NZDT": "NZDT", "COST": "COST", "ADT": "ADT", "PST": "PST", "AWST": "AWST", "WAST": "WAST", "OESZ": "OESZ", "SGT": "SGT", "HNPMX": "HNPMX", "AKST": "AKST", "NZST": "NZST", "CHAST": "CHAST", "∅∅∅": "∅∅∅", "MYT": "MYT", "HEOG": "HEOG", "AEDT": "AEDT", "CLT": "CLT", "COT": "COT", "HNNOMX": "HNNOMX", "HNCU": "HNCU", "AST": "AST", "GYT": "GYT", "HKST": "HKST", "WART": "WART", "WARST": "WARST", "UYT": "UYT", "PDT": "PDT", "WEZ": "WEZ", "ART": "ART", "AWDT": "AWDT", "MESZ": "MESZ", "HNEG": "HNEG", "TMT": "TMT", "CAT": "CAT", "EST": "EST", "BT": "BT", "HNT": "HNT", "HNPM": "HNPM", "LHDT": "LHDT", "SAST": "SAST", "JST": "JST", "ACDT": "ACDT", "WAT": "WAT", "MDT": "MDT", "WESZ": "WESZ", "CLST": "CLST", "HEEG": "HEEG", "EDT": "EDT", "UYST": "UYST", "HADT": "HADT", "VET": "VET", "HNOG": "HNOG", "JDT": "JDT", "WIT": "WIT", "ARST": "ARST", "AEST": "AEST", "TMST": "TMST", "EAT": "EAT", "HAT": "HAT", "HEPM": "HEPM", "ChST": "ChST", "BOT": "BOT", "MST": "MST", "WIB": "WIB", "SRT": "SRT", "HKT": "HKT", "WITA": "WITA", "ECT": "ECT", "GMT": "GMT", "CST": "CST", "GFT": "GFT", "HENOMX": "HENOMX", "ACWST": "ACWST", "ACWDT": "ACWDT", "MEZ": "MEZ", "LHST": "LHST", "IST": "IST", "ACST": "ACST", "OEZ": "OEZ", "HEPMX": "HEPMX", "CHADT": "CHADT", "HECU": "HECU", "AKDT": "AKDT", "CDT": "CDT", "HAST": "HAST"}, } } @@ -174,14 +181,51 @@ func (zgh *zgh_MA) WeekdaysWide() []string { // FmtNumber returns 'num' with digits/precision of 'v' for 'zgh_MA' and handles both Whole and Real numbers based on 'v' func (zgh *zgh_MA) FmtNumber(num float64, v uint64) string { - return strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) + l := len(s) + 2 + 2*len(s[:len(s)-int(v)-1])/3 + count := 0 + inWhole := v == 0 + b := make([]byte, 0, l) + + for i := len(s) - 1; i >= 0; i-- { + + if s[i] == '.' { + b = append(b, zgh.decimal[0]) + inWhole = true + continue + } + + if inWhole { + if count == 3 { + for j := len(zgh.group) - 1; j >= 0; j-- { + b = append(b, zgh.group[j]) + } + count = 1 + } else { + count++ + } + } + + b = append(b, s[i]) + } + + if num < 0 { + b = append(b, zgh.minus[0]) + } + + // reverse + for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 { + b[i], b[j] = b[j], b[i] + } + + return string(b) } // FmtPercent returns 'num' with digits/precision of 'v' for 'zgh_MA' and handles both Whole and Real numbers based on 'v' // NOTE: 'num' passed into FmtPercent is assumed to be in percent already func (zgh *zgh_MA) FmtPercent(num float64, v uint64) string { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) - l := len(s) + 3 + l := len(s) + 5 b := make([]byte, 0, l) for i := len(s) - 1; i >= 0; i-- { @@ -215,7 +259,7 @@ func (zgh *zgh_MA) FmtCurrency(num float64, v uint64, currency currency.Type) st s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zgh.currencies[currency] - l := len(s) + len(symbol) + 1 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -273,7 +317,7 @@ func (zgh *zgh_MA) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zgh.currencies[currency] - l := len(s) + len(symbol) + 1 + 2*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 2*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -341,7 +385,12 @@ func (zgh *zgh_MA) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -355,7 +404,12 @@ func (zgh *zgh_MA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsAbbreviated[t.Month()]...) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -369,7 +423,12 @@ func (zgh *zgh_MA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -385,7 +444,12 @@ func (zgh *zgh_MA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = append(b, zgh.monthsWide[t.Month()]...) b = append(b, []byte{0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -395,6 +459,19 @@ func (zgh *zgh_MA) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + return string(b) } @@ -403,6 +480,26 @@ func (zgh *zgh_MA) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + return string(b) } @@ -411,6 +508,30 @@ func (zgh *zgh_MA) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + b = append(b, tz...) + return string(b) } @@ -419,5 +540,34 @@ func (zgh *zgh_MA) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) + if t.Hour() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Hour()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Minute() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Minute()), 10) + b = append(b, zgh.timeSeparator...) + + if t.Second() < 10 { + b = append(b, '0') + } + + b = strconv.AppendInt(b, int64(t.Second()), 10) + b = append(b, []byte{0x20}...) + + tz, _ := t.Zone() + + if btz, ok := zgh.timezones[tz]; ok { + b = append(b, btz...) + } else { + b = append(b, tz...) + } + return string(b) } diff --git a/zh/zh.go b/zh/zh.go index 16e5a0a4d..411ecf668 100644 --- a/zh/zh.go +++ b/zh/zh.go @@ -10,68 +10,64 @@ import ( ) type zh struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh' locale func New() locales.Translator { return &zh{ - locale: "zh", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILS", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"ADT": "大西洋夏令时间", "LHDT": "豪勋爵岛夏令时间", "JDT": "日本夏令时间", "AWST": "澳大利亚西部标准时间", "CLT": "智利标准时间", "UYT": "乌拉圭标准时间", "HAT": "纽芬兰夏令时间", "MESZ": "中欧夏令时间", "PST": "北美太平洋标准时间", "PDT": "北美太平洋夏令时间", "WIB": "印度尼西亚西部时间", "WART": "阿根廷西部标准时间", "TMT": "土库曼斯坦标准时间", "BT": "不丹时间", "AWDT": "澳大利亚西部夏令时间", "SRT": "苏里南时间", "WEZ": "西欧标准时间", "HKT": "香港标准时间", "LHST": "豪勋爵岛标准时间", "CHAST": "查坦标准时间", "COT": "哥伦比亚标准时间", "NZDT": "新西兰夏令时间", "AST": "大西洋标准时间", "WAST": "西部非洲夏令时间", "OESZ": "东欧夏令时间", "WESZ": "西欧夏令时间", "MEZ": "中欧标准时间", "MST": "北美山区标准时间", "MDT": "北美山区夏令时间", "HKST": "香港夏令时间", "ACST": "澳大利亚中部标准时间", "IST": "印度时间", "HAST": "夏威夷-阿留申标准时间", "EAT": "东部非洲时间", "SAST": "南部非洲时间", "CHADT": "查坦夏令时间", "SGT": "新加坡标准时间", "ECT": "厄瓜多尔时间", "AEDT": "澳大利亚东部夏令时间", "ARST": "阿根廷夏令时间", "TMST": "土库曼斯坦夏令时间", "UYST": "乌拉圭夏令时间", "ACDT": "澳大利亚中部夏令时间", "COST": "哥伦比亚夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "GYT": "圭亚那时间", "GFT": "法属圭亚那时间", "HADT": "夏威夷-阿留申夏令时间", "ART": "阿根廷标准时间", "CAT": "中部非洲时间", "∅∅∅": "阿克里夏令时间", "ACWST": "澳大利亚中西部标准时间", "AKDT": "阿拉斯加夏令时间", "GMT": "格林尼治标准时间", "AEST": "澳大利亚东部标准时间", "AKST": "阿拉斯加标准时间", "ChST": "查莫罗时间", "EST": "北美东部标准时间", "EDT": "北美东部夏令时间", "NZST": "新西兰标准时间", "BOT": "玻利维亚时间", "HNT": "纽芬兰标准时间", "CLST": "智利夏令时间", "WARST": "阿根廷西部夏令时间", "WAT": "西部非洲标准时间", "CDT": "北美中部夏令时间", "CST": "北美中部标准时间", "MYT": "马来西亚时间", "WIT": "印度尼西亚东部时间", "JST": "日本标准时间", "OEZ": "东欧标准时间", "VET": "委内瑞拉时间", "WITA": "印度尼西亚中部时间"}, + locale: "zh", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILS", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"AEDT": "澳大利亚东部夏令时间", "CLT": "智利标准时间", "HEEG": "格陵兰岛东部夏令时间", "HECU": "古巴夏令时间", "ADT": "大西洋夏令时间", "HKT": "香港标准时间", "WIB": "印度尼西亚西部时间", "HAST": "夏威夷-阿留申标准时间", "WESZ": "西欧夏令时间", "HKST": "香港夏令时间", "MESZ": "中欧夏令时间", "ACDT": "澳大利亚中部夏令时间", "ARST": "阿根廷夏令时间", "IST": "印度时间", "SGT": "新加坡标准时间", "AST": "大西洋标准时间", "UYT": "乌拉圭标准时间", "VET": "委内瑞拉时间", "NZDT": "新西兰夏令时间", "ACST": "澳大利亚中部标准时间", "HEPMX": "墨西哥太平洋夏令时间", "CDT": "北美中部夏令时间", "NZST": "新西兰标准时间", "CHADT": "查坦夏令时间", "EST": "北美东部标准时间", "MYT": "马来西亚时间", "PDT": "北美太平洋夏令时间", "AEST": "澳大利亚东部标准时间", "MEZ": "中欧标准时间", "CST": "北美中部标准时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "LHDT": "豪勋爵岛夏令时间", "HNEG": "格陵兰岛东部标准时间", "TMST": "土库曼斯坦夏令时间", "HENOMX": "墨西哥西北部夏令时间", "GMT": "格林尼治标准时间", "ART": "阿根廷标准时间", "HEOG": "格陵兰岛西部夏令时间", "AWDT": "澳大利亚西部夏令时间", "LHST": "豪勋爵岛标准时间", "JDT": "日本夏令时间", "GFT": "法属圭亚那标准时间", "WART": "阿根廷西部标准时间", "WARST": "阿根廷西部夏令时间", "COT": "哥伦比亚标准时间", "COST": "哥伦比亚夏令时间", "HNT": "纽芬兰标准时间", "SAST": "南部非洲时间", "∅∅∅": "亚马逊夏令时间", "CAT": "中部非洲时间", "WAST": "西部非洲夏令时间", "OESZ": "东欧夏令时间", "HNNOMX": "墨西哥西北部标准时间", "EDT": "北美东部夏令时间", "GYT": "圭亚那时间", "HADT": "夏威夷-阿留申夏令时间", "JST": "日本标准时间", "EAT": "东部非洲时间", "WAT": "西部非洲标准时间", "AKDT": "阿拉斯加夏令时间", "WEZ": "西欧标准时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "TMT": "土库曼斯坦标准时间", "OEZ": "东欧标准时间", "HNPMX": "墨西哥太平洋标准时间", "AKST": "阿拉斯加标准时间", "ACWST": "澳大利亚中西部标准时间", "HNCU": "古巴标准时间", "MST": "澳门标准时间", "PST": "北美太平洋标准时间", "HAT": "纽芬兰夏令时间", "WITA": "印度尼西亚中部时间", "CLST": "智利夏令时间", "BOT": "玻利维亚标准时间", "ECT": "厄瓜多尔标准时间", "UYST": "乌拉圭夏令时间", "SRT": "苏里南时间", "ACWDT": "澳大利亚中西部夏令时间", "HNOG": "格陵兰岛西部标准时间", "AWST": "澳大利亚西部标准时间", "CHAST": "查坦标准时间", "ChST": "查莫罗时间", "MDT": "澳门夏令时间", "WIT": "印度尼西亚东部时间", "BT": "不丹时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh) FmtAccounting(num float64, v uint64, currency currency.Type) strin s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh) FmtAccounting(num float64, v uint64, currency currency.Type) strin b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh) FmtAccounting(num float64, v uint64, currency currency.Type) strin } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hans/zh_Hans.go b/zh_Hans/zh_Hans.go index 87703cc7f..cecad1bb7 100644 --- a/zh_Hans/zh_Hans.go +++ b/zh_Hans/zh_Hans.go @@ -10,68 +10,64 @@ import ( ) type zh_Hans struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hans' locale func New() locales.Translator { return &zh_Hans{ - locale: "zh_Hans", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"AEDT": "澳大利亚东部夏令时间", "EST": "北美东部标准时间", "GYT": "圭亚那时间", "CLST": "智利夏令时间", "WIT": "印度尼西亚东部时间", "ART": "阿根廷标准时间", "SAST": "南部非洲时间", "LHST": "豪勋爵岛标准时间", "LHDT": "豪勋爵岛夏令时间", "VET": "委内瑞拉时间", "AWDT": "澳大利亚西部夏令时间", "UYT": "乌拉圭标准时间", "WEZ": "西欧标准时间", "WIB": "印度尼西亚西部时间", "WARST": "阿根廷西部夏令时间", "WAT": "西部非洲标准时间", "GFT": "法属圭亚那时间", "WITA": "印度尼西亚中部时间", "ACST": "澳大利亚中部标准时间", "ACWDT": "澳大利亚中西部夏令时间", "NZDT": "新西兰夏令时间", "HNT": "纽芬兰标准时间", "CLT": "智利标准时间", "OEZ": "东欧标准时间", "MESZ": "中欧夏令时间", "HADT": "夏威夷-阿留申夏令时间", "AEST": "澳大利亚东部标准时间", "PDT": "北美太平洋夏令时间", "WESZ": "西欧夏令时间", "AKDT": "阿拉斯加夏令时间", "BOT": "玻利维亚时间", "HAT": "纽芬兰夏令时间", "JST": "日本标准时间", "SRT": "苏里南时间", "OESZ": "东欧夏令时间", "COT": "哥伦比亚标准时间", "IST": "印度时间", "NZST": "新西兰标准时间", "GMT": "格林尼治标准时间", "ECT": "厄瓜多尔时间", "HAST": "夏威夷-阿留申标准时间", "ACWST": "澳大利亚中西部标准时间", "MYT": "马来西亚时间", "∅∅∅": "秘鲁夏令时间", "ChST": "查莫罗时间", "ACDT": "澳大利亚中部夏令时间", "ARST": "阿根廷夏令时间", "TMT": "土库曼斯坦标准时间", "HKST": "香港夏令时间", "CHAST": "查坦标准时间", "CHADT": "查坦夏令时间", "PST": "北美太平洋标准时间", "BT": "不丹时间", "JDT": "日本夏令时间", "WART": "阿根廷西部标准时间", "AST": "大西洋标准时间", "ADT": "大西洋夏令时间", "AKST": "阿拉斯加标准时间", "TMST": "土库曼斯坦夏令时间", "AWST": "澳大利亚西部标准时间", "HKT": "香港标准时间", "SGT": "新加坡标准时间", "COST": "哥伦比亚夏令时间", "WAST": "西部非洲夏令时间", "EDT": "北美东部夏令时间", "MDT": "北美山区夏令时间", "UYST": "乌拉圭夏令时间", "MEZ": "中欧标准时间", "EAT": "东部非洲时间", "CST": "北美中部标准时间", "CDT": "北美中部夏令时间", "MST": "北美山区标准时间", "CAT": "中部非洲时间"}, + locale: "zh_Hans", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"MDT": "北美山区夏令时间", "ACWST": "澳大利亚中西部标准时间", "HECU": "古巴夏令时间", "HEPMX": "墨西哥太平洋夏令时间", "AST": "大西洋标准时间", "PDT": "北美太平洋夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "HAT": "纽芬兰夏令时间", "CAT": "中部非洲时间", "GYT": "圭亚那时间", "UYT": "乌拉圭标准时间", "HAST": "夏威夷-阿留申标准时间", "ARST": "阿根廷夏令时间", "HKT": "香港标准时间", "MESZ": "中欧夏令时间", "NZST": "新西兰标准时间", "SAST": "南部非洲时间", "CST": "北美中部标准时间", "OESZ": "东欧夏令时间", "CLT": "智利标准时间", "NZDT": "新西兰夏令时间", "COT": "哥伦比亚标准时间", "ADT": "大西洋夏令时间", "CHAST": "查坦标准时间", "HNEG": "格陵兰岛东部标准时间", "WAST": "西部非洲夏令时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "HADT": "夏威夷-阿留申夏令时间", "BT": "不丹时间", "PST": "北美太平洋标准时间", "ART": "阿根廷标准时间", "MEZ": "中欧标准时间", "CHADT": "查坦夏令时间", "IST": "印度时间", "AKDT": "阿拉斯加夏令时间", "GFT": "法属圭亚那标准时间", "WIB": "印度尼西亚西部时间", "CLST": "智利夏令时间", "JDT": "日本夏令时间", "EAT": "东部非洲时间", "HNNOMX": "墨西哥西北部标准时间", "CDT": "北美中部夏令时间", "WIT": "印度尼西亚东部时间", "WESZ": "西欧夏令时间", "AWDT": "澳大利亚西部夏令时间", "HKST": "香港夏令时间", "∅∅∅": "亚马逊夏令时间", "BOT": "玻利维亚标准时间", "ACST": "澳大利亚中部标准时间", "VET": "委内瑞拉时间", "WART": "阿根廷西部标准时间", "UYST": "乌拉圭夏令时间", "MST": "北美山区标准时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "ChST": "查莫罗时间", "OEZ": "东欧标准时间", "ECT": "厄瓜多尔标准时间", "AKST": "阿拉斯加标准时间", "AEDT": "澳大利亚东部夏令时间", "LHST": "豪勋爵岛标准时间", "HNPMX": "墨西哥太平洋标准时间", "HNT": "纽芬兰标准时间", "WITA": "印度尼西亚中部时间", "HEEG": "格陵兰岛东部夏令时间", "TMST": "土库曼斯坦夏令时间", "WARST": "阿根廷西部夏令时间", "GMT": "格林尼治标准时间", "SRT": "苏里南时间", "ACDT": "澳大利亚中部夏令时间", "HNCU": "古巴标准时间", "EDT": "北美东部夏令时间", "JST": "日本标准时间", "WEZ": "西欧标准时间", "AWST": "澳大利亚西部标准时间", "LHDT": "豪勋爵岛夏令时间", "HENOMX": "墨西哥西北部夏令时间", "SGT": "新加坡标准时间", "MYT": "马来西亚时间", "HEOG": "格陵兰岛西部夏令时间", "AEST": "澳大利亚东部标准时间", "TMT": "土库曼斯坦标准时间", "WAT": "西部非洲标准时间", "COST": "哥伦比亚夏令时间", "EST": "北美东部标准时间", "HNOG": "格陵兰岛西部标准时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hans) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hans) FmtAccounting(num float64, v uint64, currency currency.Type) b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hans) FmtAccounting(num float64, v uint64, currency currency.Type) } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh_Hans) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh_Hans) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh_Hans) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh_Hans) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hans_CN/zh_Hans_CN.go b/zh_Hans_CN/zh_Hans_CN.go index 310d2f516..9e8567538 100644 --- a/zh_Hans_CN/zh_Hans_CN.go +++ b/zh_Hans_CN/zh_Hans_CN.go @@ -10,68 +10,64 @@ import ( ) type zh_Hans_CN struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hans_CN' locale func New() locales.Translator { return &zh_Hans_CN{ - locale: "zh_Hans_CN", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"PDT": "北美太平洋夏令时间", "AST": "大西洋标准时间", "WAT": "西部非洲标准时间", "BOT": "玻利维亚时间", "WEZ": "西欧标准时间", "WESZ": "西欧夏令时间", "AEST": "澳大利亚东部标准时间", "UYT": "乌拉圭标准时间", "SGT": "新加坡标准时间", "ARST": "阿根廷夏令时间", "CST": "北美中部标准时间", "GYT": "圭亚那时间", "CHAST": "查坦标准时间", "ACWST": "澳大利亚中西部标准时间", "GMT": "格林尼治标准时间", "COT": "哥伦比亚标准时间", "AKDT": "阿拉斯加夏令时间", "WITA": "印度尼西亚中部时间", "∅∅∅": "亚速尔群岛夏令时间", "EAT": "东部非洲时间", "OESZ": "东欧夏令时间", "ACST": "澳大利亚中部标准时间", "ACWDT": "澳大利亚中西部夏令时间", "WAST": "西部非洲夏令时间", "NZDT": "新西兰夏令时间", "ChST": "查莫罗时间", "JST": "日本标准时间", "EDT": "北美东部夏令时间", "MYT": "马来西亚时间", "HAT": "纽芬兰夏令时间", "VET": "委内瑞拉时间", "WARST": "阿根廷西部夏令时间", "ADT": "大西洋夏令时间", "IST": "印度时间", "AWDT": "澳大利亚西部夏令时间", "UYST": "乌拉圭夏令时间", "HKST": "香港夏令时间", "HAST": "夏威夷-阿留申标准时间", "SRT": "苏里南时间", "CLT": "智利标准时间", "WIT": "印度尼西亚东部时间", "LHST": "豪勋爵岛标准时间", "LHDT": "豪勋爵岛夏令时间", "AWST": "澳大利亚西部标准时间", "GFT": "法属圭亚那时间", "EST": "北美东部标准时间", "TMST": "土库曼斯坦夏令时间", "COST": "哥伦比亚夏令时间", "HADT": "夏威夷-阿留申夏令时间", "ART": "阿根廷标准时间", "TMT": "土库曼斯坦标准时间", "MDT": "北美山区夏令时间", "BT": "不丹时间", "MEZ": "中欧标准时间", "MESZ": "中欧夏令时间", "HKT": "香港标准时间", "CHADT": "查坦夏令时间", "CDT": "北美中部夏令时间", "MST": "北美山区标准时间", "CAT": "中部非洲时间", "HNT": "纽芬兰标准时间", "AEDT": "澳大利亚东部夏令时间", "SAST": "南部非洲时间", "NZST": "新西兰标准时间", "JDT": "日本夏令时间", "OEZ": "东欧标准时间", "ACDT": "澳大利亚中部夏令时间", "ECT": "厄瓜多尔时间", "WIB": "印度尼西亚西部时间", "AKST": "阿拉斯加标准时间", "CLST": "智利夏令时间", "WART": "阿根廷西部标准时间", "PST": "北美太平洋标准时间"}, + locale: "zh_Hans_CN", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"CHADT": "查坦夏令时间", "HEEG": "格陵兰岛东部夏令时间", "TMT": "土库曼斯坦标准时间", "WESZ": "西欧夏令时间", "GMT": "格林尼治标准时间", "HECU": "古巴夏令时间", "OESZ": "东欧夏令时间", "HNOG": "格陵兰岛西部标准时间", "ACWDT": "澳大利亚中西部夏令时间", "ART": "阿根廷标准时间", "ARST": "阿根廷夏令时间", "LHDT": "豪勋爵岛夏令时间", "CLST": "智利夏令时间", "ECT": "厄瓜多尔标准时间", "AKDT": "阿拉斯加夏令时间", "CST": "北美中部标准时间", "ACWST": "澳大利亚中西部标准时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "CAT": "中部非洲时间", "EAT": "东部非洲时间", "HNNOMX": "墨西哥西北部标准时间", "EST": "北美东部标准时间", "AST": "大西洋标准时间", "HADT": "夏威夷-阿留申夏令时间", "NZST": "新西兰标准时间", "BOT": "玻利维亚标准时间", "AKST": "阿拉斯加标准时间", "HNT": "纽芬兰标准时间", "JST": "日本标准时间", "HNPMX": "墨西哥太平洋标准时间", "HEPMX": "墨西哥太平洋夏令时间", "GYT": "圭亚那时间", "UYST": "乌拉圭夏令时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "HAT": "纽芬兰夏令时间", "HKT": "香港标准时间", "LHST": "豪勋爵岛标准时间", "JDT": "日本夏令时间", "WART": "阿根廷西部标准时间", "PDT": "北美太平洋夏令时间", "WITA": "印度尼西亚中部时间", "MEZ": "中欧标准时间", "GFT": "法属圭亚那标准时间", "MYT": "马来西亚时间", "VET": "委内瑞拉时间", "IST": "印度时间", "CLT": "智利标准时间", "WARST": "阿根廷西部夏令时间", "MDT": "北美山区夏令时间", "MESZ": "中欧夏令时间", "ACDT": "澳大利亚中部夏令时间", "WAST": "西部非洲夏令时间", "CDT": "北美中部夏令时间", "BT": "不丹时间", "SRT": "苏里南时间", "HKST": "香港夏令时间", "CHAST": "查坦标准时间", "SAST": "南部非洲时间", "WAT": "西部非洲标准时间", "COT": "哥伦比亚标准时间", "COST": "哥伦比亚夏令时间", "WIB": "印度尼西亚西部时间", "HNCU": "古巴标准时间", "ADT": "大西洋夏令时间", "SGT": "新加坡标准时间", "AWST": "澳大利亚西部标准时间", "AWDT": "澳大利亚西部夏令时间", "ChST": "查莫罗时间", "HNEG": "格陵兰岛东部标准时间", "HENOMX": "墨西哥西北部夏令时间", "UYT": "乌拉圭标准时间", "HAST": "夏威夷-阿留申标准时间", "HEOG": "格陵兰岛西部夏令时间", "AEST": "澳大利亚东部标准时间", "ACST": "澳大利亚中部标准时间", "EDT": "北美东部夏令时间", "WIT": "印度尼西亚东部时间", "PST": "北美太平洋标准时间", "WEZ": "西欧标准时间", "AEDT": "澳大利亚东部夏令时间", "NZDT": "新西兰夏令时间", "∅∅∅": "亚马逊夏令时间", "TMST": "土库曼斯坦夏令时间", "OEZ": "东欧标准时间", "MST": "北美山区标准时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hans_CN) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hans_CN) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hans_CN) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh_Hans_CN) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh_Hans_CN) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh_Hans_CN) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh_Hans_CN) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hans_HK/zh_Hans_HK.go b/zh_Hans_HK/zh_Hans_HK.go index ab95740e1..a2d987cd7 100644 --- a/zh_Hans_HK/zh_Hans_HK.go +++ b/zh_Hans_HK/zh_Hans_HK.go @@ -10,68 +10,64 @@ import ( ) type zh_Hans_HK struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hans_HK' locale func New() locales.Translator { return &zh_Hans_HK{ - locale: "zh_Hans_HK", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"AEDT": "澳大利亚东部夏令时间", "HADT": "夏威夷-阿留申夏令时间", "AKST": "阿拉斯加标准时间", "NZST": "新西兰标准时间", "NZDT": "新西兰夏令时间", "WEZ": "西欧标准时间", "MESZ": "中欧夏令时间", "EST": "北美东部标准时间", "CLT": "智利标准时间", "GMT": "格林尼治标准时间", "ECT": "厄瓜多尔时间", "WART": "阿根廷西部标准时间", "ACST": "澳大利亚中部标准时间", "TMT": "土库曼斯坦标准时间", "ART": "阿根廷标准时间", "ARST": "阿根廷夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "IST": "印度时间", "GYT": "圭亚那时间", "ChST": "查莫罗时间", "CLST": "智利夏令时间", "HKST": "香港夏令时间", "AST": "大西洋标准时间", "SAST": "南部非洲时间", "ACWST": "澳大利亚中西部标准时间", "MDT": "北美山区夏令时间", "CST": "北美中部标准时间", "BT": "不丹时间", "EAT": "东部非洲时间", "CHADT": "查坦夏令时间", "AEST": "澳大利亚东部标准时间", "UYST": "乌拉圭夏令时间", "JDT": "日本夏令时间", "LHST": "豪勋爵岛标准时间", "COST": "哥伦比亚夏令时间", "HNT": "纽芬兰标准时间", "JST": "日本标准时间", "WESZ": "西欧夏令时间", "WIB": "印度尼西亚西部时间", "LHDT": "豪勋爵岛夏令时间", "WITA": "印度尼西亚中部时间", "TMST": "土库曼斯坦夏令时间", "SGT": "新加坡标准时间", "ACDT": "澳大利亚中部夏令时间", "WAT": "西部非洲标准时间", "AKDT": "阿拉斯加夏令时间", "VET": "委内瑞拉时间", "EDT": "北美东部夏令时间", "PST": "北美太平洋标准时间", "UYT": "乌拉圭标准时间", "CHAST": "查坦标准时间", "OESZ": "东欧夏令时间", "COT": "哥伦比亚标准时间", "AWST": "澳大利亚西部标准时间", "CAT": "中部非洲时间", "WARST": "阿根廷西部夏令时间", "HAST": "夏威夷-阿留申标准时间", "OEZ": "东欧标准时间", "MYT": "马来西亚时间", "WIT": "印度尼西亚东部时间", "HKT": "香港标准时间", "GFT": "法属圭亚那时间", "MEZ": "中欧标准时间", "ADT": "大西洋夏令时间", "∅∅∅": "亚速尔群岛夏令时间", "CDT": "北美中部夏令时间", "AWDT": "澳大利亚西部夏令时间", "SRT": "苏里南时间", "PDT": "北美太平洋夏令时间", "MST": "北美山区标准时间", "BOT": "玻利维亚时间", "HAT": "纽芬兰夏令时间", "WAST": "西部非洲夏令时间"}, + locale: "zh_Hans_HK", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"HAST": "夏威夷-阿留申标准时间", "PST": "北美太平洋标准时间", "WITA": "印度尼西亚中部时间", "HNEG": "格陵兰岛东部标准时间", "BOT": "玻利维亚标准时间", "ACST": "澳大利亚中部标准时间", "HNCU": "古巴标准时间", "CDT": "北美中部夏令时间", "ChST": "查莫罗时间", "HENOMX": "墨西哥西北部夏令时间", "ACWST": "澳大利亚中西部标准时间", "MEZ": "中欧标准时间", "CHADT": "查坦夏令时间", "JST": "日本标准时间", "CLST": "智利夏令时间", "TMST": "土库曼斯坦夏令时间", "COST": "哥伦比亚夏令时间", "MDT": "澳门夏令时间", "UYST": "乌拉圭夏令时间", "OEZ": "东欧标准时间", "WART": "阿根廷西部标准时间", "CLT": "智利标准时间", "WARST": "阿根廷西部夏令时间", "COT": "哥伦比亚标准时间", "LHST": "豪勋爵岛标准时间", "HEPMX": "墨西哥太平洋夏令时间", "AKDT": "阿拉斯加夏令时间", "CST": "北美中部标准时间", "ADT": "大西洋夏令时间", "HKT": "香港标准时间", "ACDT": "澳大利亚中部夏令时间", "OESZ": "东欧夏令时间", "HNPMX": "墨西哥太平洋标准时间", "AEDT": "澳大利亚东部夏令时间", "JDT": "日本夏令时间", "EST": "北美东部标准时间", "HKST": "香港夏令时间", "MESZ": "中欧夏令时间", "MST": "澳门标准时间", "WESZ": "西欧夏令时间", "AEST": "澳大利亚东部标准时间", "WAT": "西部非洲标准时间", "ECT": "厄瓜多尔标准时间", "EDT": "北美东部夏令时间", "GYT": "圭亚那时间", "WIT": "印度尼西亚东部时间", "HAT": "纽芬兰夏令时间", "UYT": "乌拉圭标准时间", "HADT": "夏威夷-阿留申夏令时间", "ARST": "阿根廷夏令时间", "WEZ": "西欧标准时间", "AWST": "澳大利亚西部标准时间", "WAST": "西部非洲夏令时间", "AST": "大西洋标准时间", "MYT": "马来西亚时间", "TMT": "土库曼斯坦标准时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "CHAST": "查坦标准时间", "LHDT": "豪勋爵岛夏令时间", "HEOG": "格陵兰岛西部夏令时间", "AWDT": "澳大利亚西部夏令时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "IST": "印度时间", "SRT": "苏里南时间", "HNT": "纽芬兰标准时间", "ART": "阿根廷标准时间", "HNOG": "格陵兰岛西部标准时间", "NZST": "新西兰标准时间", "CAT": "中部非洲时间", "HECU": "古巴夏令时间", "WIB": "印度尼西亚西部时间", "NZDT": "新西兰夏令时间", "SAST": "南部非洲时间", "AKST": "阿拉斯加标准时间", "VET": "委内瑞拉时间", "ACWDT": "澳大利亚中西部夏令时间", "GMT": "格林尼治标准时间", "HEEG": "格陵兰岛东部夏令时间", "GFT": "法属圭亚那标准时间", "SGT": "新加坡标准时间", "BT": "不丹时间", "PDT": "北美太平洋夏令时间", "∅∅∅": "秘鲁夏令时间", "EAT": "东部非洲时间", "HNNOMX": "墨西哥西北部标准时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hans_HK) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hans_HK) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hans_HK) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -403,7 +395,12 @@ func (zh *zh_Hans_HK) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -418,7 +415,12 @@ func (zh *zh_Hans_HK) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -433,7 +435,12 @@ func (zh *zh_Hans_HK) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hans_MO/zh_Hans_MO.go b/zh_Hans_MO/zh_Hans_MO.go index 5fe8d0e74..c3d9bdbe8 100644 --- a/zh_Hans_MO/zh_Hans_MO.go +++ b/zh_Hans_MO/zh_Hans_MO.go @@ -10,68 +10,64 @@ import ( ) type zh_Hans_MO struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hans_MO' locale func New() locales.Translator { return &zh_Hans_MO{ - locale: "zh_Hans_MO", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"ADT": "大西洋夏令时间", "AWST": "澳大利亚西部标准时间", "CLT": "智利标准时间", "WEZ": "西欧标准时间", "VET": "委内瑞拉时间", "WAST": "西部非洲夏令时间", "PST": "北美太平洋标准时间", "CAT": "中部非洲时间", "CHAST": "查坦标准时间", "GFT": "法属圭亚那时间", "SAST": "南部非洲时间", "HAT": "纽芬兰夏令时间", "HAST": "夏威夷-阿留申标准时间", "EDT": "北美东部夏令时间", "TMT": "土库曼斯坦标准时间", "JST": "日本标准时间", "GMT": "格林尼治标准时间", "OEZ": "东欧标准时间", "WAT": "西部非洲标准时间", "UYST": "乌拉圭夏令时间", "GYT": "圭亚那时间", "ACWDT": "澳大利亚中西部夏令时间", "PDT": "北美太平洋夏令时间", "MYT": "马来西亚时间", "WART": "阿根廷西部标准时间", "IST": "印度时间", "AWDT": "澳大利亚西部夏令时间", "ChST": "查莫罗时间", "COST": "哥伦比亚夏令时间", "EAT": "东部非洲时间", "MDT": "北美山区夏令时间", "UYT": "乌拉圭标准时间", "SGT": "新加坡标准时间", "ECT": "厄瓜多尔时间", "ACST": "澳大利亚中部标准时间", "ACDT": "澳大利亚中部夏令时间", "AEST": "澳大利亚东部标准时间", "EST": "北美东部标准时间", "WITA": "印度尼西亚中部时间", "ART": "阿根廷标准时间", "JDT": "日本夏令时间", "WIB": "印度尼西亚西部时间", "MESZ": "中欧夏令时间", "CDT": "北美中部夏令时间", "HNT": "纽芬兰标准时间", "TMST": "土库曼斯坦夏令时间", "COT": "哥伦比亚标准时间", "HKST": "香港夏令时间", "ARST": "阿根廷夏令时间", "WARST": "阿根廷西部夏令时间", "WIT": "印度尼西亚东部时间", "HKT": "香港标准时间", "NZDT": "新西兰夏令时间", "CHADT": "查坦夏令时间", "BOT": "玻利维亚时间", "LHST": "豪勋爵岛标准时间", "SRT": "苏里南时间", "WESZ": "西欧夏令时间", "AEDT": "澳大利亚东部夏令时间", "ACWST": "澳大利亚中西部标准时间", "AKDT": "阿拉斯加夏令时间", "AST": "大西洋标准时间", "CLST": "智利夏令时间", "BT": "不丹时间", "OESZ": "东欧夏令时间", "HADT": "夏威夷-阿留申夏令时间", "MST": "北美山区标准时间", "∅∅∅": "亚速尔群岛夏令时间", "NZST": "新西兰标准时间", "LHDT": "豪勋爵岛夏令时间", "MEZ": "中欧标准时间", "AKST": "阿拉斯加标准时间", "CST": "北美中部标准时间"}, + locale: "zh_Hans_MO", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"CLST": "智利夏令时间", "∅∅∅": "亚马逊夏令时间", "TMT": "土库曼斯坦标准时间", "ACST": "澳大利亚中部标准时间", "WAT": "西部非洲标准时间", "HEOG": "格陵兰岛西部夏令时间", "WESZ": "西欧夏令时间", "WITA": "印度尼西亚中部时间", "WARST": "阿根廷西部夏令时间", "HNNOMX": "墨西哥西北部标准时间", "HNT": "纽芬兰标准时间", "AEDT": "澳大利亚东部夏令时间", "HKT": "香港标准时间", "EAT": "东部非洲时间", "ECT": "厄瓜多尔标准时间", "AKST": "阿拉斯加标准时间", "AST": "大西洋标准时间", "PDT": "北美太平洋夏令时间", "LHST": "豪勋爵岛标准时间", "IST": "印度时间", "CLT": "智利标准时间", "WART": "阿根廷西部标准时间", "BT": "不丹时间", "PST": "北美太平洋标准时间", "MESZ": "中欧夏令时间", "ChST": "查莫罗时间", "GFT": "法属圭亚那标准时间", "GMT": "格林尼治标准时间", "WAST": "西部非洲夏令时间", "HECU": "古巴夏令时间", "HAST": "夏威夷-阿留申标准时间", "VET": "委内瑞拉时间", "NZDT": "新西兰夏令时间", "MDT": "北美山区夏令时间", "HAT": "纽芬兰夏令时间", "ACDT": "澳大利亚中部夏令时间", "MYT": "马来西亚时间", "HADT": "夏威夷-阿留申夏令时间", "HNEG": "格陵兰岛东部标准时间", "ACWDT": "澳大利亚中西部夏令时间", "ARST": "阿根廷夏令时间", "CHAST": "查坦标准时间", "HEEG": "格陵兰岛东部夏令时间", "TMST": "土库曼斯坦夏令时间", "GYT": "圭亚那时间", "CST": "北美中部标准时间", "ADT": "大西洋夏令时间", "OEZ": "东欧标准时间", "COT": "哥伦比亚标准时间", "OESZ": "东欧夏令时间", "EST": "北美东部标准时间", "WIB": "印度尼西亚西部时间", "WEZ": "西欧标准时间", "AEST": "澳大利亚东部标准时间", "JST": "日本标准时间", "HNCU": "古巴标准时间", "UYST": "乌拉圭夏令时间", "AKDT": "阿拉斯加夏令时间", "MST": "北美山区标准时间", "EDT": "北美东部夏令时间", "HEPMX": "墨西哥太平洋夏令时间", "MEZ": "中欧标准时间", "CAT": "中部非洲时间", "HNOG": "格陵兰岛西部标准时间", "AWST": "澳大利亚西部标准时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "UYT": "乌拉圭标准时间", "ACWST": "澳大利亚中西部标准时间", "AWDT": "澳大利亚西部夏令时间", "SGT": "新加坡标准时间", "WIT": "印度尼西亚东部时间", "CHADT": "查坦夏令时间", "BOT": "玻利维亚标准时间", "SAST": "南部非洲时间", "SRT": "苏里南时间", "ART": "阿根廷标准时间", "HKST": "香港夏令时间", "CDT": "北美中部夏令时间", "HNPMX": "墨西哥太平洋标准时间", "COST": "哥伦比亚夏令时间", "HENOMX": "墨西哥西北部夏令时间", "LHDT": "豪勋爵岛夏令时间", "NZST": "新西兰标准时间", "JDT": "日本夏令时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hans_MO) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hans_MO) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hans_MO) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -403,7 +395,12 @@ func (zh *zh_Hans_MO) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -418,7 +415,12 @@ func (zh *zh_Hans_MO) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -433,7 +435,12 @@ func (zh *zh_Hans_MO) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hans_SG/zh_Hans_SG.go b/zh_Hans_SG/zh_Hans_SG.go index 09c17a2ea..d3eb81032 100644 --- a/zh_Hans_SG/zh_Hans_SG.go +++ b/zh_Hans_SG/zh_Hans_SG.go @@ -10,68 +10,64 @@ import ( ) type zh_Hans_SG struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hans_SG' locale func New() locales.Translator { return &zh_Hans_SG{ - locale: "zh_Hans_SG", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"COT": "哥伦比亚标准时间", "WARST": "阿根廷西部夏令时间", "LHDT": "豪勋爵岛夏令时间", "HKT": "香港标准时间", "ChST": "查莫罗时间", "CLST": "智利夏令时间", "UYST": "乌拉圭夏令时间", "GMT": "格林尼治标准时间", "ARST": "阿根廷夏令时间", "WART": "阿根廷西部标准时间", "AKST": "阿拉斯加标准时间", "TMST": "土库曼斯坦夏令时间", "MYT": "马来西亚时间", "NZST": "新西兰标准时间", "HAT": "纽芬兰夏令时间", "CHADT": "查坦夏令时间", "AEST": "澳大利亚东部标准时间", "PST": "北美太平洋标准时间", "GYT": "圭亚那时间", "MDT": "北美山区夏令时间", "WESZ": "西欧夏令时间", "MESZ": "中欧夏令时间", "COST": "哥伦比亚夏令时间", "ACWST": "澳大利亚中西部标准时间", "AEDT": "澳大利亚东部夏令时间", "TMT": "土库曼斯坦标准时间", "AWDT": "澳大利亚西部夏令时间", "CST": "北美中部标准时间", "CDT": "北美中部夏令时间", "NZDT": "新西兰夏令时间", "CAT": "中部非洲时间", "HNT": "纽芬兰标准时间", "WIT": "印度尼西亚东部时间", "∅∅∅": "秘鲁夏令时间", "SRT": "苏里南时间", "ECT": "厄瓜多尔时间", "CLT": "智利标准时间", "UYT": "乌拉圭标准时间", "MEZ": "中欧标准时间", "ACST": "澳大利亚中部标准时间", "HAST": "夏威夷-阿留申标准时间", "ACWDT": "澳大利亚中西部夏令时间", "ART": "阿根廷标准时间", "WAST": "西部非洲夏令时间", "PDT": "北美太平洋夏令时间", "WITA": "印度尼西亚中部时间", "LHST": "豪勋爵岛标准时间", "HADT": "夏威夷-阿留申夏令时间", "EST": "北美东部标准时间", "EDT": "北美东部夏令时间", "BOT": "玻利维亚时间", "BT": "不丹时间", "GFT": "法属圭亚那时间", "AST": "大西洋标准时间", "WAT": "西部非洲标准时间", "CHAST": "查坦标准时间", "ACDT": "澳大利亚中部夏令时间", "EAT": "东部非洲时间", "JDT": "日本夏令时间", "ADT": "大西洋夏令时间", "SAST": "南部非洲时间", "MST": "北美山区标准时间", "SGT": "新加坡标准时间", "WIB": "印度尼西亚西部时间", "AKDT": "阿拉斯加夏令时间", "AWST": "澳大利亚西部标准时间", "HKST": "香港夏令时间", "IST": "印度时间", "JST": "日本标准时间", "OEZ": "东欧标准时间", "OESZ": "东欧夏令时间", "WEZ": "西欧标准时间", "VET": "委内瑞拉时间"}, + locale: "zh_Hans_SG", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "$", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"ACDT": "澳大利亚中部夏令时间", "HAT": "纽芬兰夏令时间", "LHDT": "豪勋爵岛夏令时间", "EAT": "东部非洲时间", "AKDT": "阿拉斯加夏令时间", "WEZ": "西欧标准时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "HNNOMX": "墨西哥西北部标准时间", "MST": "澳门标准时间", "BT": "不丹时间", "CLT": "智利标准时间", "HNEG": "格陵兰岛东部标准时间", "GMT": "格林尼治标准时间", "SGT": "新加坡标准时间", "HNT": "纽芬兰标准时间", "HNOG": "格陵兰岛西部标准时间", "HKT": "香港标准时间", "NZST": "新西兰标准时间", "TMST": "土库曼斯坦夏令时间", "CAT": "中部非洲时间", "OESZ": "东欧夏令时间", "ECT": "厄瓜多尔标准时间", "HNCU": "古巴标准时间", "VET": "委内瑞拉时间", "ACWST": "澳大利亚中西部标准时间", "BOT": "玻利维亚标准时间", "ADT": "大西洋夏令时间", "MEZ": "中欧标准时间", "IST": "印度时间", "WAST": "西部非洲夏令时间", "HADT": "夏威夷-阿留申夏令时间", "PST": "北美太平洋标准时间", "JST": "日本标准时间", "COST": "哥伦比亚夏令时间", "HENOMX": "墨西哥西北部夏令时间", "AST": "大西洋标准时间", "GYT": "圭亚那时间", "ART": "阿根廷标准时间", "HEOG": "格陵兰岛西部夏令时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "OEZ": "东欧标准时间", "∅∅∅": "秘鲁夏令时间", "MYT": "马来西亚时间", "ARST": "阿根廷夏令时间", "HECU": "古巴夏令时间", "CST": "北美中部标准时间", "SRT": "苏里南时间", "JDT": "日本夏令时间", "ChST": "查莫罗时间", "HEPMX": "墨西哥太平洋夏令时间", "UYT": "乌拉圭标准时间", "AEST": "澳大利亚东部标准时间", "AWDT": "澳大利亚西部夏令时间", "CHADT": "查坦夏令时间", "WAT": "西部非洲标准时间", "WIB": "印度尼西亚西部时间", "GFT": "法属圭亚那标准时间", "EDT": "北美东部夏令时间", "AKST": "阿拉斯加标准时间", "LHST": "豪勋爵岛标准时间", "HEEG": "格陵兰岛东部夏令时间", "WARST": "阿根廷西部夏令时间", "HNPMX": "墨西哥太平洋标准时间", "UYST": "乌拉圭夏令时间", "WIT": "印度尼西亚东部时间", "WITA": "印度尼西亚中部时间", "SAST": "南部非洲时间", "ACST": "澳大利亚中部标准时间", "EST": "北美东部标准时间", "MDT": "澳门夏令时间", "PDT": "北美太平洋夏令时间", "WESZ": "西欧夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "MESZ": "中欧夏令时间", "NZDT": "新西兰夏令时间", "WART": "阿根廷西部标准时间", "COT": "哥伦比亚标准时间", "CDT": "北美中部夏令时间", "HAST": "夏威夷-阿留申标准时间", "AEDT": "澳大利亚东部夏令时间", "AWST": "澳大利亚西部标准时间", "HKST": "香港夏令时间", "CHAST": "查坦标准时间", "CLST": "智利夏令时间", "TMT": "土库曼斯坦标准时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hans_SG) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hans_SG) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hans_SG) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -413,7 +405,12 @@ func (zh *zh_Hans_SG) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +425,12 @@ func (zh *zh_Hans_SG) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -443,7 +445,12 @@ func (zh *zh_Hans_SG) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hant/zh_Hant.go b/zh_Hant/zh_Hant.go index 0a83982c8..1f0a53a04 100644 --- a/zh_Hant/zh_Hant.go +++ b/zh_Hant/zh_Hant.go @@ -10,68 +10,64 @@ import ( ) type zh_Hant struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hant' locale func New() locales.Translator { return &zh_Hant{ - locale: "zh_Hant", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"西元前", "西元"}, - erasNarrow: []string{"西元前", "西元"}, - erasWide: []string{"西元前", "西元"}, - timezones: map[string]string{"LHDT": "豪勳爵島夏令時間", "WESZ": "西歐夏令時間", "WAT": "西非標準時間", "CLST": "智利夏令時間", "AKDT": "阿拉斯加夏令時間", "JDT": "日本夏令時間", "ACST": "澳洲中部標準時間", "GMT": "格林威治標準時間", "WAST": "西非夏令時間", "AWDT": "澳洲西部夏令時間", "VET": "委內瑞拉時間", "WIB": "印尼西部時間", "IST": "印度標準時間", "EDT": "東部夏令時間", "∅∅∅": "巴西利亞夏令時間", "SGT": "新加坡標準時間", "WITA": "印尼中部時間", "OEZ": "東歐標準時間", "CHADT": "查坦群島夏令時間", "ACWDT": "澳洲中西部夏令時間", "TMT": "土庫曼標準時間", "CHAST": "查坦群島標準時間", "CLT": "智利標準時間", "OESZ": "東歐夏令時間", "TMST": "土庫曼夏令時間", "NZST": "紐西蘭標準時間", "MDT": "澳門夏令時間", "WIT": "印尼東部時間", "JST": "日本標準時間", "HKT": "香港標準時間", "MEZ": "中歐標準時間", "AKST": "阿拉斯加標準時間", "EST": "東部標準時間", "MST": "澳門標準時間", "PDT": "太平洋夏令時間", "WEZ": "西歐標準時間", "HKST": "香港夏令時間", "ACDT": "澳洲中部夏令時間", "ECT": "厄瓜多時間", "ACWST": "澳洲中西部標準時間", "CST": "中部標準時間", "UYT": "烏拉圭標準時間", "HAT": "紐芬蘭夏令時間", "COST": "哥倫比亞夏令時間", "ART": "阿根廷標準時間", "ARST": "阿根廷夏令時間", "HAST": "夏威夷-阿留申標準時間", "SAST": "南非標準時間", "PST": "太平洋標準時間", "ChST": "查莫洛時間", "CDT": "中部夏令時間", "MYT": "馬來西亞時間", "AWST": "澳洲西部標準時間", "COT": "哥倫比亞標準時間", "AST": "大西洋標準時間", "ADT": "大西洋夏令時間", "GYT": "蓋亞那時間", "NZDT": "紐西蘭夏令時間", "GFT": "法屬圭亞那時間", "SRT": "蘇利南時間", "MESZ": "中歐夏令時間", "AEST": "澳洲東部標準時間", "BOT": "玻利維亞時間", "WART": "阿根廷西部標準時間", "UYST": "烏拉圭夏令時間", "LHST": "豪勳爵島標準時間", "AEDT": "澳洲東部夏令時間", "HNT": "紐芬蘭標準時間", "CAT": "中非時間", "WARST": "阿根廷西部夏令時間", "HADT": "夏威夷-阿留申夏令時間", "EAT": "東非時間", "BT": "不丹時間"}, + locale: "zh_Hant", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + daysAbbreviated: []string{"週日", "週一", "週二", "週三", "週四", "週五", "週六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"西元前", "西元"}, + erasNarrow: []string{"西元前", "西元"}, + erasWide: []string{"西元前", "西元"}, + timezones: map[string]string{"ART": "阿根廷標準時間", "ARST": "阿根廷夏令時間", "ACDT": "澳洲中部夏令時間", "WAT": "西非標準時間", "HNPM": "聖皮埃爾和密克隆群島標準時間", "COT": "哥倫比亞標準時間", "GYT": "蓋亞那時間", "WIB": "印尼西部時間", "BT": "不丹時間", "HKT": "香港標準時間", "WITA": "印尼中部時間", "LHDT": "豪勳爵島夏令時間", "GFT": "法屬圭亞那時間", "HNNOMX": "墨西哥西北部標準時間", "HENOMX": "墨西哥西北部夏令時間", "HNCU": "古巴標準時間", "VET": "委內瑞拉時間", "AEDT": "澳洲東部夏令時間", "JST": "日本標準時間", "CAT": "中非時間", "SRT": "蘇利南時間", "WEZ": "西歐標準時間", "ACWDT": "澳洲中西部夏令時間", "PDT": "太平洋夏令時間", "HEEG": "格陵蘭東部夏令時間", "MST": "澳門標準時間", "WART": "阿根廷西部標準時間", "UYST": "烏拉圭夏令時間", "CLT": "智利標準時間", "∅∅∅": "亞馬遜夏令時間", "ACST": "澳洲中部標準時間", "EAT": "東非時間", "EDT": "東部夏令時間", "CST": "中部標準時間", "HAST": "夏威夷-阿留申標準時間", "ACWST": "澳洲中西部標準時間", "CHADT": "查坦群島夏令時間", "IST": "印度標準時間", "AWST": "澳洲西部標準時間", "COST": "哥倫比亞夏令時間", "AKDT": "阿拉斯加夏令時間", "WESZ": "西歐夏令時間", "HEOG": "格陵蘭西部夏令時間", "MESZ": "中歐夏令時間", "HNEG": "格陵蘭東部標準時間", "HEPMX": "墨西哥太平洋夏令時間", "AKST": "阿拉斯加標準時間", "AWDT": "澳洲西部夏令時間", "TMT": "土庫曼標準時間", "SGT": "新加坡標準時間", "JDT": "日本夏令時間", "OEZ": "東歐標準時間", "ECT": "厄瓜多時間", "MDT": "澳門夏令時間", "EST": "東部標準時間", "ADT": "大西洋夏令時間", "CHAST": "查坦群島標準時間", "MEZ": "中歐標準時間", "WAST": "西非夏令時間", "WIT": "印尼東部時間", "HNOG": "格陵蘭西部標準時間", "NZDT": "紐西蘭夏令時間", "SAST": "南非標準時間", "HECU": "古巴夏令時間", "MYT": "馬來西亞時間", "UYT": "烏拉圭標準時間", "HEPM": "聖皮埃爾和密克隆群島夏令時間", "NZST": "紐西蘭標準時間", "AEST": "澳洲東部標準時間", "ChST": "查莫洛時間", "AST": "大西洋標準時間", "OESZ": "東歐夏令時間", "WARST": "阿根廷西部夏令時間", "HNPMX": "墨西哥太平洋標準時間", "CDT": "中部夏令時間", "HADT": "夏威夷-阿留申夏令時間", "HNT": "紐芬蘭標準時間", "CLST": "智利夏令時間", "BOT": "玻利維亞時間", "HAT": "紐芬蘭夏令時間", "HKST": "香港夏令時間", "GMT": "格林威治標準時間", "PST": "太平洋標準時間", "LHST": "豪勳爵島標準時間", "TMST": "土庫曼夏令時間"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hant) FmtAccounting(num float64, v uint64, currency currency.Type) s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hant) FmtAccounting(num float64, v uint64, currency currency.Type) b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hant) FmtAccounting(num float64, v uint64, currency currency.Type) } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh_Hant) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh_Hant) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh_Hant) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh_Hant) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hant_HK/zh_Hant_HK.go b/zh_Hant_HK/zh_Hant_HK.go index ec867bd18..e6313682c 100644 --- a/zh_Hant_HK/zh_Hant_HK.go +++ b/zh_Hant_HK/zh_Hant_HK.go @@ -55,7 +55,7 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyPositiveSuffix: "K", currencyNegativeSuffix: "K", monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, @@ -65,13 +65,13 @@ func New() locales.Translator { daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"", ""}, - periodsNarrow: []string{"", ""}, - periodsWide: []string{"", ""}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, erasAbbreviated: []string{"公元前", "公元"}, erasNarrow: []string{"", ""}, erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"∅∅∅": "秘鲁夏令时间", "CAT": "中部非洲时间", "ACWST": "澳大利亚中西部标准时间", "HNT": "纽芬兰标准时间", "GYT": "圭亞那時間", "COST": "哥伦比亚夏令时间", "AEST": "澳大利亚东部标准时间", "ARST": "阿根廷夏令时间", "EAT": "东部非洲时间", "SAST": "南非時間", "WAT": "西部非洲标准时间", "TMT": "土库曼斯坦标准时间", "BOT": "玻利维亚时间", "AEDT": "澳大利亚东部夏令时间", "ChST": "查莫罗时间", "UYST": "乌拉圭夏令时间", "JST": "日本标准时间", "HKST": "香港夏令时间", "CST": "北美中部標準時間", "MST": "北美山區標準時間", "MDT": "北美山區夏令時間", "BT": "不丹时间", "HKT": "香港标准时间", "MEZ": "中欧标准时间", "VET": "委内瑞拉时间", "CLT": "智利标准时间", "SRT": "蘇里南時間", "OEZ": "东欧标准时间", "WEZ": "西欧标准时间", "SGT": "新加坡時間", "COT": "哥伦比亚标准时间", "GFT": "法属圭亚那时间", "MESZ": "中欧夏令时间", "AKDT": "阿拉斯加夏令时间", "CDT": "中部夏令時間", "MYT": "马来西亚时间", "WIT": "印度尼西亚东部时间", "LHDT": "豪勋爵岛夏令时间", "OESZ": "东欧夏令时间", "HADT": "夏威夷-阿留申夏令时间", "WARST": "阿根廷西部夏令时间", "AST": "大西洋标准时间", "IST": "印度時間", "TMST": "土库曼斯坦夏令时间", "WESZ": "西欧夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "WITA": "印度尼西亚中部时间", "NZDT": "新西兰夏令时间", "AWST": "澳大利亚西部标准时间", "HAST": "夏威夷-阿留申标准时间", "ART": "阿根廷标准时间", "ADT": "大西洋夏令时间", "HAT": "纽芬兰夏令时间", "UYT": "乌拉圭标准时间", "JDT": "日本夏令时间", "CHAST": "查坦标准时间", "ECT": "厄瓜多爾時間", "WART": "阿根廷西部标准时间", "PST": "北美太平洋標準時間", "WAST": "西部非洲夏令时间", "EST": "北美東部標準時間", "AWDT": "澳大利亚西部夏令时间", "LHST": "豪勋爵岛标准时间", "EDT": "北美東部夏令時間", "NZST": "新西兰标准时间", "ACST": "澳大利亚中部标准时间", "ACDT": "澳大利亚中部夏令时间", "PDT": "北美太平洋夏令時間", "AKST": "阿拉斯加标准时间", "CLST": "智利夏令时间", "GMT": "格林尼治标准时间", "CHADT": "查坦夏令时间", "WIB": "印度尼西亚西部时间"}, + timezones: map[string]string{"MDT": "澳门夏令时间", "CST": "北美中部標準時間", "CHADT": "查坦夏令时间", "JDT": "日本夏令时间", "HEEG": "格陵兰岛东部夏令时间", "EAT": "东部非洲时间", "WAT": "西部非洲标准时间", "PST": "北美太平洋標準時間", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "LHDT": "豪勋爵岛夏令时间", "HNPMX": "墨西哥太平洋标准时间", "CDT": "中部夏令時間", "UYT": "乌拉圭标准时间", "UYST": "乌拉圭夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "SGT": "新加坡時間", "EST": "北美東部標準時間", "HADT": "夏威夷-阿留申夏令时间", "HKST": "香港夏令时间", "SAST": "南非時間", "JST": "日本标准时间", "WARST": "阿根廷西部夏令时间", "EDT": "北美東部夏令時間", "AKST": "阿拉斯加标准时间", "WIB": "印度尼西亚西部时间", "WIT": "印度尼西亚东部时间", "IST": "印度時間", "MYT": "马来西亚时间", "HNEG": "格陵兰岛东部标准时间", "HENOMX": "墨西哥西北部夏令时间", "COT": "哥伦比亚标准时间", "HEOG": "格陵兰岛西部夏令时间", "AEST": "澳大利亚东部标准时间", "ACST": "澳大利亚中部标准时间", "ACDT": "澳大利亚中部夏令时间", "CAT": "中部非洲时间", "HNOG": "格陵兰岛西部标准时间", "AWST": "澳大利亚西部标准时间", "CLST": "智利夏令时间", "HNNOMX": "墨西哥西北部标准时间", "NZDT": "新西兰夏令时间", "MEZ": "中欧标准时间", "GMT": "格林尼治标准时间", "ADT": "大西洋夏令时间", "SRT": "蘇里南時間", "BT": "不丹时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "HNCU": "古巴标准时间", "AST": "大西洋标准时间", "WESZ": "西欧夏令时间", "WAST": "西部非洲夏令时间", "ACWST": "澳大利亚中西部标准时间", "HNT": "纽芬兰标准时间", "WITA": "印度尼西亚中部时间", "CHAST": "查坦标准时间", "MESZ": "中欧夏令时间", "BOT": "玻利维亚标准时间", "HEPMX": "墨西哥太平洋夏令时间", "AKDT": "阿拉斯加夏令时间", "AWDT": "澳大利亚西部夏令时间", "AEDT": "澳大利亚东部夏令时间", "LHST": "豪勋爵岛标准时间", "ECT": "厄瓜多爾時間", "GYT": "圭亞那時間", "PDT": "北美太平洋夏令時間", "NZST": "新西兰标准时间", "TMST": "土库曼斯坦夏令时间", "COST": "哥伦比亚夏令时间", "ARST": "阿根廷夏令时间", "GFT": "法属圭亚那标准时间", "TMT": "土库曼斯坦标准时间", "∅∅∅": "亚速尔群岛夏令时间", "MST": "澳门标准时间", "HAST": "夏威夷-阿留申标准时间", "WEZ": "西欧标准时间", "ART": "阿根廷标准时间", "OEZ": "东欧标准时间", "HAT": "纽芬兰夏令时间", "CLT": "智利标准时间", "WART": "阿根廷西部标准时间", "HECU": "古巴夏令时间", "VET": "委内瑞拉时间", "HKT": "香港标准时间", "ChST": "查莫罗时间", "OESZ": "东欧夏令时间"}, } } @@ -349,7 +349,12 @@ func (zh *zh_Hant_HK) FmtDateShort(t time.Time) string { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -359,7 +364,12 @@ func (zh *zh_Hant_HK) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -374,7 +384,12 @@ func (zh *zh_Hant_HK) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -389,7 +404,12 @@ func (zh *zh_Hant_HK) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hant_MO/zh_Hant_MO.go b/zh_Hant_MO/zh_Hant_MO.go index d1bfd963e..1a406cb96 100644 --- a/zh_Hant_MO/zh_Hant_MO.go +++ b/zh_Hant_MO/zh_Hant_MO.go @@ -10,68 +10,64 @@ import ( ) type zh_Hant_MO struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hant_MO' locale func New() locales.Translator { return &zh_Hant_MO{ - locale: "zh_Hant_MO", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"HKT": "香港标准时间", "CHAST": "查坦标准时间", "ACST": "澳大利亚中部标准时间", "ART": "阿根廷标准时间", "PST": "北美太平洋标准时间", "PDT": "北美太平洋夏令时间", "TMST": "土库曼斯坦夏令时间", "GYT": "圭亚那时间", "HAT": "纽芬兰夏令时间", "OESZ": "东欧夏令时间", "WESZ": "西欧夏令时间", "ECT": "厄瓜多尔时间", "HAST": "夏威夷-阿留申标准时间", "WAT": "西部非洲标准时间", "AKST": "阿拉斯加标准时间", "AWST": "澳大利亚西部标准时间", "VET": "委内瑞拉时间", "WARST": "阿根廷西部夏令时间", "EST": "北美东部标准时间", "MST": "北美山区标准时间", "MYT": "马来西亚时间", "LHDT": "豪勋爵岛夏令时间", "UYT": "乌拉圭标准时间", "SRT": "苏里南时间", "SGT": "新加坡标准时间", "EDT": "北美东部夏令时间", "EAT": "东部非洲时间", "WAST": "西部非洲夏令时间", "COT": "哥伦比亚标准时间", "AEST": "澳大利亚东部标准时间", "IST": "印度时间", "UYST": "乌拉圭夏令时间", "∅∅∅": "巴西利亚夏令时间", "CHADT": "查坦夏令时间", "WIT": "印度尼西亚东部时间", "LHST": "豪勋爵岛标准时间", "MEZ": "中欧标准时间", "MESZ": "中欧夏令时间", "AEDT": "澳大利亚东部夏令时间", "AST": "大西洋标准时间", "JDT": "日本夏令时间", "WIB": "印度尼西亚西部时间", "HADT": "夏威夷-阿留申夏令时间", "WITA": "印度尼西亚中部时间", "CLST": "智利夏令时间", "JST": "日本标准时间", "OEZ": "东欧标准时间", "AKDT": "阿拉斯加夏令时间", "CAT": "中部非洲时间", "WEZ": "西欧标准时间", "ACWST": "澳大利亚中西部标准时间", "AWDT": "澳大利亚西部夏令时间", "HNT": "纽芬兰标准时间", "HKST": "香港夏令时间", "SAST": "南部非洲时间", "CST": "北美中部标准时间", "CDT": "北美中部夏令时间", "NZDT": "新西兰夏令时间", "ChST": "查莫罗时间", "BT": "不丹时间", "GMT": "格林尼治标准时间", "GFT": "法属圭亚那时间", "ACDT": "澳大利亚中部夏令时间", "ARST": "阿根廷夏令时间", "CLT": "智利标准时间", "ACWDT": "澳大利亚中西部夏令时间", "TMT": "土库曼斯坦标准时间", "MDT": "北美山区夏令时间", "NZST": "新西兰标准时间", "COST": "哥伦比亚夏令时间", "WART": "阿根廷西部标准时间", "ADT": "大西洋夏令时间", "BOT": "玻利维亚时间"}, + locale: "zh_Hant_MO", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP$", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"WARST": "阿根廷西部夏令时间", "MST": "澳门标准时间", "SRT": "苏里南时间", "ACST": "澳大利亚中部标准时间", "ACDT": "澳大利亚中部夏令时间", "UYT": "乌拉圭标准时间", "EDT": "北美东部夏令时间", "HAT": "纽芬兰夏令时间", "HEOG": "格陵兰岛西部夏令时间", "∅∅∅": "亚马逊夏令时间", "GFT": "法属圭亚那标准时间", "WAT": "西部非洲标准时间", "GMT": "格林尼治标准时间", "LHDT": "豪勋爵岛夏令时间", "OESZ": "东欧夏令时间", "SGT": "新加坡标准时间", "NZST": "新西兰标准时间", "CHADT": "查坦夏令时间", "JST": "日本标准时间", "EST": "北美东部标准时间", "AEST": "澳大利亚东部标准时间", "NZDT": "新西兰夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "HNOG": "格陵兰岛西部标准时间", "WITA": "印度尼西亚中部时间", "HNEG": "格陵兰岛东部标准时间", "OEZ": "东欧标准时间", "HNNOMX": "墨西哥西北部标准时间", "AKST": "阿拉斯加标准时间", "MDT": "澳门夏令时间", "CST": "北美中部标准时间", "ARST": "阿根廷夏令时间", "CHAST": "查坦标准时间", "MESZ": "中欧夏令时间", "WART": "阿根廷西部标准时间", "ADT": "大西洋夏令时间", "VET": "委内瑞拉时间", "ART": "阿根廷标准时间", "AEDT": "澳大利亚东部夏令时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "CLST": "智利夏令时间", "GYT": "圭亚那时间", "UYST": "乌拉圭夏令时间", "HAST": "夏威夷-阿留申标准时间", "HKT": "香港标准时间", "TMST": "土库曼斯坦夏令时间", "EAT": "东部非洲时间", "HNCU": "古巴标准时间", "ACWST": "澳大利亚中西部标准时间", "MEZ": "中欧标准时间", "LHST": "豪勋爵岛标准时间", "WAST": "西部非洲夏令时间", "COT": "哥伦比亚标准时间", "COST": "哥伦比亚夏令时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "WEZ": "西欧标准时间", "SAST": "南部非洲时间", "IST": "印度时间", "JDT": "日本夏令时间", "HEEG": "格陵兰岛东部夏令时间", "MYT": "马来西亚时间", "BT": "不丹时间", "WIT": "印度尼西亚东部时间", "HNT": "纽芬兰标准时间", "PDT": "北美太平洋夏令时间", "AWST": "澳大利亚西部标准时间", "ECT": "厄瓜多尔标准时间", "CAT": "中部非洲时间", "HECU": "古巴夏令时间", "CDT": "北美中部夏令时间", "ChST": "查莫罗时间", "BOT": "玻利维亚标准时间", "AST": "大西洋标准时间", "AWDT": "澳大利亚西部夏令时间", "TMT": "土库曼斯坦标准时间", "AKDT": "阿拉斯加夏令时间", "WIB": "印度尼西亚西部时间", "PST": "北美太平洋标准时间", "HADT": "夏威夷-阿留申夏令时间", "WESZ": "西欧夏令时间", "HKST": "香港夏令时间", "CLT": "智利标准时间", "HENOMX": "墨西哥西北部夏令时间", "HNPMX": "墨西哥太平洋标准时间", "HEPMX": "墨西哥太平洋夏令时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hant_MO) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hant_MO) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hant_MO) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh_Hant_MO) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh_Hant_MO) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh_Hant_MO) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh_Hant_MO) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zh_Hant_TW/zh_Hant_TW.go b/zh_Hant_TW/zh_Hant_TW.go index 5fd6a18fc..d0849d094 100644 --- a/zh_Hant_TW/zh_Hant_TW.go +++ b/zh_Hant_TW/zh_Hant_TW.go @@ -10,68 +10,64 @@ import ( ) type zh_Hant_TW struct { - locale string - pluralsCardinal []locales.PluralRule - pluralsOrdinal []locales.PluralRule - pluralsRange []locales.PluralRule - decimal string - group string - minus string - percent string - perMille string - timeSeparator string - inifinity string - currencies []string // idx = enum of currency code - currencyNegativePrefix string - currencyNegativeSuffix string - monthsAbbreviated []string - monthsNarrow []string - monthsWide []string - daysAbbreviated []string - daysNarrow []string - daysShort []string - daysWide []string - periodsAbbreviated []string - periodsNarrow []string - periodsShort []string - periodsWide []string - erasAbbreviated []string - erasNarrow []string - erasWide []string - timezones map[string]string + locale string + pluralsCardinal []locales.PluralRule + pluralsOrdinal []locales.PluralRule + pluralsRange []locales.PluralRule + decimal string + group string + minus string + percent string + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'zh_Hant_TW' locale func New() locales.Translator { return &zh_Hant_TW{ - locale: "zh_Hant_TW", - pluralsCardinal: []locales.PluralRule{6}, - pluralsOrdinal: []locales.PluralRule{6}, - pluralsRange: []locales.PluralRule{6}, - decimal: ".", - group: ",", - minus: "-", - percent: "%", - perMille: "‰", - timeSeparator: ":", - inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, - currencyNegativePrefix: "(", - currencyNegativeSuffix: ")", - monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, - monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, - monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, - daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, - daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, - daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, - periodsAbbreviated: []string{"上午", "下午"}, - periodsNarrow: []string{"上午", "下午"}, - periodsWide: []string{"上午", "下午"}, - erasAbbreviated: []string{"公元前", "公元"}, - erasNarrow: []string{"公元前", "公元"}, - erasWide: []string{"公元前", "公元"}, - timezones: map[string]string{"OESZ": "东欧夏令时间", "AEST": "澳大利亚东部标准时间", "AKDT": "阿拉斯加夏令时间", "EDT": "北美东部夏令时间", "TMST": "土库曼斯坦夏令时间", "CST": "北美中部标准时间", "CDT": "北美中部夏令时间", "JDT": "日本夏令时间", "HNT": "纽芬兰标准时间", "AWST": "澳大利亚西部标准时间", "ARST": "阿根廷夏令时间", "EST": "北美东部标准时间", "TMT": "土库曼斯坦标准时间", "ChST": "查莫罗时间", "LHDT": "豪勋爵岛夏令时间", "WEZ": "西欧标准时间", "ACST": "澳大利亚中部标准时间", "OEZ": "东欧标准时间", "PDT": "北美太平洋夏令时间", "WITA": "印度尼西亚中部时间", "CLST": "智利夏令时间", "WIT": "印度尼西亚东部时间", "LHST": "豪勋爵岛标准时间", "COST": "哥伦比亚夏令时间", "PST": "北美太平洋标准时间", "MST": "北美山区标准时间", "WESZ": "西欧夏令时间", "HKST": "香港夏令时间", "MEZ": "中欧标准时间", "ECT": "厄瓜多尔时间", "WIB": "印度尼西亚西部时间", "AST": "大西洋标准时间", "CAT": "中部非洲时间", "∅∅∅": "巴西利亚夏令时间", "NZDT": "新西兰夏令时间", "CLT": "智利标准时间", "ACWDT": "澳大利亚中西部夏令时间", "HAT": "纽芬兰夏令时间", "BOT": "玻利维亚时间", "MESZ": "中欧夏令时间", "AWDT": "澳大利亚西部夏令时间", "GMT": "格林尼治标准时间", "UYST": "乌拉圭夏令时间", "JST": "日本标准时间", "SGT": "新加坡标准时间", "VET": "委内瑞拉时间", "ADT": "大西洋夏令时间", "WAT": "西部非洲标准时间", "IST": "印度时间", "UYT": "乌拉圭标准时间", "NZST": "新西兰标准时间", "BT": "不丹时间", "GYT": "圭亚那时间", "COT": "哥伦比亚标准时间", "HAST": "夏威夷-阿留申标准时间", "WARST": "阿根廷西部夏令时间", "WAST": "西部非洲夏令时间", "CHAST": "查坦标准时间", "GFT": "法属圭亚那时间", "SRT": "苏里南时间", "HKT": "香港标准时间", "ACWST": "澳大利亚中西部标准时间", "AEDT": "澳大利亚东部夏令时间", "MYT": "马来西亚时间", "ACDT": "澳大利亚中部夏令时间", "WART": "阿根廷西部标准时间", "MDT": "北美山区夏令时间", "ART": "阿根廷标准时间", "AKST": "阿拉斯加标准时间", "HADT": "夏威夷-阿留申夏令时间", "EAT": "东部非洲时间", "SAST": "南部非洲时间", "CHADT": "查坦夏令时间"}, + locale: "zh_Hant_TW", + pluralsCardinal: []locales.PluralRule{6}, + pluralsOrdinal: []locales.PluralRule{6}, + pluralsRange: []locales.PluralRule{6}, + decimal: ".", + group: ",", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + monthsAbbreviated: []string{"", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}, + daysAbbreviated: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysNarrow: []string{"日", "一", "二", "三", "四", "五", "六"}, + daysShort: []string{"周日", "周一", "周二", "周三", "周四", "周五", "周六"}, + daysWide: []string{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}, + periodsAbbreviated: []string{"上午", "下午"}, + periodsNarrow: []string{"上午", "下午"}, + periodsWide: []string{"上午", "下午"}, + erasAbbreviated: []string{"公元前", "公元"}, + erasNarrow: []string{"公元前", "公元"}, + erasWide: []string{"公元前", "公元"}, + timezones: map[string]string{"AEST": "澳大利亚东部标准时间", "TMT": "土库曼斯坦标准时间", "AWST": "澳大利亚西部标准时间", "OEZ": "东欧标准时间", "WARST": "阿根廷西部夏令时间", "PDT": "北美太平洋夏令时间", "AKST": "阿拉斯加标准时间", "CST": "北美中部标准时间", "MYT": "马来西亚时间", "UYT": "乌拉圭标准时间", "AEDT": "澳大利亚东部夏令时间", "SGT": "新加坡标准时间", "HNPMX": "墨西哥太平洋标准时间", "HEPMX": "墨西哥太平洋夏令时间", "MESZ": "中欧夏令时间", "LHDT": "豪勋爵岛夏令时间", "CLST": "智利夏令时间", "HECU": "古巴夏令时间", "GMT": "格林尼治标准时间", "NZDT": "新西兰夏令时间", "ADT": "大西洋夏令时间", "HAST": "夏威夷-阿留申标准时间", "PST": "北美太平洋标准时间", "HNT": "纽芬兰标准时间", "CHADT": "查坦夏令时间", "TMST": "土库曼斯坦夏令时间", "COST": "哥伦比亚夏令时间", "GYT": "圭亚那时间", "UYST": "乌拉圭夏令时间", "HADT": "夏威夷-阿留申夏令时间", "IST": "印度时间", "ACST": "澳大利亚中部标准时间", "∅∅∅": "秘鲁夏令时间", "WIB": "印度尼西亚西部时间", "COT": "哥伦比亚标准时间", "EDT": "北美东部夏令时间", "VET": "委内瑞拉时间", "BT": "不丹时间", "HEOG": "格陵兰岛西部夏令时间", "WAT": "西部非洲标准时间", "WAST": "西部非洲夏令时间", "WART": "阿根廷西部标准时间", "WESZ": "西欧夏令时间", "HKST": "香港夏令时间", "CLT": "智利标准时间", "MDT": "澳门夏令时间", "SRT": "苏里南时间", "HNPM": "圣皮埃尔和密克隆群岛标准时间", "ECT": "厄瓜多尔标准时间", "HAT": "纽芬兰夏令时间", "HNOG": "格陵兰岛西部标准时间", "JDT": "日本夏令时间", "GFT": "法属圭亚那标准时间", "MST": "澳门标准时间", "LHST": "豪勋爵岛标准时间", "SAST": "南部非洲时间", "ACWST": "澳大利亚中西部标准时间", "ART": "阿根廷标准时间", "HKT": "香港标准时间", "AWDT": "澳大利亚西部夏令时间", "ChST": "查莫罗时间", "HNCU": "古巴标准时间", "EST": "北美东部标准时间", "AST": "大西洋标准时间", "WIT": "印度尼西亚东部时间", "WEZ": "西欧标准时间", "HEPM": "圣皮埃尔和密克隆群岛夏令时间", "NZST": "新西兰标准时间", "HNEG": "格陵兰岛东部标准时间", "HNNOMX": "墨西哥西北部标准时间", "HENOMX": "墨西哥西北部夏令时间", "AKDT": "阿拉斯加夏令时间", "ACWDT": "澳大利亚中西部夏令时间", "WITA": "印度尼西亚中部时间", "HEEG": "格陵兰岛东部夏令时间", "ACDT": "澳大利亚中部夏令时间", "EAT": "东部非洲时间", "CDT": "北美中部夏令时间", "OESZ": "东欧夏令时间", "CAT": "中部非洲时间", "CHAST": "查坦标准时间", "BOT": "玻利维亚标准时间", "ARST": "阿根廷夏令时间", "MEZ": "中欧标准时间", "JST": "日本标准时间"}, } } @@ -315,7 +311,7 @@ func (zh *zh_Hant_TW) FmtAccounting(num float64, v uint64, currency currency.Typ s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := zh.currencies[currency] - l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3 + l := len(s) + len(symbol) + 2 + 1*len(s[:len(s)-int(v)-1])/3 count := 0 inWhole := v == 0 b := make([]byte, 0, l) @@ -346,7 +342,7 @@ func (zh *zh_Hant_TW) FmtAccounting(num float64, v uint64, currency currency.Typ b = append(b, symbol[j]) } - b = append(b, zh.currencyNegativePrefix[0]) + b = append(b, zh.minus[0]) } else { @@ -372,10 +368,6 @@ func (zh *zh_Hant_TW) FmtAccounting(num float64, v uint64, currency currency.Typ } } - if num < 0 { - b = append(b, zh.currencyNegativeSuffix...) - } - return string(b) } @@ -384,7 +376,12 @@ func (zh *zh_Hant_TW) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0x2f}...) @@ -398,7 +395,12 @@ func (zh *zh_Hant_TW) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -413,7 +415,12 @@ func (zh *zh_Hant_TW) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) @@ -428,7 +435,12 @@ func (zh *zh_Hant_TW) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) - b = strconv.AppendInt(b, int64(t.Year()), 10) + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } + b = append(b, []byte{0xe5, 0xb9, 0xb4}...) b = strconv.AppendInt(b, int64(t.Month()), 10) b = append(b, []byte{0xe6, 0x9c, 0x88}...) diff --git a/zu/zu.go b/zu/zu.go index aca04584e..2debb9d44 100644 --- a/zu/zu.go +++ b/zu/zu.go @@ -55,12 +55,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "₪", "₹", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "R", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mas", "Eph", "Mey", "Jun", "Jul", "Aga", "Sep", "Okt", "Nov", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "E", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Januwari", "Februwari", "Mashi", "Ephreli", "Meyi", "Juni", "Julayi", "Agasti", "Septhemba", "Okthoba", "Novemba", "Disemba"}, + monthsWide: []string{"", "UMasingana", "Februwari", "Mashi", "Ephreli", "Meyi", "Juni", "Julayi", "Agasti", "Septhemba", "Okthoba", "Novemba", "Disemba"}, daysAbbreviated: []string{"Son", "Mso", "Bil", "Tha", "Sin", "Hla", "Mgq"}, daysNarrow: []string{"S", "M", "B", "T", "S", "H", "M"}, daysShort: []string{"Son", "Mso", "Bil", "Tha", "Sin", "Hla", "Mgq"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"BC", "AD"}, - timezones: map[string]string{"PDT": "isikhathi sase-North American Pacific sasemini", "ADT": "isikhathi sase-Atlantic sasemini", "TMST": "Isikhathi sehlobo sase-Turkmenistan", "ChST": "Isikhathi esijwayelekile sase-Chamorro", "GMT": "Isikhathi sase-Greenwich Mean", "HAST": "isikhathi sase-Hawaii-Aleutia esijwayelekile", "CHAST": "Isikhathi esivamile sase-Chatham", "EDT": "isikhathi sase-North American East sasemini", "MST": "isikhathi sase-North American Mountain esijwayelekile", "AWST": "I-Australian Western Standard Time", "OEZ": "Isikhathi esijwayelekile sase-Eastern Europe", "WEZ": "Isikhathi esijwayelekile sase-Western Europe", "AEST": "Isikhathi esivamile sase-Australian East", "EST": "isikhathi sase-North American East esijwayelekile", "WAST": "Isikhathi sasehlobo saseNtshonalanga Afrika", "UYST": "Isikhathi sase-Uruguay sasehlobo", "JST": "Isikhathi esivamile sase-Japan", "WARST": "Isikhathi saseNyakatho ne-Argentina sasehlobo", "NZDT": "Isikhathi sasemini sase-New Zealand", "WIB": "Isikhathi sase-Western Indonesia", "ACST": "esase-Austrilian Central Standard Time", "COST": "Isikhathi sase-Colombia sasehlobo", "AKST": "isikhathi sase-Alaska esijwayelekile", "WITA": "Isikhathi sase-Central Indonesia", "BT": "esase-Bhutan Time", "ACWDT": "Isikhathi sasemini sase-Australian Central West", "AEDT": "Isikhathi sasemini sase-Australian East", "PST": "isikhathi sase-North American Pacific esijwayelekile", "EAT": "Isikhathi saseMpumalanga Afrika", "WAT": "Isikhathi esijwayelekile saseNtshonalanga Afrika", "ACWST": "Isikhathi sase-Australian Central West esivamile", "HKST": "Isikhathi sehlobo sase-Hong Kong", "COT": "Isikhathi sase-Colombia esijwayelekile", "SRT": "Isikhathi sase-Suriname", "WESZ": "Isikhathi sasehlobo sase-Western Europe", "MESZ": "Isikhathi sasehlobo sase-Central Europe", "WART": "Isikhathi saseNyakatho ne-Argentina esijwayelekile", "SAST": "Isikhathi esijwayelekile saseNingizimu Afrika", "WIT": "Isikhathi sase-Eastern Indonesia", "LHST": "Isikhathi sase-Lord Howe esivamile", "JDT": "Isikhathi semini sase-Japan", "SGT": "Isikhathi esivamile sase-Singapore", "∅∅∅": "Isikhathi sase-Peru sasehlobo", "MYT": "Isikhathi sase-Malaysia", "CLT": "Isikhathi sase-Chile esijwayelekile", "UYT": "Isikhathi sase-Uruguay esijwayelekile", "HKT": "Isikhathi esivamile sase-Hong Kong", "IST": "esase-India Standard Time", "GYT": "Isikhathi sase-Guyana", "NZST": "Isikhathi esivamile sase-New Zealand", "CHADT": "Isikhathi semini sase-Chatham", "ARST": "Isikhathi sase-Argentina sasehlobo", "AWDT": "I-Australian Western Daylight Time", "MEZ": "Isikhathi esijwayelekile sase-Central Europe", "ACDT": "esase-Austrilian Central Daylight Time", "HADT": "isikhathi sase-Hawaii-Aleutia sasemini", "ART": "Isikhathi sase-Argentina esijwayelekile", "AKDT": "Isikhathi sase-Alaska sasemini", "HAT": "isikhathi sase-Newfoundland sasemini", "OESZ": "Isikhathi sasehlobo sase-Eastern Europe", "CST": "isikhathi sase-North American Central esijwayelekile", "MDT": "isikhathi sase-North American Mountain sasemini", "BOT": "Isikhathi sase-Bolivia", "CLST": "Isikhathi sase-Chile sasehlobo", "ECT": "Isikhathi sase-Ecuador", "AST": "isikhathi sase-Atlantic esijwayelekile", "HNT": "isikhathi sase-Newfoundland esijwayelekile", "VET": "Isikhathi sase-Venezuela", "TMT": "Isikhathi esivamile sase-Turkmenistan", "CDT": "isikhathi sase-North American Central sasemini", "CAT": "Isikhathi sase-Central Africa", "LHDT": "Isikhathi sase-Lord Howe sasemini", "GFT": "Isikhathi sase-French Guiana"}, + timezones: map[string]string{"GMT": "Isikhathi sase-Greenwich Mean", "ACWST": "Isikhathi sase-Australian Central West esivamile", "ARST": "Isikhathi sase-Argentina sasehlobo", "HNEG": "Isikhathi sase-East Greenland esijwayelekile", "ACST": "Isikhathi sase-Australian Central esivamile", "EAT": "Isikhathi saseMpumalanga Afrika", "HNPMX": "Isikhathi sase-Mexican Pacific esijwayelekile", "AWST": "Isikhathi sase-Australian Western esivamile", "SAST": "Isikhathi esijwayelekile saseNingizimu Afrika", "∅∅∅": "Isikhathi sase-Amazon sasehlobo", "AEST": "Isikhathi esivamile sase-Australian East", "WAT": "Isikhathi esijwayelekile saseNtshonalanga Afrika", "WIT": "Isikhathi sase-Eastern Indonesia", "AKDT": "Isikhathi sase-Alaska sasemini", "UYT": "Isikhathi sase-Uruguay esijwayelekile", "ACWDT": "Isikhathi sasemini sase-Australian Central West", "CHAST": "Isikhathi esivamile sase-Chatham", "AKST": "Isikhathi sase-Alaska esijwayelekile", "EST": "Isikhathi sase-North American East esijwayelekile", "WIB": "Isikhathi sase-Western Indonesia", "WESZ": "Isikhathi sasehlobo sase-Western Europe", "AWDT": "Isikhathi sase-Australian Western sasemini", "HKT": "Isikhathi esivamile sase-Hong Kong", "ACDT": "Isikhathi sase-Australian Central sasemini", "HENOMX": "Isikhathi sase-Northwest Mexico sasemini", "TMST": "Isikhathi sehlobo sase-Turkmenistan", "HAT": "Isikhathi sase-Newfoundland sasemini", "AEDT": "Isikhathi sasemini sase-Australian East", "HEEG": "Isikhathi sase-East Greenland sasemini", "CAT": "Isikhathi sase-Central Africa", "COST": "Isikhathi sase-Colombia sasehlobo", "HADT": "Isikhathi sase-Hawaii-Aleutia sasemini", "OEZ": "Isikhathi esijwayelekile sase-Eastern Europe", "COT": "Isikhathi sase-Colombia esijwayelekile", "AST": "Isikhathi sase-Atlantic esijwayelekile", "HAST": "Isikhathi sase-Hawaii-Aleutia esijwayelekile", "WEZ": "Isikhathi esijwayelekile sase-Western Europe", "HNT": "Isikhathi sase-Newfoundland esijwayelekile", "PDT": "Isikhathi sase-North American Pacific sasemini", "WITA": "Isikhathi sase-Central Indonesia", "NZST": "Isikhathi esivamile sase-New Zealand", "BOT": "Isikhathi sase-Bolivia", "HNNOMX": "Isikhathi sase-Northwest Mexico esijwayelekile", "ADT": "Isikhathi sase-Atlantic sasemini", "GYT": "Isikhathi sase-Guyana", "HEOG": "Isikhathi sase-West Greenland sasehlobo", "HKST": "Isikhathi sehlobo sase-Hong Kong", "HEPM": "Isikhathi sase-Saint Pierre nase-Miquelon sasemini", "TMT": "Isikhathi esivamile sase-Turkmenistan", "WAST": "Isikhathi sasehlobo saseNtshonalanga Afrika", "SGT": "Isikhathi esivamile sase-Singapore", "HEPMX": "Isikhathi sase-Mexican Pacific sasemini", "CST": "Isikhathi sase-North American Central esijwayelekile", "MYT": "Isikhathi sase-Malaysia", "NZDT": "Isikhathi sasemini sase-New Zealand", "ECT": "Isikhathi sase-Ecuador", "WART": "Isikhathi saseNyakatho ne-Argentina esijwayelekile", "WARST": "Isikhathi saseNyakatho ne-Argentina sasehlobo", "MST": "MST", "MEZ": "Isikhathi esijwayelekile sase-Central Europe", "CLST": "Isikhathi sase-Chile sasehlobo", "CHADT": "Isikhathi sasemini sase-Chatham", "UYST": "Isikhathi sase-Uruguay sasehlobo", "LHST": "Isikhathi sase-Lord Howe esivamile", "LHDT": "Isikhathi sase-Lord Howe sasemini", "CLT": "Isikhathi sase-Chile esijwayelekile", "JDT": "Isikhathi semini sase-Japan", "GFT": "Isikhathi sase-French Guiana", "OESZ": "Isikhathi sasehlobo sase-Eastern Europe", "HNCU": "Isikhathi sase-Cuba esijwayelekile", "VET": "Isikhathi sase-Venezuela", "MESZ": "Isikhathi sasehlobo sase-Central Europe", "IST": "Isikhathi sase-India esivamile", "HNPM": "Iikhathi sase-Saint Pierre nase-Miquelon esijwayelekile", "HECU": "Isikhathi sase-Cuba sasemini", "MDT": "MDT", "EDT": "Isikhathi sase-North American East sasemini", "BT": "Isikhathi sase-Bhutan", "JST": "Isikhathi esivamile sase-Japan", "ChST": "Isikhathi esijwayelekile sase-Chamorro", "ART": "Isikhathi sase-Argentina esijwayelekile", "HNOG": "Isikhathi sase-West Greenland esijwayelekile", "PST": "Isikhathi sase-North American Pacific esijwayelekile", "CDT": "Isikhathi sase-North American Central sasemini", "SRT": "Isikhathi sase-Suriname"}, } } @@ -426,7 +426,12 @@ func (zu *zu) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -440,7 +445,12 @@ func (zu *zu) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +466,12 @@ func (zu *zu) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,13 +481,11 @@ func (zu *zu) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -480,13 +493,6 @@ func (zu *zu) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } return string(b) } @@ -496,13 +502,11 @@ func (zu *zu) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -517,13 +521,6 @@ func (zu *zu) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } return string(b) } @@ -533,13 +530,11 @@ func (zu *zu) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -556,14 +551,6 @@ func (zu *zu) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -575,13 +562,11 @@ func (zu *zu) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -598,14 +583,6 @@ func (zu *zu) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := zu.timezones[tz]; ok { diff --git a/zu_ZA/zu_ZA.go b/zu_ZA/zu_ZA.go index 1d72c40c8..7c2ea518b 100644 --- a/zu_ZA/zu_ZA.go +++ b/zu_ZA/zu_ZA.go @@ -55,12 +55,12 @@ func New() locales.Translator { perMille: "‰", timeSeparator: ":", inifinity: "∞", - currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, currencyNegativePrefix: "(", currencyNegativeSuffix: ")", monthsAbbreviated: []string{"", "Jan", "Feb", "Mas", "Eph", "Mey", "Jun", "Jul", "Aga", "Sep", "Okt", "Nov", "Dis"}, monthsNarrow: []string{"", "J", "F", "M", "E", "M", "J", "J", "A", "S", "O", "N", "D"}, - monthsWide: []string{"", "Januwari", "Februwari", "Mashi", "Ephreli", "Meyi", "Juni", "Julayi", "Agasti", "Septhemba", "Okthoba", "Novemba", "Disemba"}, + monthsWide: []string{"", "UMasingana", "Februwari", "Mashi", "Ephreli", "Meyi", "Juni", "Julayi", "Agasti", "Septhemba", "Okthoba", "Novemba", "Disemba"}, daysAbbreviated: []string{"Son", "Mso", "Bil", "Tha", "Sin", "Hla", "Mgq"}, daysNarrow: []string{"S", "M", "B", "T", "S", "H", "M"}, daysShort: []string{"Son", "Mso", "Bil", "Tha", "Sin", "Hla", "Mgq"}, @@ -71,7 +71,7 @@ func New() locales.Translator { erasAbbreviated: []string{"BC", "AD"}, erasNarrow: []string{"", ""}, erasWide: []string{"BC", "AD"}, - timezones: map[string]string{"MESZ": "Isikhathi sasehlobo sase-Central Europe", "HADT": "isikhathi sase-Hawaii-Aleutia sasemini", "NZDT": "Isikhathi sasemini sase-New Zealand", "BOT": "Isikhathi sase-Bolivia", "CLT": "Isikhathi sase-Chile esijwayelekile", "LHDT": "Isikhathi sase-Lord Howe sasemini", "ADT": "isikhathi sase-Atlantic sasemini", "TMST": "Isikhathi sehlobo sase-Turkmenistan", "MDT": "isikhathi sase-North American Mountain sasemini", "WARST": "Isikhathi saseNyakatho ne-Argentina sasehlobo", "PST": "isikhathi sase-North American Pacific esijwayelekile", "JST": "Isikhathi esivamile sase-Japan", "AEST": "Isikhathi esivamile sase-Australian East", "UYT": "Isikhathi sase-Uruguay esijwayelekile", "WESZ": "Isikhathi sasehlobo sase-Western Europe", "WIB": "Isikhathi sase-Western Indonesia", "ACWST": "Isikhathi sase-Australian Central West esivamile", "AST": "isikhathi sase-Atlantic esijwayelekile", "SAST": "Isikhathi esijwayelekile saseNingizimu Afrika", "HAT": "isikhathi sase-Newfoundland sasemini", "GMT": "Isikhathi sase-Greenwich Mean", "PDT": "isikhathi sase-North American Pacific sasemini", "NZST": "Isikhathi esivamile sase-New Zealand", "HNT": "isikhathi sase-Newfoundland esijwayelekile", "AEDT": "Isikhathi sasemini sase-Australian East", "EAT": "Isikhathi saseMpumalanga Afrika", "WITA": "Isikhathi sase-Central Indonesia", "TMT": "Isikhathi esivamile sase-Turkmenistan", "CLST": "Isikhathi sase-Chile sasehlobo", "VET": "Isikhathi sase-Venezuela", "JDT": "Isikhathi semini sase-Japan", "CHAST": "Isikhathi esivamile sase-Chatham", "OESZ": "Isikhathi sasehlobo sase-Eastern Europe", "ACWDT": "Isikhathi sasemini sase-Australian Central West", "AKST": "isikhathi sase-Alaska esijwayelekile", "CAT": "Isikhathi sase-Central Africa", "SRT": "Isikhathi sase-Suriname", "CHADT": "Isikhathi semini sase-Chatham", "MEZ": "Isikhathi esijwayelekile sase-Central Europe", "MYT": "Isikhathi sase-Malaysia", "BT": "esase-Bhutan Time", "AWDT": "I-Australian Western Daylight Time", "AKDT": "Isikhathi sase-Alaska sasemini", "WAT": "Isikhathi esijwayelekile saseNtshonalanga Afrika", "∅∅∅": "Isikhathi sase-Brasilia sasehlobo", "ARST": "Isikhathi sase-Argentina sasehlobo", "ACST": "esase-Austrilian Central Standard Time", "COST": "Isikhathi sase-Colombia sasehlobo", "EDT": "isikhathi sase-North American East sasemini", "WAST": "Isikhathi sasehlobo saseNtshonalanga Afrika", "WIT": "Isikhathi sase-Eastern Indonesia", "HKT": "Isikhathi esivamile sase-Hong Kong", "CDT": "isikhathi sase-North American Central sasemini", "MST": "isikhathi sase-North American Mountain esijwayelekile", "GFT": "Isikhathi sase-French Guiana", "WART": "Isikhathi saseNyakatho ne-Argentina esijwayelekile", "ECT": "Isikhathi sase-Ecuador", "HAST": "isikhathi sase-Hawaii-Aleutia esijwayelekile", "OEZ": "Isikhathi esijwayelekile sase-Eastern Europe", "WEZ": "Isikhathi esijwayelekile sase-Western Europe", "IST": "esase-India Standard Time", "CST": "isikhathi sase-North American Central esijwayelekile", "GYT": "Isikhathi sase-Guyana", "ACDT": "esase-Austrilian Central Daylight Time", "ART": "Isikhathi sase-Argentina esijwayelekile", "EST": "isikhathi sase-North American East esijwayelekile", "ChST": "Isikhathi esijwayelekile sase-Chamorro", "AWST": "I-Australian Western Standard Time", "COT": "Isikhathi sase-Colombia esijwayelekile", "HKST": "Isikhathi sehlobo sase-Hong Kong", "SGT": "Isikhathi esivamile sase-Singapore", "LHST": "Isikhathi sase-Lord Howe esivamile", "UYST": "Isikhathi sase-Uruguay sasehlobo"}, + timezones: map[string]string{"ART": "Isikhathi sase-Argentina esijwayelekile", "AEST": "Isikhathi esivamile sase-Australian East", "EDT": "Isikhathi sase-North American East sasemini", "GYT": "Isikhathi sase-Guyana", "AST": "Isikhathi sase-Atlantic esijwayelekile", "WESZ": "Isikhathi sasehlobo sase-Western Europe", "SRT": "Isikhathi sase-Suriname", "MYT": "Isikhathi sase-Malaysia", "AKDT": "Isikhathi sase-Alaska sasemini", "ADT": "Isikhathi sase-Atlantic sasemini", "HAST": "Isikhathi sase-Hawaii-Aleutia esijwayelekile", "∅∅∅": "Isikhathi sase-Amazon sasehlobo", "EAT": "Isikhathi saseMpumalanga Afrika", "MST": "MST", "MDT": "MDT", "WITA": "Isikhathi sase-Central Indonesia", "MESZ": "Isikhathi sasehlobo sase-Central Europe", "GFT": "Isikhathi sase-French Guiana", "CST": "Isikhathi sase-North American Central esijwayelekile", "SAST": "Isikhathi esijwayelekile saseNingizimu Afrika", "ChST": "Isikhathi esijwayelekile sase-Chamorro", "WAST": "Isikhathi sasehlobo saseNtshonalanga Afrika", "HNPMX": "Isikhathi sase-Mexican Pacific esijwayelekile", "AEDT": "Isikhathi sasemini sase-Australian East", "OESZ": "Isikhathi sasehlobo sase-Eastern Europe", "HKT": "Isikhathi esivamile sase-Hong Kong", "CHADT": "Isikhathi sasemini sase-Chatham", "MEZ": "Isikhathi esijwayelekile sase-Central Europe", "CLT": "Isikhathi sase-Chile esijwayelekile", "CAT": "Isikhathi sase-Central Africa", "UYT": "Isikhathi sase-Uruguay esijwayelekile", "HNPM": "Iikhathi sase-Saint Pierre nase-Miquelon esijwayelekile", "HEPM": "Isikhathi sase-Saint Pierre nase-Miquelon sasemini", "HNEG": "Isikhathi sase-East Greenland esijwayelekile", "HNNOMX": "Isikhathi sase-Northwest Mexico esijwayelekile", "PST": "Isikhathi sase-North American Pacific esijwayelekile", "PDT": "Isikhathi sase-North American Pacific sasemini", "WIB": "Isikhathi sase-Western Indonesia", "ACWDT": "Isikhathi sasemini sase-Australian Central West", "HENOMX": "Isikhathi sase-Northwest Mexico sasemini", "SGT": "Isikhathi esivamile sase-Singapore", "EST": "Isikhathi sase-North American East esijwayelekile", "CDT": "Isikhathi sase-North American Central sasemini", "WIT": "Isikhathi sase-Eastern Indonesia", "HEOG": "Isikhathi sase-West Greenland sasehlobo", "WEZ": "Isikhathi esijwayelekile sase-Western Europe", "NZST": "Isikhathi esivamile sase-New Zealand", "CLST": "Isikhathi sase-Chile sasehlobo", "TMT": "Isikhathi esivamile sase-Turkmenistan", "WAT": "Isikhathi esijwayelekile saseNtshonalanga Afrika", "COST": "Isikhathi sase-Colombia sasehlobo", "VET": "Isikhathi sase-Venezuela", "HKST": "Isikhathi sehlobo sase-Hong Kong", "JST": "Isikhathi esivamile sase-Japan", "ECT": "Isikhathi sase-Ecuador", "HECU": "Isikhathi sase-Cuba sasemini", "AKST": "Isikhathi sase-Alaska esijwayelekile", "CHAST": "Isikhathi esivamile sase-Chatham", "IST": "Isikhathi sase-India esivamile", "TMST": "Isikhathi sehlobo sase-Turkmenistan", "WART": "Isikhathi saseNyakatho ne-Argentina esijwayelekile", "GMT": "Isikhathi sase-Greenwich Mean", "HNT": "Isikhathi sase-Newfoundland esijwayelekile", "BT": "Isikhathi sase-Bhutan", "LHDT": "Isikhathi sase-Lord Howe sasemini", "BOT": "Isikhathi sase-Bolivia", "ACDT": "Isikhathi sase-Australian Central sasemini", "WARST": "Isikhathi saseNyakatho ne-Argentina sasehlobo", "UYST": "Isikhathi sase-Uruguay sasehlobo", "COT": "Isikhathi sase-Colombia esijwayelekile", "ACWST": "Isikhathi sase-Australian Central West esivamile", "ARST": "Isikhathi sase-Argentina sasehlobo", "AWST": "Isikhathi sase-Australian Western esivamile", "HNCU": "Isikhathi sase-Cuba esijwayelekile", "HEPMX": "Isikhathi sase-Mexican Pacific sasemini", "HADT": "Isikhathi sase-Hawaii-Aleutia sasemini", "HNOG": "Isikhathi sase-West Greenland esijwayelekile", "JDT": "Isikhathi semini sase-Japan", "HEEG": "Isikhathi sase-East Greenland sasemini", "ACST": "Isikhathi sase-Australian Central esivamile", "OEZ": "Isikhathi esijwayelekile sase-Eastern Europe", "HAT": "Isikhathi sase-Newfoundland sasemini", "AWDT": "Isikhathi sase-Australian Western sasemini", "LHST": "Isikhathi sase-Lord Howe esivamile", "NZDT": "Isikhathi sasemini sase-New Zealand"}, } } @@ -426,7 +426,12 @@ func (zu *zu_ZA) FmtDateMedium(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -440,7 +445,12 @@ func (zu *zu_ZA) FmtDateLong(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -456,7 +466,12 @@ func (zu *zu_ZA) FmtDateFull(t time.Time) string { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Day()), 10) b = append(b, []byte{0x2c, 0x20}...) - b = strconv.AppendInt(b, int64(t.Year()), 10) + + if t.Year() > 0 { + b = strconv.AppendInt(b, int64(t.Year()), 10) + } else { + b = strconv.AppendInt(b, int64(t.Year()*-1), 10) + } return string(b) } @@ -466,13 +481,11 @@ func (zu *zu_ZA) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -480,13 +493,6 @@ func (zu *zu_ZA) FmtTimeShort(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Minute()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } return string(b) } @@ -496,13 +502,11 @@ func (zu *zu_ZA) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -517,13 +521,6 @@ func (zu *zu_ZA) FmtTimeMedium(t time.Time) string { } b = strconv.AppendInt(b, int64(t.Second()), 10) - b = append(b, []byte{0x20}...) - - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } return string(b) } @@ -533,13 +530,11 @@ func (zu *zu_ZA) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -556,14 +551,6 @@ func (zu *zu_ZA) FmtTimeLong(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() b = append(b, tz...) @@ -575,13 +562,11 @@ func (zu *zu_ZA) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) - h := t.Hour() - - if h > 12 { - h -= 12 + if t.Hour() < 10 { + b = append(b, '0') } - b = strconv.AppendInt(b, int64(h), 10) + b = strconv.AppendInt(b, int64(t.Hour()), 10) b = append(b, zu.timeSeparator...) if t.Minute() < 10 { @@ -598,14 +583,6 @@ func (zu *zu_ZA) FmtTimeFull(t time.Time) string { b = strconv.AppendInt(b, int64(t.Second()), 10) b = append(b, []byte{0x20}...) - if t.Hour() < 12 { - b = append(b, zu.periodsAbbreviated[0]...) - } else { - b = append(b, zu.periodsAbbreviated[1]...) - } - - b = append(b, []byte{0x20}...) - tz, _ := t.Zone() if btz, ok := zu.timezones[tz]; ok {